0

KSOAP を使用して、アプリケーションの Web サービスにアクセスします。SoapObject を使用してリクエストを作成すると、奇妙な応答が返されました (この場合、奇妙なのは XML ではないことを意味します)。

私は KSOAP を初めて使用し、KSOAP で構築された既存のプロジェクトにいくつかの変更を追加する必要があるため、使用を避けることはできません。コードは単純で機能しますが、応答を解析できません。

これを使用するコードは次のとおりです。

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("PersonalID", "032676025");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
            Log.i("Webservice Output", response.toString());

            return response.toString();

        } catch (Exception e) {
            e.printStackTrace();
        }

ここでの問題は、応答として Web サービスからの XML が見つからないことです。私はそれを取得し、自分で解析する必要があります。

問題は、上記のコードで使用されているオブジェクトから XML 応答 (XML として) を取得するにはどうすればよいかということです。

ありがとうございました。

4

1 に答える 1

3

私は解決策を見つけました: set androidHttpTransport.debug = true; WS 呼び出しを行う前に。

この後、次のようにリクエストとレスポンスにアクセスできます。

String requestDump = androidHttpTransport.requestDump;
String responseDump = androidHttpTransport.responseDump;

Log.i("", "Requeste: " + requestDump);
Log.i("", "Response: " + responseDump);
于 2012-07-05T10:52:59.377 に答える