私はWindowsフォームアプリケーションに取り組んでおり、呼び出す必要のあるWCFサービスがあります。サービスに送信する前に、リクエストにヘッダー(承認-カスタム)を追加する必要があります。カスタムインスペクタークラスもあります。次のことを試しましたが、どういうわけかサービスが呼び出されず、例外が返されます。
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
MessageHeader header = MessageHeader.CreateHeader("Authorization", "", "Basic Y19udGk6Q29udGlfQjNTVA==");
OperationContext.Current.OutgoingMessageHeaders.Add(header);
HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty();
httpRequestProperty.Headers.Add("Authorization", "Basic Y19udGk6Q29udGlfQjNTVA==");
httpRequestProperty.Headers.Add(HttpRequestHeader.UserAgent, "Continental");
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
sentMessages.Add(request.ToString());
return null;
}
私もこのような最も簡単な方法を試しました:
MessageHeader header = MessageHeader.CreateHeader("Authorization", "", "Basic Y19udGk6Q29udGlfQjNTVA==");
request.Headers.Add(header);
同じですが、認証ヘッダーが追加されていますが、サービスに到達していません。サービスがどのヘッダーを受信したかを知るにはどうすればよいですか?私はSOAPUIを使用しましたが、そのようなヘッダーをリクエストに手動で追加すると(実行前に)、サービスは適切に応答します。