2010-09-28 62 views
3

我需要從C#.Net 4.0客戶端使用SOAP Web服務。我在VS 2008中添加了WSDL作爲服務引用,現在可以將XML類型看作類,以便構建SOAP消息。C#WSDL代理方法

WSDL端口被定義爲一個接口,WSDL(UploadMessage和ValidateMessage)中定義的兩個操作是可見的方法。

你怎麼實際使用這些方法?我認爲端口可以作爲一個類來使用,所以你可以直接調用這些方法,並且VS會創建用於發送SOAP消息的相關代碼,但看起來你必須編寫代碼才能使用這些方法。那是對的嗎?

我用Google搜索這一點,但無法找到使用.NET 4.0 ;-(

回答

2

當您添加使用Add Service Reference服務一個簡單的例子,你應該有一個新的名稱空間(你在Add Service Reference對話框中定義 - 左下角)

alt text

內部的命名空間,就必須有一個名爲像(yourservicename)Client

如果你可以」。找到它,打開Visual Studio解決方案資源管理器中的Service References節點,然後在解決方案資源管理器的小工具欄中找到Show All Files按鈕 - 單擊它可以查看所有文件。

alt text

根據您的服務引用,幾個節點深,你應該找到一個名爲Reference.cs其中包含從WSDL生成的代碼的類文件。

alt text

在這種Reference.cs,你會發現你的客戶端類。這是一個常規類,您可以在代碼中實例化並調用方法。這將調用您要連接的遠程服務器上的Web服務方法。

1

通常服務引用將創建一個名爲[ServiceName]Client的類,該類實現您提到的接口。

新的,然後調用操作。

遠比獲取客戶端更重要,並且調用它將是您的配置,這將取決於服務。 This article將有所幫助。

+0

謝謝,現在都變得更清晰了。該類是否始終與WSDL端口具有相同的名稱?例如在我的情況下,它被稱爲_defaultSoapClient。 – Alistair77 2010-09-28 17:54:02

+1

@ Alistair77:*通常*,但不總是。它更多地取決於WSDL的結構。 – Randolpho 2010-09-28 19:20:41