2012-03-23 52 views
0

我目前正在研究VB。網絡服務調用另一個在大型機上運行的Web服務。我提供了WSDL文件,並使用wsdl.exe生成了一個代理類。在嘗試使用代理類調用大型機Web服務的方法時,我遇到了來自生成的代理類中的一行代碼的「從SOAP轉換失敗」的異常。如何在VB .Net Web服務中使用大型機Web服務時修復「從SOAP轉換失敗」故障?

Dim results() As Object = Me.Invoke("WSIBACTPOperation", New Object() {WSIBACTPOperation1}) 

任何想法是什麼造成這種情況?有人告訴我,我不需要使用任何證書。我該如何解決?

+0

爲什麼不使用「添加服務引用」或svcutil.exe? – 2013-04-17 04:54:07

+0

添加服務引用會生成相同的代理類嗎?我通常會在文件夾中組織源代碼,並且我感覺能夠像其他代理一樣管理代理類源代碼更加舒適。是的,我知道,沒有多大意義。但是在我們目前的設置中,這有助於我們保護我們的代理類免受一些相當不禮貌的開發人員的覆蓋。 – iamthearvin 2013-04-17 05:18:56

+0

不,它不會生成相同的類。它將生成一個類似的類,但使用WCF基礎結構而不是傳統的ASMX基礎結構。 – 2013-04-17 14:08:41

回答

2

自己弄明白了。網絡服務只需要完整和正確的輸入。當她告訴我們某些輸入不需要時,客戶方的開發人員犯了一個錯誤,因此可以留空。仔細檢查WSDL文件解決了問題。

+0

忘記了。完成。 – iamthearvin 2013-04-18 09:40:24

0

首先,看看從大型機回來的SOAP消息。它看起來像一個SOAP消息,還是它看起來像HTML或純文本,表明您沒有被授權?

當你被告知你不需要使用任何證書時,你是否告訴過你應該使用BASICAUTH?