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 >