私は、.NET クライアントから Java ベースのサービスを呼び出すときに、送信メッセージに SOAP ヘッダーを挿入することを検討しています。
以下に示すように、OperationContextScope が私の要件に最適であり、初期テストでは正常に動作することがわかりました。私のアプリケーションは.NETコンソールバッチであるため、これで間違いを犯していないことを確認したかったのです。.NET コンソール アプリケーションのコンテキストでこのクラスを使用する際に問題はありますか?
wsdl と xsd を渡すことで、SVCUITIL を使用して JAVA サービスのプロキシを作成しました。
using (var client = new GetXXXXDetailsServiceClient())
{
using (new OperationContextScope(client.InnerChannel))
{
var customerHeader = new Headers(SamlAssertion.InnerXml.ToString());
OperationContext.Current.OutgoingMessageHeaders.Add(customerHeader);
var res = client.GetXXXXDetails();
}
}