Java Android ksoap web服务问题获取PullParseRexception
我正在使用ksoap2使用.net web服务,但出现以下异常: org.xmlpull.v1.XmlPullParserException:意外类型(位置:END_DOCUMENTnull@1:1在java.io中。InputStreamReader@412caa08)` 我的请求转储与我需要的相同,但是我没有得到响应转储,它是空的。我正在努力,但也有同样的错误。请有人帮我。我的代码如下-Java Android ksoap web服务问题获取PullParseRexception,java,android,soap,wsdl,ksoap,Java,Android,Soap,Wsdl,Ksoap,我正在使用ksoap2使用.net web服务,但出现以下异常: org.xmlpull.v1.XmlPullParserException:意外类型(位置:END_DOCUMENTnull@1:1在java.io中。InputStreamReader@412caa08)` 我的请求转储与我需要的相同,但是我没有得到响应转储,它是空的。我正在努力,但也有同样的错误。请有人帮我。我的代码如下- public class Login extends Activity { private final
public class Login extends Activity {
private final String NAMESPACE = "http://xyz.public/imageupload/1.0/";
private final String URL = "http://public.service.xyz.com/ImageUpload.svc";
private final String SOAP_ACTION = "http://xyz.public/imageupload/1.0/Services/Authentication";
private final String METHOD_NAME = "Authentication";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
}
SoapSerializationEnvelope envelope = null;
SoapObject request = null;
HttpTransportSE httpTransportSE = null;
try {
request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("userId", "admin");
request.addProperty("password", "password");
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
envelope.dotNet = true;
envelope.encodingStyle = SoapSerializationEnvelope.ENC;
/**
* below code for custom header
*/
Element actionElement = new Element().createElement(null,
"d:Action");
actionElement.setAttribute("", "s:mustUnderstand", "1");
actionElement.addChild(Node.TEXT, SOAP_ACTION);
Element toElement = new Element().createElement(null, "d:To");
toElement.setAttribute("", "s:mustUnderstand", "1");
toElement.addChild(Node.TEXT, URL);
Element[] header = { actionElement,toElement };
envelope.headerOut = header;
envelope.env = "http://schemas.xmlsoap.org/soap/envelope/";
/**
* Custom header part end
*/
envelope.setOutputSoapObject(request);
httpTransportSE = new HttpTransportSE(URL);
httpTransportSE.debug = true;
httpTransportSE.call(SOAP_ACTION, envelope);
SoapObject result = (SoapObject) envelope.getResponse();
// To get the data.
String textResult = result.toString();
Log.i("textResult", textResult);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
Log.e("Exception:", e.toString());
}
finally {
Log.i(getClass().getSimpleName(), "requestDump : "+ httpTransportSE.requestDump);
Log.i(getClass().getSimpleName(), "responseDump : "+ httpTransportSE.responseDump);
}
}
}
你使用安卓模拟器吗?您使用的KSOAP版本是什么?我使用android emulator和android设备,但在这两种情况下错误都是相同的,我使用的是相同的web服务,我得到的是有效的响应。KSOAP版本是最新的2.5.8,我已经尝试了2.1.ksoap2版本的所有版本。2.6.5? 如果是,则更改为旧版本(2.5.2/3/4)。这个版本有bugsver。is 2.5,我也尝试过2.1,但不适用于我。。