W/System.err: java.lang.IllegalArgumentException: Buffer size <= 0
at java.io.BufferedInputStream.<init>(BufferedInputStream.java:203)
at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:251)
at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118)
W/System.err: at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:113)
at com.nsz.Nadfinlo.SQL$3.run(SQL.java:130)
at java.lang.Thread.run(Thread.java:784)
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xc in tid 23292 (Thread-8), pid 23197 (om.nsz.Nadfinlo)
我是将 String nameSpace = "http://tempuri.org/"; 配成 String nameSpace = "10.0.0.164” 了。
正确example:
public void getRemoteInfo( String PartNum ) { // 命名空间 String nameSpace = "http://tempuri.org/"; // 调用的方法名称 String methodName = "insertCargoInfo"; // EndPoint final String endPoint = "http://10.0.0.164:80/Service1.asmx"; // SOAP Action final String soapAction = "http://tempuri.org/insertCargoInfo"; // 指定WebService的命名空间和调用的方法名 final SoapObject rpc = new SoapObject(nameSpace, methodName); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM");//设置日期格式 // 设置需调用WebService接口需要传入的两个参数mobileCode、userId rpc.addProperty("ScanNo", Main2Activity.tvResult.getText().toString() ); rpc.addProperty("PartNum", PartNum); rpc.addProperty("ScanTime", df.format(new Date())); rpc.addProperty("Site", Main2Activity.tv.getText().toString()); // rpc.addProperty("userId", ""); // 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本 final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10); // envelope.bodyOUt = rpc; envelope.bodyOut = rpc; // 设置是否调用的是dotNet开发的WebService envelope.dotNet = true; Runnable run = new Runnable() { @Override public void run() { // 等价于envelope.bodyOut = rpc; envelope.setOutputSoapObject(rpc); HttpTransportSE transport = new HttpTransportSE(endPoint); try { // 调用WebService / transport.call(soapAction, envelope); } catch (Exception e) { e.printStackTrace(); } // 获取返回的数据 String result = ""; // String object = (String) envelope.bodyIn; if(envelope.bodyIn instanceof SoapFault) { // result=ErrorTools.GetErrorResult(errorCode.netConnectError.toString(),SysConfig.serverError); result= "error"; } else { SoapObject object = (SoapObject) envelope.bodyIn; result = object.getProperty("insertCargoInfoResult").toString(); } // 获取返回的结果 // String result = object.getProperty("insertCargoInfoResult").toString(); Message msg = new Message(); msg.what=1002; Bundle data = new Bundle(); data.putString("result00", result); msg.setData(data); mHandler00.sendMessage(msg); / 将WebService返回的结果显示在TextView中 // tvTestResult.setText(object); }}; new Thread(run).start(); }