私は私のSOAP Webサービスと私のAndroidアプリケーションのインタフェースにしようとしている、と私は予想外の結果を得る...AndroidとSOAP Webサービス
SOAPサービスが正常に動作している、彼らはSOAPUIでテストされてきた、WSDLは有効です。 は、私がここでksoap2 libのバージョン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
はそれを試してみました...この行を使用してトランスポート・ステートメントを変更する – Ours
:(何も変更しませんでした... AndroidHttpTransport輸送してみてください= new AndroidHttpTransport(URI); – Kri