80,350
社区成员
发帖
与我相关
我的任务
分享
public String CallWebService (String MethodName, Map<String, String> Params) {
// 1、指定webservice的命名空间和调用的方法名
SoapObject request = new SoapObject(Namespace, MethodName);
// 2、设置调用方法的参数值,如果没有参数,可以省略,
if (Params != null) {
Iterator iter = Params.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
request.addProperty((String) entry.getKey(),
(String) entry.getValue());
}
}
//3、生成调用Webservice方法的SOAP请求信息。该信息由SoapSerializationEnvelope对象描述
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER12);
envelope.bodyOut = request;
// c#写的应用程序必须加上这句
envelope.dotNet = true;
//envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(WEB_SERVICE_URL);
System.out.println("*ht*"+ht+"*envelope*"+envelope);
// 使用call方法调用WebService方法
try {
ht.call(null, envelope);
} catch (HttpResponseException e) {
e.printStackTrace();
Log.e("----发生错误1---", e.getMessage());
} catch (IOException e) {
e.printStackTrace();
Log.e("----发生错误2---", e.getMessage());
} catch (XmlPullParserException e) {
e.printStackTrace();
Log.e("----发生错误3---", e.getMessage());
}
try {
//final
SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
if (result != null) {
Log.d("----收到的回复----", result.toString());
return result.toString();
}
} catch (SoapFault e) {
Log.e("----发生错误4---", e.getMessage());
e.printStackTrace();
}
return null;
}
08-15 09:58:38.030: V/EditText(5401): abortBroadcast simscan action now. path=/data/app/com.bang.testwebservicecall-1.apk
08-15 09:58:38.540: I/System.out(5401): 3-20140731143330970扫描配送单2800
08-15 09:58:38.550: I/System.out(5401): htorg.ksoap2.transport.HttpTransportSE@41a4da28envelopeorg.ksoap2.serialization.SoapSerializationEnvelope@419eb3e0
08-15 09:58:38.570: D/dalvikvm(5401): GC_FOR_ALLOC freed 30K, 14% free 11638K/13447K, paused 17ms, total 18ms
08-15 09:58:38.580: W/IInputConnectionWrapper(5401): clearMetaKeyStates on inactive InputConnection
08-15 09:58:38.640: W/System.err(5401): java.net.SocketException: sendto failed: ECONNRESET (Connection reset by peer)
08-15 09:58:38.640: W/System.err(5401): at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:506)
08-15 09:58:38.640: W/IInputConnectionWrapper(5401): clearMetaKeyStates on inactive InputConnection
08-15 09:58:38.640: W/System.err(5401): at libcore.io.IoBridge.sendto(IoBridge.java:475)
08-15 09:58:38.640: W/System.err(5401): at java.net.PlainSocketImpl.write(PlainSocketImpl.java:508)
08-15 09:58:38.640: W/System.err(5401): at java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46)
08-15 09:58:38.640: W/System.err(5401): at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:270)
08-15 09:58:38.640: W/System.err(5401): at java.io.BufferedOutputStream.flushInternal(BufferedOutputStream.java:185)
08-15 09:58:38.640: W/IInputConnectionWrapper(5401): clearMetaKeyStates on inactive InputConnection
08-15 09:58:38.640: W/System.err(5401): at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:85)
08-15 09:58:38.640: W/System.err(5401): at libcore.net.http.FixedLengthOutputStream.flush(FixedLengthOutputStream.java:49)
08-15 09:58:38.640: W/IInputConnectionWrapper(5401): clearMetaKeyStates on inactive InputConnection
08-15 09:58:38.640: W/System.err(5401): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:188)
08-15 09:58:38.640: W/System.err(5401): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118)
08-15 09:58:38.640: W/System.err(5401): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:113)
08-15 09:58:38.640: W/System.err(5401): at com.bang.testwebservicecall.WorkActivity.CallWebService(WorkActivity.java:262)
08-15 09:58:38.640: W/System.err(5401): at com.bang.testwebservicecall.WorkActivity$6.doInBackground(WorkActivity.java:301)
08-15 09:58:38.640: W/System.err(5401): at com.bang.testwebservicecall.WorkActivity$6.doInBackground(WorkActivity.java:1)
08-15 09:58:38.640: W/System.err(5401): at android.os.AsyncTask$2.call(AsyncTask.java:287)
08-15 09:58:38.640: W/System.err(5401): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-15 09:58:38.640: W/System.err(5401): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-15 09:58:38.650: W/System.err(5401): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
08-15 09:58:38.650: W/System.err(5401): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-15 09:58:38.650: W/System.err(5401): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
08-15 09:58:38.650: W/System.err(5401): at java.lang.Thread.run(Thread.java:856)
08-15 09:58:38.650: W/System.err(5401): Caused by: libcore.io.ErrnoException: sendto failed: ECONNRESET (Connection reset by peer)
08-15 09:58:38.650: W/System.err(5401): at libcore.io.Posix.sendtoBytes(Native Method)
08-15 09:58:38.650: W/System.err(5401): at libcore.io.Posix.sendto(Posix.java:146)
08-15 09:58:38.650: W/System.err(5401): at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177)
08-15 09:58:38.650: W/System.err(5401): at libcore.io.IoBridge.sendto(IoBridge.java:473)
08-15 09:58:38.650: W/System.err(5401): ... 19 more
08-15 09:58:38.650: E/----发生错误2---(5401): sendto failed: ECONNRESET (Connection reset by peer)
08-15 09:58:38.650: W/dalvikvm(5401): threadid=12: thread exiting with uncaught exception (group=0x40e50438)
08-15 09:58:38.660: E/AndroidRuntime(5401): FATAL EXCEPTION: AsyncTask #2
08-15 09:58:38.660: E/AndroidRuntime(5401): java.lang.RuntimeException: An error occured while executing doInBackground()
08-15 09:58:38.660: E/AndroidRuntime(5401): at android.os.AsyncTask$3.done(AsyncTask.java:299)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-15 09:58:38.660: E/AndroidRuntime(5401): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.lang.Thread.run(Thread.java:856)
08-15 09:58:38.660: E/AndroidRuntime(5401): Caused by: java.lang.NullPointerException
08-15 09:58:38.660: E/AndroidRuntime(5401): at org.ksoap2.serialization.SoapSerializationEnvelope.getResponse(SoapSerializationEnvelope.java:521)
08-15 09:58:38.660: E/AndroidRuntime(5401): at com.bang.testwebservicecall.WorkActivity.CallWebService(WorkActivity.java:276)
08-15 09:58:38.660: E/AndroidRuntime(5401): at com.bang.testwebservicecall.WorkActivity$6.doInBackground(WorkActivity.java:301)
08-15 09:58:38.660: E/AndroidRuntime(5401): at com.bang.testwebservicecall.WorkActivity$6.doInBackground(WorkActivity.java:1)
08-15 09:58:38.660: E/AndroidRuntime(5401): at android.os.AsyncTask$2.call(AsyncTask.java:287)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-15 09:58:38.660: E/AndroidRuntime(5401): ... 5 more