c#:如何在编译时使用地址未知的Web服务方法

时间:2014-03-27 16:38:47

标签: c# visual-studio-2010 web-services wsdl

我正在使用Java服务器上的web服务。 Web服务为我提供了一些需要的方法。到目前为止,我一直在使用方法,我在项目资源管理器中添加了webservice的引用,键入了webservice的地址并进行了编译。但现在我需要它从运行时从xml文件中获取服务的地址!那可能吗?

1 个答案:

答案 0 :(得分:2)

生成的代理对象中有Url属性,您可以在运行时设置该属性。在MSDN上的Creating the Web Service Proxy文章中介绍。

文章中的示例(显示如何设置凭据,您可能还需要设置Proxy):

var rs = new ReportExecutionService();
rs.Url = "http://<Server Name>/reportserver/reportexecution2005.asmx?wsdl";
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

请注意,以上答案适用于您在运行时之前不知道服务器的确切Url,但您在设计时可以使用WSDL /示例服务器并且能够通过在VS(或手动)中添加Web服务来生成代理的情况。

或者,您可以通过其他类实现“HTTP GET”(如HttpClient)来调用服务,并配置您想要的任何内容,但需要自己解析结果。

相关问题