我想我的界面的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