Soap Java文档文字WebService-MonoTouch客户端在WS响应期间发生异常

Soap Java文档文字WebService-MonoTouch客户端在WS响应期间发生异常,soap,xamarin.ios,jax-ws,webservice-client,Soap,Xamarin.ios,Jax Ws,Webservice Client,我使用JAX-WS在tomcat上运行Java文档文字Web服务,网络是HTTPS。Java和.Net WS客户端工作正常,而iOS上的MonoTouch客户端在WebService响应期间引发异常。我已经检查了服务器上的请求是否被正确命中,但是返回到MonoTouch客户端的响应在随机WebService响应上抛出以下异常(一些响应成功): 在iOS客户端,我们监控网络流量,并通过所有响应获得对等方的连接重置,即使有些响应返回正常 有什么帮助吗?看起来您没有收到有效的XML响应。可能是服务不喜

我使用JAX-WS在tomcat上运行Java文档文字Web服务,网络是HTTPS。Java和.Net WS客户端工作正常,而iOS上的MonoTouch客户端在WebService响应期间引发异常。我已经检查了服务器上的请求是否被正确命中,但是返回到MonoTouch客户端的响应在随机WebService响应上抛出以下异常(一些响应成功):

在iOS客户端,我们监控网络流量,并通过所有响应获得对等方的连接重置,即使有些响应返回正常


有什么帮助吗?

看起来您没有收到有效的XML响应。可能是服务不喜欢您的请求,并返回(HTML)错误消息(例如500)


查看发生了什么的一个简单方法是使用WireShark(或类似的工具来嗅探网络流量)并从iOS模拟器运行应用程序。捕获的数据应该显示您的请求和来自服务器的响应。这将确切地告诉您它是XML响应,还是返回的错误消息。

如果连接通过https运行,Fiddler实际上是首选工具。还要查找空响应(零长度内容)——我不确定WebServiceHelper是否会以合理的方式捕获并报告它们,但来自XmlReader的错误消息看起来大致相同。
[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