在VB.NET中使用Web服务

时间:2010-02-19 15:32:18

标签: .net vb.net web-services

我是第一次在.NET中测试Web服务。我几乎在那里,但我似乎无法使用Web服务。我知道这篇文章类似于本网站上大约5-6篇其他帖子,但我已经对它们进行了审核,但仍然无法正确理解语法。

到目前为止,我有: - 创建一个创建目录的简单Web服务 - 在开发环境中工作,但在实时服务器上工作时遇到了一些麻烦 - 我可以拉出“自动”生成的.NET我们服务页面。 - 添加了Web服务引用 - 现在可以在我的解决方案资源管理器和intellisense中查看引用。

更新: 这是webservice本身的链接: http://67.78.188.50/Jservices/Service1.asmx

Web服务接受一个字符串(目录名称/ test / directory)。但是,当我输入Web引用的名称(ServiceReference1)时 - 我没有得到我期望的方法......

以下是ServiceReference1对象的选项......

ServiceReference1.makeDirRequest
ServiceReference1.makeDirRequestBody
ServiceReference1.makeDirResponse
ServiceReference1.makeDirResponseBody
ServiceReference1.Service1Soap
ServiceReference1.Service1SoapChannel
ServiceReference1.Service1SoapClient

4 个答案:

答案 0 :(得分:8)

通过,你还没有发布足够的代码来看你做了什么

我强烈建议您使用WCF

鉴于您的样品名称已经过验证,您需要

Dim service As New ServiceReference1.Service1SoapClient
service.makeDir("some val")

从网上下载众多样本中的一个(很多codeproject)并先获取样本。如果你不能这样做,那么你的Windows安装还有其他问题

答案 1 :(得分:4)

我不确定makeDirRequest是否是服务 - 听起来像消息。在该命名空间中查找另一种类型(如果幸运的话,可能以“service”或“client”结尾,但最终根据您在使用“添加Web引用”等时输入的内容进行命名)继承自WebService

应将服务方法作为公共方法。


看过该服务后,我期待问题在于您要添加服务引用(WCF / 3.0)而不是 web-reference < / em>(2.0)。如果您的目标是3.0 / 3.5,则可以使用“高级...”=&gt;添加网络参考。 “添加Web引用”选项 (在“添加服务引用”对话框中)。然后你可以使用(WebReference是你在添加引用时命名的任何内容):

Using client As WebReference.Service1 = New WebReference.Service1
    Dim foo As String = "foo"
    client.makeDir(foo)
End Using

如果您改为使用 WCF服务引用,则该名称往往包含“Soap”开销(其中ServiceReference1是您在添加引用时命名的内容):< / p>

Using client As ServiceReference1.Service1SoapClient = New ServiceReference1.Service1SoapClient
    Dim foo As String = "foo"
    client.makeDir(foo)
End Using

无论哪种方式,它都应该是一样的。

答案 2 :(得分:2)

在.NET应用程序中使用Web服务

<德尔> http://articles.techrepublic.com/5100-10878_11-5768122.html

创建和使用Web服务 - 操作系统,软件和联网......

http://www.extremetech.com/article2/0,2845,11511,00.asp

从Win Forms应用程序中使用Web服务 - CodeProject

http://www.codeproject.com/KB/webservices/cpwebserviceconsumer.aspx

答案 3 :(得分:1)

请参阅How to Consume a Web Service,看看它是否对您有所帮助。这个例子是在C#中,但你应该很容易翻译。