SOAP WSDL への Web 参照を含む ASP.NET Web ページがあります。この WSDL に関連付けられたメソッド (メソッドは別のサーバー上にあります) を呼び出すと、すべて正常に動作します。ただし、WSDL が指すエンドポイント アドレスを動的に変更できるようにしたいと考えています。その理由は、さまざまなグループに対して同じ一連の Web サービスをホストしており、誰が Web サービスを使用しているかを追跡したいからです。したがって、各セットには独自の URL があります。
SOAP クライアント オブジェクトの "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呼び出しのエンドポイントを動的に変更する修正または別の方法を知っている人はいますか?