1

ksoap2 を使用した Web サービスへの呼び出しから応答を取得できない理由がわかりません。

この呼び出しは、MSISDN 値を Web サービスに送信し、文字列を返す必要があります。Web サービスで、それが呼び出されて文字列が返されることを確認できますが、デバイスで返された文字列を確認できません。

私のコードは次のとおりです。

            SoapObject request = new SoapObject("http://fc.mobiledatacapture/", "getParameters");
            request.addProperty("arg0", MSISDN);
            SoapSerializationEnvelope envelope =
                new SoapSerializationEnvelope(SoapSerializationEnvelope.VER10);

            envelope.bodyOut = request;

            HttpTransport ht = new HttpTransport(url);

            //call web service method
            ht.call("\"getParameters\"", envelope);

            SoapObject response = (SoapObject)envelope.getResponse(); //marker

            parameterString = (String) response.getProperty(0);

したがって、Web サービスが呼び出されることはわかっていますが、parameterString の結果は得られません。

いくつかの出力とエラー チェックを追加した後、コードが「//marker」というコメントの行を超えていないことがわかりました。その行の直前に、エンベロープが null であるかどうかを確認しましたが、そうではありませんでした。それでも、このコード ブロックは null エラーをキャッチします。

したがって、応答がnullであることを意味すると思いますが、Webサービスから返された値を取得するにはどうすればよいですか?

4

1 に答える 1

1

心配ない。次のようにコードを変更し、Web サービスが返す文字列を取得しました。

    Object response = envelope.getResponse();
    parameterString = response.toString();
于 2010-06-01T08:43:54.857 に答える