我正在使用Java服务器上的web服务。 Web服务为我提供了一些需要的方法。到目前为止,我一直在使用方法,我在项目资源管理器中添加了webservice的引用,键入了webservice的地址并进行了编译。但现在我需要它从运行时从xml文件中获取服务的地址!那可能吗?
答案 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
)来调用服务,并配置您想要的任何内容,但需要自己解析结果。