2010-12-13 92 views
0

我們有一個包含Web方法的Web應用程序。我想從控制檯應用程序調用其中一種方法。我是新手,但是我編寫了一個控制檯應用程序,添加了一個服務引用並嘗試對其進行代碼調用。從控制檯應用程序消費Web服務

如果我的web方法被稱爲「傳輸」,我期望在我指定的命名空間中看到Transmit,但是我看到「TransmitRequest」,「TranmsitRequestBody」,「TransmitResponse」和「TransmitResponseBody」。

這些東西是什麼? 我做錯了什麼? 如何從控制檯應用程序調用Web應用程序中的Web方法?

謝謝你對這個新手的所有幫助。我正在使用VB.net 2008.

+0

您需要在您的標記指定的語言/平臺。我假設你使用.NET,但知道這肯定會影響你得到的答案。 – Jason 2010-12-13 21:54:09

+0

是的,對不起。我在VB.net中編寫了控制檯應用程序和用於Web應用程序的VB asp.net。你能幫我嗎? – DeveloperM 2010-12-14 14:07:02

回答

1

如果您在solutionExplorer中展開ServiceReference文件夾,請雙擊您的服務並打開對象瀏覽器。現在你會看到這個班(沒有我面前的班)。在你的代碼然後將實例與[ServiceReferenceName]一個新的變量。[類名]即

Dim svc as new ServiceReference1.MyWebService(); 
svc.Transmit(); 
+0

謝謝你的迴應。問題是我沒有看到服務名稱下的「傳輸」方法。我看到「Body」和一些基本功能,如「ToString」,「GetType」等。爲什麼我沒有看到傳輸方法? – DeveloperM 2010-12-14 15:50:58

+0

這意味着服務在asmx端配置不正確(方法需要用[WebMethod]屬性標記,或者代理類沒有正確生成。在解決方案資源管理器中選擇ServiceReference並在解決方案資源管理器的頂部點擊Show all files。你應該有一個擴展名爲WSDL的文件?在那裏尋找Transmit方法,並且讓我知道你是否可以看到它 – 2010-12-14 16:18:25

+0

這些方法標記爲當我通過顯示所有文件展開解決方案資源管理器時,看到一個擴展名爲wsdl的文件,但是仍然沒有傳輸方法 – DeveloperM 2010-12-14 16:26:26