3

ネットワークがHTTPSであるTomcat経由でJAX-WSを使用して、Java Document Literal WebServiceを実行しています。Java & .Net WS クライアントは正常に動作していますが、iOS 上の MonoTouch クライアントは WebService からの応答中に例外をスローしています。サーバーでリクエストが適切にヒットすることを確認しましたが、MonoTouch クライアントに返されるレスポンスは、ランダムな WebService レスポンスで次の例外をスローします (一部のレスポンスは成功します)。

[System.Xml.XmlException: Document element did not appear.  Line 1, position 1.
  at Mono.Xml2.XmlTextReader.Read () [0x00168] in /Developer/MonoTouch/Source/mono/mcs/class/System.XML/System.Xml/XmlTextReader.cs:629 
  at System.Xml.XmlTextReader.Read () [0x0006b] in /Developer/MonoTouch/Source/mono/mcs/class/System.XML/System.Xml/XmlTextReader2.cs:564 
  at System.Xml.XmlReader.MoveToContent () [0x00050] in /Developer/MonoTouch/Source/mono/mcs/class/System.XML/System.Xml/XmlReader.cs:563 
  at System.Web.Services.Protocols.WebServiceHelper.ReadSoapMessage (System.Xml.XmlTextReader xmlReader, System.Xml.Serialization.XmlSerializer bodySerializer, System.Xml.Serialization.XmlSerializer headerSerializer, Boolean soap12, System.Object& body, System.Web.Services.Protocols.SoapHeaderCollection& headers) [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHelper.cs:187 
  at System.Web.Services.Protocols.WebServiceHelper.ReadSoapMessage (System.Xml.XmlTextReader xmlReader, System.Web.Services.Protocols.SoapMethodStubInfo method, SoapHeaderDirection dir, Boolean soap12, System.Object& body, System.Web.Services.Protocols.SoapHeaderCollection& headers) [0x00011] in /Developer/MonoTouch/Source/mono/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHelper.cs:182 
  at System.Web.Services.Protocols.SoapHttpClientProtocol.ReceiveResponse (System.Net.WebResponse response, System.Web.Services.Protocols.SoapClientMessage message, System.Web.Services.Protocols.SoapExtension[] extensions) [0x00149] in /Developer/MonoTouch/Source/mono/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHttpClientProtocol.cs:322 
  at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_name, System.Object[] parameters) [0x000b8] in /Developer/MonoTouch/Source/mono/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHttpClientProtocol.cs:379

iOS クライアント側では、一部の応答が正常に返されていても、ネット トラフィックを監視し、すべての応答でピアによって接続のリセットを取得しています。

何か助けはありますか?

4

1 に答える 1

1

有効な XML 応答を受信して​​いないようです。サービスがリクエストを気に入らず、(HTML) エラー メッセージ (500 など) を返した可能性があります。

何が起こっているかを確認する簡単な方法は、WireShark (またはネットワーク トラフィックをスニッフィングする同様のツール) を使用して、iOS シミュレーターからアプリケーションを実行することです。キャプチャされたデータには、要求とサーバーからの応答が表示されます。これにより、それが XML 応答であるかどうか、またはそうでない場合は返されたエラー メッセージが確実にわかります。

于 2012-11-30T02:17:00.767 に答える