c#从控制台应用程序调用SOAP web服务
本文关键字:SOAP web 服务 调用 应用程序 控制台 | 更新日期: 2023-09-27 18:13:46
这看起来很琐碎,但对我来说根本不起作用。我正试图从我的c#控制台应用程序中调用soap web service
。该应用程序是为。net 4.5构建的。我是这样做的:
- 在visual studio 2013中通过将服务引用指向wsdl来为项目添加服务引用。它找到了服务,操作正常。
- 尝试通过执行以下操作创建该服务的实例:
ServiceReference1 s = new ServiceReference1();
我得到以下错误代码:
Project1.ServiceReference1 is a 'namespace' but is used like a 'type'
任何想法?我已经为此搜索了一段时间,但没有遇到有人有同样的问题,并有一个真正的解决方案。我将提供更多需要的信息。
如果您已经将服务引用添加到项目中,您将看到该引用。在本例中,您保留了默认名称'ServiceReference1'。
现在您想要调用web服务的方法,为此您必须实例化一个SOAPClient。
ServiceReference1.YourWebserviceNameSoapClient client = new ServiceReference1.YourWebserviceNameSoapClient();
client.HelloWorld(); // call of webmethod
现在你在'client'对象下访问webmethods
当你创建一个服务引用时,Visual Studio 2013将生成一个代理类,你可以使用它来透明地调用该服务。默认代理命名空间为"your_project_name.ServiceReference1
"。类型是您的服务的名称。
以业务"http://localhost/YourService.svc
"为例。您从控制台项目ConsoleApp
生成服务引用ServiceReference1
。生成的文件命名空间为ConsoleApp.ServiceReference1
。类型为YourService
。
var service = new ServiceReference1.YourService();
将返回一个由Visual Studio生成的代理实例。然后你就可以调用任何服务方法了