件名のとおり。
私は 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 ヘッダーを取得しました。
さて、問題は...この問題を解決するにはどうすればよいですか?