2013-11-22 50 views
0

我有一個.NET網絡應用程序正在打擊另一家公司託管的外部Web服務。 Web服務返回一個xml對象,我正在使用XmlSerializer捕獲和解析該對象。使用Web服務丟棄返回的特定節點

此過程每次都正常工作。唯一的問題是,一個非常重要的節點總是從退貨中退出。我通過一個簡單的HTTP後門程序打開了他們的系統,他們打開了我的測試,並在那裏,所以它肯定是生成的。當我從Web服務中獲取XML時,除了這個節點以外的其他每個節點都會出現並計入其中。

節點的名稱是

<reference></reference> 

...這是某種形式的保留字的.NET會導致它被忽略?有沒有其他人遇到這樣的問題,也許可以給我一些常見的事情來檢查第一?

該節點實際上並不在wsdl中,但它們動態生成它...還有一些其他類似的節點,它們通過服務來完成,沒有問題。

回答

0

你回答了自己的問題:

節點實際上不是在WSDL

如果它不是在WSDL,那麼你到底希望.NET做什麼呢? .NET實際上正在做正確的事情 - 忽略它!

「WSDL」代表「Web服務描述語言」。如果他們沒有描述這個元素,那麼他們如何期望任何人消費它?

+0

在大多數情況下,我會立即同意。但是,WSDL中還沒有其他節點通過web服務來訪問。我知道這一點,因爲我已經看到它在行動,並將其與WSDL進行比較。當我將它提及外部主機時,他們說這些動態生成的xml節點不應該出現在WSDL中。如果你說它不可能,不知道他們是如何管理它的? – optionsix

+0

你是什麼意思,「通過網絡服務」?這是無稽之談。代理類中沒有屬性不是來自WSDL(以及任何包含的WSDL或XSD)。 –

+0

放肆的廢話,我不是這方面的專家,只是試圖解釋我自己。我有xml通過他們的web服務或從你喜歡的任何術語返回。他們聲稱一些節點是「動態生成的」,並且不必在wsdl中。我同意這似乎是不可能的,所以我要求他們進一步澄清。我認爲它們可能意味着節點的參數是動態生成的,而不是節點本身。 – optionsix