2

我有一個EWS流訂閱,我想不斷運行。它在特定的收件箱中等待新郵件事件,當事件觸發時,它會將電子郵件和POST的內容讀取到其他Web服務中。在大多數情況下這個偉大的工程,但是每一次這個System.Xml.XmlException拋出:EWS流訂閱System.Xml.XmlException

Unhandled Exception: System.Xml.XmlException: '▼', hexadecimal value 0 
invalid character. Line 1, position 1. 
at System.Xml.XmlTextReaderImpl.Throw(Exception e) 
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args) 
at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& e 
32& outOrChars) 
at System.Xml.XmlTextReaderImpl.ParseText() 
at System.Xml.XmlTextReaderImpl.ParseDocumentContent() 
at System.Xml.XmlTextReaderImpl.Read() 
at Microsoft.Exchange.WebServices.Data.EwsXmlReader.Read() 
at Microsoft.Exchange.WebServices.Data.EwsXmlReader.Read(XmlNodeTyp 
) 
at Microsoft.Exchange.WebServices.Data.EwsXmlReader.InternalReadEle 
mespace xmlNamespace, String localName, XmlNodeType nodeType) 
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ReadRespo 
viceXmlReader ewsXmlReader) 
at Microsoft.Exchange.WebServices.Data.HangingServiceRequestBase.Pa 
es(Object state) 
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(
te) 
at System.Threading.ExecutionContext.Run(ExecutionContext execution 
ontextCallback callback, Object state, Boolean ignoreSyncCtx) 
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThr 
kItem.ExecuteWorkItem() 
at System.Threading.ThreadPoolWorkQueue.Dispatch() 
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() 

我看到有關此異常的其他職位,但沒有似乎有解決方案。我怎樣才能阻止它被拋出?

更新:

以防萬一有人有同樣的問題。我們將服務器升級到2010 sp2,問題似乎得到解決。

+0

添加它正在死的xml – 2012-03-30 15:50:50

+0

我很想,但我不能在調試時重新創建異常,所以如果xml位於郵件正文中,並且它不是來自POST服務器的響應,如果它在重新連接期間來自Exchange服務器的響應 – 2012-03-30 15:53:59

+0

您需要將日誌記錄添加到異常處理中。如果你曾經重現/修復它,也可以是'try {} catch {Log。(「current email/xml」)}'。 – 2012-03-30 21:13:48

回答

2

這是一個超出你的控制的內部錯誤。

如果服務器是2007 sp1,則將其升級到2010。如果它的2010驗證其運行的是最新的服務版本修補程序。

如果所有工作都完成並且仍然存在,請使用MSDN訂閱(或軟件的當前支持合同)並與Microsoft支持部門聯繫,並讓他們與您一起調查。他們可能有一個未發佈的服務版本可以解決這個問題。