2009-06-09 77 views
1

我有一個簡單的.NET應用程序,它可以對第三方Axis Web服務進行SOAP調用。當我跟蹤HTTP流量時,我發現請求看起來很好,但是我收到一個異常:「響應不是格式良好的XML。」返回對象爲空,因爲它似乎不能反序列化XML。.NET客戶端從Axis Web服務獲取「格式不正確」的XML響應

關於wsdl中各種名稱空間聲明的一個問題。其中幾個聲明指向不再存在的URL /域。這會導致任何問題嗎?

從WSDL文檔:

<wsdl:definitions targetNamespace="http://domaindoesntexist.com/" 
xmlns:apachesoap="http://xml.apache.org/xml-soap" 
xmlns:impl="http://domaindoesntexist.com/" 
xmlns:intf="http://domaindoesntexist.com/" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

除去與罪證數據樣本HTTP響應:

HTTP/1.1 200 OK 
Server: Apache-Coyote/1.1 
Content-Type: text/xml;charset=utf-8 
Transfer-Encoding: chunked 
Date: Fri, 05 Jun 2009 13:54:59 GMT 

7cb 
<?xml version="1.0" encoding="utf-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soapenv:Body> 
<someMethod xmlns="http://test.com/services/myservice/"> 
</someMethod> 
</soapenv:Body> 
</soapenv:Envelope> 
0 
+0

你有沒有成功解決這個問題?你還需要幫助嗎? – jcolebrand 2010-12-14 03:39:39

+0

我們確實解決了這個問題,但不幸的是我不記得問題的根源,因爲它已經有近一年半的時間了。 – Tex 2011-01-26 21:30:46

回答

0

若干這些聲明的指向 網址/不再存在的域。 這可能會導致任何問題?

當然。你有沒有嘗試更新你的項目中的Web服務?

1

根據我的經驗,名稱空間URL不必是實際存在的URI。一致性是需要的,因此可以構建內部XML模式進行驗證。目的是(我相信)在該位置託管名稱空間定義,以便開發人員可以去那裏檢查出來,但之後人們變得懶惰。

事實上,我可能在後面的計數上是錯誤的。

0

我也有類似的問題,並尋找到的Wireshark之​​後跟蹤發現存在被插入一些頭在XML負載

web服務試圖加載XML

「內容的代理服務器型:文本/ XML;字符集= UTF-8 有所不同:接受編碼,用戶代理 連接:關閉 傳送編碼:分塊 2rZ3fnB2rMzDjipXgQz8ObOcEczeOIO74sa17YK5hrPkt62qce12BItOmuvPrC/WD8N3xZzBeBceBbiAA0IlsR2aXxd479Es7wO9va2cGpF/cc284gI.K5FXbOR5PUPx00EqNRjCdbdU4fv/JXN2alGDzGVlgCnRK5/6DJlAkcED2011-0 6-08T15:35:21.505Z「

顯然不會加載。

在我的情況下的完整的TCP流

POST/LS/WS/AUTH HTTP/1.1

的User-Agent:Mozilla的/ 4.0(兼容; MSIE 6.0; MS Web服務客戶端協議2.0 .50727.3615)

Content-Type:text/xml;字符集= UTF-8

的SOAPAction: 「」

主機:??????

的Content-Length:487

期望值:100繼續

連接:保持活動

2PUldqLs2KqUkJryFiZPQJI.D6RCixeMu443SLd7dCF2qrzws0E2JYatTqm8wD2CuFrSVHEjvJHIXfiLy6w9yBagentfp093.0.1.9019HTTP/1.0 200 OK

日期:星期三, 08 Jun 2011 15:35:21 GMT

服務器:Apache-Coyote/1.1

內容類型:文本/ XML;字符集= UTF-8

有所不同:接受編碼,用戶代理

X-緩存:MISS從dgtproxy1.skybroadband.com.ph

連接:關閉

0.1

內容類型:文本/ XML;字符集= UTF-8

有所不同:接受編碼,用戶代理

連接:關閉

傳輸編碼:分塊

2rZ3fnB2rMzDjipXgQz8ObOcEczeOIO74sa17YK5hrPkt62qce12BItOmuvPrC/WD8N3xZzBeBceBbiAA0IlsR2aXxd479Es7wO9va2cGpF/cc284gI.K5FXbOR5PUPx00EqNRjCdbdU4fv/JXN2alGDzGVlgCnRK5/6DJlAkcED2011-06-08T15:35:21.505Z