2010-01-14 89 views
3

我正在開發c#桌面應用程序,並使用在php應用程序中開發的webservies,當我嘗試使用該應用程序時。我只想補充一點,Web服務的Web引用,並嘗試訪問throught下面的代碼有關在c#中使用php web服務的問題桌面應用程序

WebReference.TestWSDL pdl = new testingApp.WebReference.TestWSDL(); 
string copy = pdl.verify("testing"); 

它拋出的錯誤,當我嘗試調用的方法驗證。錯誤是

可能的SOAP版本不匹配:信封命名空間http://schemas.xmlsoap.org/wsdl/是意外的。期待http://schemas.xmlsoap.org/soap/envelope/

和Web服務的鏈接就像

http://171.139.101.12/code/index.php/webservice/wsdl

+0

也許你的WSDL是用無效的命名空間生成的?查看生成的Web服務文件並嘗試將命名空間更改爲預期的名稱空間。 – 2010-01-14 07:24:42

回答

7

您所遇到的通知你,當你調用web服務,你被賦予了WSDL(Web服務定義語言)的錯誤服務 - 這是描述服務功能的元數據,但實際上不能用於調用服務。通常,您通過將「?wsdl」或「wsdl」附加到服務URI來訪問WSDL。

您嘗試使用的webservice有兩個元素。存在

實際的服務在:

http://171.139.101.12/code/index.php/webservice

元數據描述它,通過用於生成代理Wsdl.exe用它的Visual Studio,居住在這裏:

http://171.139.101.12/code/index.php/webservice/wsdl

你需要編輯Web引用的屬性並適當地更新地址。或者,您可以更改pdl變量的屬性,並在代碼中更改端點。

+0

這個web服務在php應用程序中表現不錯,但是當我們從.net應用程序調用它時發出異常 – Azhar 2010-01-14 10:25:10

+1

+1非常棒 - 只是解決了我們的問題。 – 2011-06-21 23:42:34

相關問題