WCFアダプタを使用する場合、WCFメッセージの本文として送信されるメッセージ本文部分がありますが、BizTalkメッセージコンテキストを送信することはできますか(うまくいけばWCFメッセージヘッダー)?WCFサービスにBizTalkメッセージコンテキストを送信
答えて
following page in MSDNは、WCFアダプタを使用してBizTalkの外部にメッセージを送信するときにカスタムSOAPヘッダーを使用する方法を簡潔に説明しています。
基本的に、BizTalk以外のBizTalkメッセージのコンテキストを直接送信することはできません。これは意味がありません。むしろ、カスタムSOAPヘッダーを使用してWCFアダプタに送信するBizTalkメッセージのコンテキストで、プロパティのサブセットを選択できます。発信要求に関連付けられ
カスタムSOAPヘッダ発信WCF要求を処理
SOAPヘッダは、明示的に送信されるメッセージのコンテキストに書き込まれなければなりません。
WCFアダプタを使用する場合、SOAPヘッダーは組み込みのWCF.OutboundCustomHeadersコンテキストプロパティで定義されます。このプロパティは、すべてカスタムSOAPヘッダーを保持し、さらに<ヘッダー>タグ内にラップされます。
ヘッダは、Expression形で次の構文を使用して、オーケストレーションの中から指定することができます。ヘッダ1 >と< tns2:イラストに使用ヘッダ2 >
OutboundMessage(WCF.OutboundCustomHeaders) = "" +
"<headers>"
"<tns1:Header1 xmlns:tns1='http://tns1'>" +
"</tns1:Header1>" +
"<tns2:Header2 xmlns:tns2='http://tns2'>" +
"</tns2:Header2>" +
"</headers>" +
"";
してください、注意カスタムSOAPヘッダ< tns1こと上記の目的は、WCFサービス契約の一部でなければなりません。消費されたWCFサービスのサービス参照を作成すると、それらのカスタムSOAPヘッダーは、オーケストレーションで生成されたスキーマとして使用できます。
今、あなたはカスタムSOAPヘッダーを指定する方法を知っているカスタムSOAPヘッダに特定のコンテキストのプロパティを送信する方法
、カスタムSOAPにあなたのメッセージの文脈から特定のプロパティを送信するために、この構文を使用することができますそうのようなヘッダー:上記の例で
OutboundMessage(WCF.OutboundCustomHeaders) =
System.String.Format(
"" +
"<headers>"
"<tns1:Header1 xmlns:tns1='http://tns1'>" +
" <tns1:Property1>{0}</tns1:Property1>" +
" <tns1:Property2>{1}</tns1:Property2>" +
"</tns1:Header1>" +
"</headers>" +
""
, InboundMessage(FILE.ReceivedFileName)
, InboundMessage(BTS.MessageType)
));
は二つの組み込みコンテキストプロパティFILE.ReceivedFileNameとBTS.MessageTypeを選択し、カスタムSOAPヘッダ内に記述されています。実際のシナリオでは、それらのプロパティを使用する前に、そのプロパティがコンテキスト内に存在するかどうかを確認する必要があります。
適切なプロパティスキーマで宣言されている場合は、任意のカスタムコンテキストプロパティを使用することもできます。
- 1. BizTalk WCF Oracleアダプタ:DateTime値の送信
- 2. wcfサービスにカスタムタイプを送信
- 3. カスタムWCFメッセージをサービスに送信
- 4. のBizTalk WCFはポートエラーを送信する - ヘッダー「CoordinationContextは」
- 5. WCFサービス* .xmlファイルを送信するテストツール
- 6. BizTalkダイナミックWCF-WSHttp送信ポートのHTTPアダプタへの復帰
- 7. HTTPエラー404.17 - BizTalk ESB Toolkit 2.1 WCFサービス
- 8. WCFサービスでのインターフェイス定義の送信
- 9. イメージデータをWCFサービスにどのように送信しますか
- 10. 初期化時にIUnityContainerをWCFサービスに送信
- 11. WCFサービスを使用してMSMQにメッセージを送信する
- 12. WCF RESTサービスにパラメータを追加してファイルを送信
- 13. AzureのWCFサービスにデータの "大きな"コレクションを送信
- 14. Biztalk:カスタムアダプタでマルチパートメッセージの送受信
- 15. のWindows Phone 7 - WCFサービスに送信されていないクッキー
- 16. BizTalk WCFとSoapアクション
- 17. BizTalk 2010のWCF-Adapterを使用したPeoplesoftサービスの
- 18. 複合型をksoap2-androidからwcfサービスに送信する方法は? wcfサービスの設定方法
- 19. DatapowerクライアントエラーWCFサービスへの応答の送信
- 20. WCF Webサービスへのksoapリクエストの複雑なタイプの送信
- 21. biztalk wcf統合の問題
- 22. IListをWCFに送信する方法
- 23. ロード中にWCFメッセージを送信する
- 24. PHPのSoapClientを使用してUTF-16文字をWCFサービスに送信
- 25. WCFサービスを介してSoapHeaderをASMXサービスに転送
- 26. WCFエラー:IDチェック送信メッセージ
- 27. .NETクライアントからGETリクエストを非WCFのプレーンXML Webサービスに送信
- 28. WCFサービス(クライアント)とWCFアプリケーション(サーバー)間の通信にサービス参照を使用する
- 29. クライアントにサービスを呼び出さずに、WCFサービスからクライアントにデータを送信できますか?
- 30. (WCFを通じてエンティティを送信中)WCFテストクライアントエラーは、サービスを呼び出すために失敗しました
これは当てはまりません。 BizTalkメッセージは、マルチレコードEDIファイルを処理した結果です。各レコードは個々のBizTalkメッセージに逆アセンブルされます。 EDIヘッダー情報は、各BizTalkメッセージ内のコンテキストプロパティに変換されます。したがって、この情報は無意味ではありません。 – Rich
私が言ったように、BizTalkの外には意味がありません。あなたが本当に必要とするのは、カスタムWCF SoapヘッダーへのBizTalkメッセージのコンテキスト内のプロパティの変換*または適合*です。それらのソープヘッダーは、外部サービスとの契約の一部でなければなりません。私がリンクしているページを見てください。 WCFとSOAPアダプターの間のSOAPヘッダーの処理の違いの基本的な概要が必要な場合は、私のブログをご覧ください。http://maximelabelle.wordpress.com/2010/09/16/handling-soap-headers -in-biztalk-wcf-services / –