4

件名のとおり。

私は Grails Web アプリケーションを実行し、サービスを Axis2 プラグインを介して Web サービスとして公開します (その後、Apache Axis2 を利用します)。

http 応答の処理時に ksoap2 を実行している Android が失敗することを除いて、すべて問題ありません。

私が得る実行メッセージは次のとおりです。

org.xmlpull.v1.XmlPullParserException: 予期しないトークン (位置:TEXT --MIMEBoundaryur...@4:13 in java.io.InputStreamReader@40fdd958)

ここで、少し調査したところ、私の Web アプリは、SOAP でエンコードされた Web サービス呼び出しに応答すると、データを として返すことがわかりましたmultipart/related

より具体的には、何かを返します

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Content-Type: multipart/related;
                  boundary=MIMEBoundaryurn_uuid_AC5A47086C51CDF4581329104304545; type="text/xml";
                    start="<0.urn:uuid:AC5A47086C51CDF4581329104304546@apache.org>"
    Date: Mon, 13 Feb 2012 03:38:24 GMT
    Connection: close

    --MIMEBoundaryurn_uuid_AC5A47086C51CDF4581329104304545
    Content-Type: text/xml; charset=utf-8
    Content-Transfer-Encoding: 8bit
    Content-ID: <0.urn:uuid:AC5A47086C51CDF4581329104304546@apache.org>

    <?xml version='1.0' encoding='utf-8'?>
    <soapenv:Envelope 
            xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
            <soapenv:Body>
            <ns:sayHelloResponse 
                    xmlns:ns="http://api.account.mycompany.com">
                    <ns:return>Just a test... Hello John Doe!
            </ns:return>
            </ns:sayHelloResponse>
            </soapenv:Body>
    </soapenv:Envelope>
    --MIMEBoundaryurn_uuid_AC5A47086C51CDF4581329104304545--

したがって、どうやら、XmlPullParser は次のようになると失敗します。

    --MIMEBoundaryurn_uuid_AC5A47086C51CDF4581329104304545

おそらく XML の始まりを期待していましたが、MOTM ヘッダーを取得しました。

さて、問題は...この問題を解決するにはどうすればよいですか?

4

0 に答える 0