我想我的界面的Android应用程序与我的SOAP Web服务,我得到意想不到的效果...Android和SOAP的Webservice
SOAP服务工作正常,他们已经用了SoapUI测试,WSDL是有效的。 我使用ksoap2库版本1.6.1
这里是我的调用代码:
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("prop1", 1);
request.addProperty("prop2", "FR");
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug = true;
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject objetSOAP = (SoapObject)envelope.getResponse();
Log.e("TESTSOAP", objetSOAP.getProperty(0).toString());
}
catch (Exception e){
Log.i("androidHttpTransport.requestDump", androidHttpTransport.requestDump);
e.printStackTrace();
Log.i("androidHttpTransport.responseDump", androidHttpTransport.responseDump);
}
我得到了一个异常的 “呼” 的方法,就是至极:
03-13 17:31:05.791: W/System.err(6020): at 03-13 17:30:19.901: W/System.err(5976): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG .... @2:402 in [email protected])
什么奇怪的是,如果我使用requestDump来获取SoapUI中发送的信封来尝试它,它的工作原理非常好。我得到了预期的结果。但responseDump实际上是将我的wsdl文件返回给我,而不是结果。就像如果wsdl被称为罚款,但不是我想要调用的方法。
任何人都知道为什么?也许如何纠正它?
谢谢!
尝试envelope.dotNet =真... – Kri 2012-03-13 19:12:35
试了一下..没有任何改变:( – Ours 2012-03-14 08:36:10
这一行更改运输声明... AndroidHttpTransport运输= new AndroidHttpTransport(URI); – Kri 2012-03-15 19:14:18