簡體   English   中英

在C#中使用SOAP Web Service處理格式錯誤的XML標記

[英]Handling malformed XML tag using SOAP Web Service in C#

我創建了一個ASMX Web服務來處理來自第三方應用程序的請求。 我使用了WSDL,他們將其作為要求和響應的規范。 我已經滿足了這些要求,並啟動了我的服務。 我可以使用Storm很好地測試應用程序。 當我們嘗試從第三方應用程序訪問Web服務時,請求失敗,因此我們將WireShark設置為監視請求。

從數據包捕獲中看到的是“ [InvalidOperationException]:無法識別意外格式為/ MyMethodName結尾的URL的請求格式”。 經過一點研究,我發現了這篇文章 我們嘗試了這一點,並開始收到其他錯誤消息。 這是錯誤消息/堆棧:

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Web.Services.Protocols.HttpServerType..ctor(Type type)
   at System.Web.Services.Protocols.HttpServerProtocol.Initialize()
   at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)

我嘗試了SO文章中的大多數建議,並決定退后一步,從Web配置中一起刪除所有Web服務協議。 因此,回到原樣。 經過進一步調查,我注意到發送到我們的Web服務的請求具有我認為格式錯誤的XML聲明。

<?requestXml version='1.0' encoding='UTF-8'?>

這可能是我頭痛的原因嗎? 如果是這樣,我該如何處理? 我顯然無法更改第三方應用程序。

我確實必須創建一個通用處理程序來處理此問題。 XML解析器並不關心XL聲明標簽的格式是否正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM