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);
}
「call」メソッドで例外が発生しました。次のとおりです。
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 java.io.InputStreamReader@46294968)
奇妙なのは、requestDump を使用して SoapUI で送信されたエンベロープを取得して試してみると、完全に正常に動作することです。期待通りの結果が得られました。しかし、responseDump は実際には結果ではなく wsdl ファイルを返しています。wsdl が正常に呼び出された場合と同じように、呼び出しようとしているメソッドではありません。
誰でも理由がわかりますか?そして多分それを修正する方法は?
ありがとう !