我有一个 ASP.NET 网页,其中包含对 SOAP WSDL 的 Web 引用。如果我调用与此 WSDL 关联的方法(这些方法位于另一台服务器上),一切正常。但是,我希望能够动态更改 WSDL 指向的端点地址。原因是我们为不同的组托管相同的 Web 服务集,并且我们喜欢跟踪谁在使用 Web 服务。因此,每个集合都有自己的 URL。
我尝试将我的肥皂客户端对象上的“Url”属性更改为不同的端点,但是当我这样做时,这些方法会返回此错误:
客户端发现响应内容类型为“text/plain”,但预期为“text/xml”
我在想 Url 属性让代理类误以为我现在正在使用 REST Web 服务?
这是我的一些代码:
mySoapNamespace.mySoapClient soapClient = new mySoapNamespace.mySoapClient();
//next I try to change the endpoint URL of the WSDL, misguided? ...
soapClient.Url = "http://a_different_url/my_soap_server.wsdl";
string result = soapClient.myTestMethod();
Response.Write(result);
这就是我得到错误的地方。有谁知道动态更改 SOAP 调用端点的修复或不同方法?