这看起来非常微不足道,但根本不适用于我。我试图从我的c#控制台应用程序中调用soap web service
。该应用程序是为.net 4.5构建的。这是我做的:
- 通过将其指向wsdl,在visual studio 2013中添加了对项目的服务引用。它找到服务,它的运作正常。
- 通过执行以下操作尝试创建该服务的实例:
ServiceReference1 s = new ServiceReference1();
我收到以下错误代码:
Project1.ServiceReference1 is a 'namespace' but is used like a 'type'
有什么想法吗?我已经搜索了一段时间,并且不能遇到有真正解决方案同样问题的人。我将提供所需的更多信息。
答案 0 :(得分:1)
如果您已将服务引用添加到项目中,则会看到该引用。在这种情况下,您保留了默认名称' ServiceReference1'。
现在您想要调用Web服务的方法,为此您必须实例化SOAPClient。
ServiceReference1.YourWebserviceNameSoapClient client = new ServiceReference1.YourWebserviceNameSoapClient();
client.HelloWorld(); // call of webmethod
现在您可以访问'客户端下的网络方法'对象
答案 1 :(得分:0)
创建服务引用时,Visual Studio 2013将生成可用于透明调用服务的代理类。默认代理名称空间为your_project_name.ServiceReference1
。类型是您服务的名称。
示例服务http://localhost/YourService.svc
。
您从控制台项目ServiceReference1
生成服务引用ConsoleApp
。生成的文件具有名称空间ConsoleApp.ServiceReference1
。类型为YourService
。
var service = new ServiceReference1.YourService();
将返回Visual Studio生成的代理实例。然后,您将能够调用任何服务方法。