首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

WSE 3.0 有关问题

2012-02-28 
WSE 3.0 问题winform 客户端通过WEB服务(采用WSE3.0,启用了MTOM)获取数据,偶尔会收到:请求因 HTTP 状态 4

WSE 3.0 问题
winform 客户端通过WEB服务(采用WSE3.0,启用了MTOM)获取数据,偶尔会收到:"请求因 HTTP 状态 400 失败: Bad Request。"的错误返回,
同时发现服务器的事件日志里以下的错误:
HTTP/ASMX Message Receive Failure: System.Xml.XmlException: 根级别上的数据无效。 行 2,位置 1。
  在 System.Xml.XmlTextReaderImpl.Throw(Exception e)
  在 System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
  在 System.Xml.XmlTextReaderImpl.Throw(String res)
  在 System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
  在 System.Xml.XmlTextReaderImpl.ParseDocumentContent()
  在 System.Xml.XmlTextReaderImpl.Read()
  在 System.Xml.XmlTextReader.Read()
  在 Microsoft.Web.Services3.Xml.XmlSkipDTDReader.Read()
  在 System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
  在 System.Xml.XmlDocument.Load(XmlReader reader)
  在 Microsoft.Web.Services3.SoapEnvelope.Load(Stream inStream)
  在 Microsoft.Web.Services3.WseProtocol.CreateRequestSoapEnvelope(SoapServerMessage message)
  在 Microsoft.Web.Services3.WseProtocol.GetRequestEnvelopeFromMessage(SoapServerMessage message)
查找的很久都不知道是什么问题导致的,估计是启用了MTOM才会这样,不知道谁遇到过这种情况,帮忙看看.

我的WSE3.0配置:
<microsoft.web.services3>
<messaging>
<mtom clientMode="On" serverMode="optional"/>
</messaging>
<security>
<securityTokenManager>
<add type="TorchUsernameTokenManager" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" localName="UsernameToken"/>
</securityTokenManager>
</security>
<policy fileName="wse3policyCache.config"/>
</microsoft.web.services3>



[解决办法]
可能webservice部署有问题,部署的IIS重启下看看 HTTP/ASMX错误是服务端程序有问题
[解决办法]
还有

我服务端这个<mtom clientMode= "On " serverMode= "optional "/ > 
后面设置成了 always

我看了官方文档, 如果我要没有理解错误的话, 大概意思是,如果设置成Optional, 请求可以是MTOM 也可以不是,但返回的是MTOM
设置成Always 后,就只能都是MTOM了

[解决办法]
UP

热点排行