我是第一次在.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
答案 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#中,但你应该很容易翻译。