2010-01-20 63 views
0

所以我相信所有你必須使用.NET 2.0香草Web服務(不WCF)做的是以下幾點:讓您的Web服務引用的實例

1)添加您的服務引用。在我的情況下,我使用的是貝寶WSDL 2)在您可以使用任何代理類之前,您必須先創建您的服務參考實例 3)創建服務參考實例後,只需執行[servicereference] .ProxyClassName.Method或任何你試圖從這些類訪問

對不對?

好吧,所以我試了一下。我添加了一個服務引用並將其命名爲SandboxSoapAPI。所以這就是你在我的C#項目中引用的內容。

在代碼我嘗試這樣做:

SandboxSoapApi參考=新SandboxSoapApi();

但它不承認SandboxSoapAPI。難道我做錯了什麼?我只是想用貝寶開始調用類方法等,我似乎無法得到這個權利。

如果我不錯,從.NET 2.0+開始,它處理通過Http發送實際請求的低級別SOAP Web服務引用?

回答

2

SandboxSoapAPI不是SOAP客戶端代理類型名稱。這是一個命名空間。

要檢查這一點,請在VS.NET中勾選'顯示所有文件'並鑽入Web引用,打開Reference.cs文件,您將看到SandboxSoapApi是一個子名稱空間(而不是您的SOAP客戶端代理名稱!)在項目的根名稱空間中。

因此,無論使用完全合格的名稱:

SandboxSoapAPI.YourProxyType client = new SanboxSoapAPI.YourProxyType(); 

或者使用using SandboxSoapAPI;在你的代碼,你需要的SOAP客戶端。

+0

謝謝。所以我在該Reference.cs中看到了[projectnamespace] .WebServiceReferenceName,並且在我想要創建該實例的C#類中有一個using [projectnamespace] .WebServiceReferenceName。我在懸停在SandboxSoapApi上時得到的消息是「類型名稱,但找到名稱空間名稱」 – PositiveGuy 2010-01-20 14:56:35

+0

是的,請參閱我的編輯。 – 2010-01-20 14:57:41

+0

啊謝謝。我不知道客戶端有一個額外的proxyType。我認爲參考本身就是一個對象。 – PositiveGuy 2010-01-20 15:02:34