SoapHttpClientProtocolから継承したクラスMyClassを使用しています。サービスを表す.wsdlファイルからWebReferenceを作成してプロジェクトで自動生成します。SoapHttpClientProtocolから継承したクライアントクラスからHTTPヘッダーを設定する方法
このサービスの「WebMethod」を呼び出す前に、自分のリクエストのhttpヘッダーをカスタムする必要があります。私はSoapHttpClientProtocolのGetWebRequest()メソッドをそのように過負荷を試してみました:
public partial class MyClass: System.Web.Services.Protocols.SoapHttpClientProtocol{
protected override WebRequest GetWebRequest(Uri uri) {
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(uri);
request.Headers.Add("MyCustomHeader", "MyCustomHeaderValue");
return request;
}
}
私はGetWebRequestは明らかにそれはない、のMyClassのコンストラクタで呼び出されたことを期待していました。
誰かが私を助けることができますか?
ご回答いただきありがとうございます。残念なことに、あなたの言うことが真実であれば(そして私はそれを疑うことはありません))、それはサービスが私のカスタムヘッダーを使用できるはずであり、それは(明らかに)... GetWebRequest()を呼び出した後、既存のヘッダーを(任意の手段で)クリアできる方法と呼ばれる方法がありますか? –
SoapHttpClientProtocolの実装に似たものを追加しましたが、実際にヘッダーを追加するようには見えません。少なくとも、サービスはそれらを認識しません。あなたはこれについて何か進歩しましたか? –