WCF-NetNamedPipe 送信ポートの構成
WCF-NetNamedPipe 送信ポートは、プログラムから、または BizTalk 管理コンソールを使用して構成できます。
構成プロパティ
BizTalk エクスプローラー オブジェクト モデルは、TransportTypeData の読み取り/書き込みプロパティを持つ ITransportInfo という名前の送信ポート用のアダプター固有のインターフェイスを公開します。 このプロパティでは、名前と値の組の XML 文字列の形式で WCF-NetNamedPipe 送信ポートの構成プロパティ バッグを指定できます。
ITransportInfo インターフェイスの TransportTypeData プロパティは必要ありません。 このプロパティを設定しない場合は、次の表に記載されている WCF-NetNamedPipe 送信ポートの構成の既定値がアダプタで使用されます。
次の表に、BizTalk エクスプローラ オブジェクト モデルで WCF-NetNamedPipe 送信ポート用に設定できる構成プロパティを示します。
プロパティ名 | Type | 説明 |
---|---|---|
ID | XML BLOB(例:<identity> <userPrincipalName value="username@contoso.com" /> </identity> |
この送信ポートが必要とするサービスの ID を指定します。 これらの設定により、この送信ポートでサービスを認証できます。 クライアントとサービスの間のハンドシェイク プロセスでは、Windows Communication Foundation (WCF) インフラストラクチャによって、この要素の値と予期されるサービスの ID が照合されます。 既定値は空の文字列です。 |
StaticAction | String | 送信メッセージの SOAPAction ヘッダー フィールドを指定します。 このプロパティは、メッセージ コンテキスト プロパティ WCF を使用して設定することもできます 。 パイプラインまたはオーケストレーションのアクション。 この値は、単一アクション形式とアクション マッピング形式の 2 つの異なる方法で指定できます。 このプロパティを単一のアクション形式 (例: ) で設定した場合、 http://contoso.com/Svc/Op1 送信メッセージの SOAPAction ヘッダーは常に、このプロパティで指定された値に設定されます。 アクション マッピング形式でこのプロパティを設定した場合、送信 SOAPAction ヘッダーは BTS によって決定されます 。操作 コンテキスト プロパティ。 たとえば、このプロパティが次の XML 形式と BTS に設定されている場合です。Operation プロパティは Op1 に設定され、WCF 送信アダプターは送信 SOAPAction ヘッダーに使用http://contoso.com/Svc/Op1 します。 <BtsActionMapping> <Operation Name="Op1" Action="http://contoso.com/Svc/Op1" /> <Operation Name="Op2" Action="http://contoso.com/Svc/Op2" /> </BtsActionMapping> 送信メッセージがオーケストレーション ポートから送信される場合、オーケストレーション インスタンスは BTS を動的に設定します 。ポートの操作 名を持つ Operation プロパティ。 送信メッセージがコンテンツ ベースのルーティングでルーティングされる場合は、BTS を設定できます 。 パイプライン コンポーネントの Operation プロパティ。 既定値は空の文字列です。 |
OpenTimeout | System.TimeSpan | チャネルを開く操作が完了するまでの間隔を示す期間値を指定します。 既定値: 00:01:00 |
SendTimeout | System.TimeSpan | 送信操作が完了するまでの間隔を示す期間値を指定します。 送信請求 - 応答の送信ポートを使用する場合は、サービスから大きいメッセージが返される場合でも、この値には対話処理がすべて完了するまでの時間を指定します。 既定値:00:01:00 |
CloseTimeout | System.TimeSpan | チャネルを閉じる操作が完了するまでの間隔を示す期間値を指定します。 既定値:00:01:00 |
MaxReceivedMessageSize | 整数型 | 有線ネットワーク上で受信できる、ヘッダーを含むメッセージの最大サイズをバイト単位で指定します。 メッセージのサイズは、各メッセージに割り当てられているメモリの量に制限されます。 このプロパティを使用して、サービス拒否 (DoS) 攻撃にさらされる危険性を制限できます。 既定値:65536 |
EnableTransaction | Boolean | WS-AtomicTransaction プロトコルを使用して、メッセージを宛先サービスに送信し、トランザクション コンテキストで MessageBox データベースから削除するかどうかを指定します。 既定値: False |
TransactionProtocol | 列挙型 - OleTransaction - WS-AtomicTransaction |
このバインドで使用するトランザクション プロトコルを指定します。 既定値: OleTransaction |
SecurityMode | 列挙型 - なし- これにより、セキュリティが無効になります。 - トランスポート: - セキュリティは、基になるトランスポート ベースのセキュリティを使用して提供されます。 このモードでは保護レベルを制御することができます。 |
使用するセキュリティの種類を指定します。 既定値: トランスポート |
TransportProtectionLevel | 列挙型 - なし - 保護なし。 - 署名 - メッセージは署名されます。 - EncryptAndSign - メッセージは暗号化され、署名されます。 |
名前付きパイプの保護レベルを指定します。 メッセージに署名を付けることで、メッセージの転送中に第三者によって改ざんされるリスクが軽減されます。 暗号化によって、トランスポート中にデータ レベルのプライバシーが提供されます。 既定値: EncryptAndSign |
OutboundBodyLocation | 列挙型 - UseBodyElement - BizTalk メッセージ本文パーツを使用して、送信メッセージの SOAP Body 要素のコンテンツを作成します。 - UseTemplate - OutboundXMLTemplate プロパティに指定されたテンプレートを使用して、送信メッセージの SOAP Body 要素のコンテンツを作成します。 OutboundBodyLocation プロパティの使用方法の詳細については、「WCF アダプターのメッセージ本文の指定」を参照してください。 |
送信 WCF メッセージの SOAP Body 要素のデータ選択を指定します。 既定値: UseBodyElement |
OutboundXMLTemplate | String OutboundXMLTemplate プロパティの使用方法の詳細については、「WCF アダプターのメッセージ本文の指定」を参照してください。 |
送信メッセージの SOAP Body 要素のコンテンツに XML 形式のテンプレートを指定します。 OutboundBodyLocation プロパティが UseTemplate に設定されている場合は、このプロパティが必要です。 既定値は空の文字列です。 |
InboundBodyLocation | 列挙型 - UseBodyElement - 受信メッセージの SOAP Body 要素のコンテンツを使用して、BizTalk メッセージ本文パーツを作成します。 Body 要素に複数の子要素がある場合、最初の要素のみが BizTalk メッセージ本文パーツになります。 このプロパティは、送信請求 - 応答のポートに対してのみ有効です。 - UseEnvelope - 受信メッセージの SOAP エンベロープ 全体から BizTalk メッセージ本文部分を作成します。 - UseBodyPath - InboundBodyPathExpression プロパティの本文パス式を使用して、BizTalk メッセージ本文パーツを作成します。 本文パス式は、受信メッセージの SOAP Body 要素の直接の子要素に対して評価されます。 このプロパティは、送信請求 - 応答のポートに対してのみ有効です。 InboundBodyLocation プロパティの使用方法の詳細については、「WCF アダプターのメッセージ本文の指定」を参照してください。 |
受信 WCF メッセージの SOAP Body 要素のデータ選択を指定します。 既定値: UseBodyElement |
InboundBodyPathExpression | String InboundBodyPathExpression プロパティの使用方法の詳細については、「WCF Adapters プロパティ のスキーマとプロパティ」を参照してください。 |
BizTalk メッセージのボディ部を作成するために使用する受信メッセージの特定の部分を示すボディ パス式を指定します。 この本文パス式は、受信メッセージの SOAP 本文 ノードの直接の子要素に対して評価されます。 このボディ パス式で複数のノードが返される場合は、最初のノードのみが BizTalk メッセージのボディ部に対して選択されます。 このプロパティは、 InboundBodyLocation プロパティが UseBodyPath に設定されている場合に必要です。 このプロパティは、送信請求 - 応答のポートに対してのみ有効です。 既定値は空の文字列です。 |
InboundNodeEncoding | 列挙型 - Xml - Base64 - Base64 エンコード。 - 16 進数 - 16 進エンコード。 - String - テキスト エンコード - UTF-8。 - XML - WCF アダプターは、 InboundBodyPathExpression の本文パス式によって選択されたノードの外部 XML を使用して BizTalk メッセージ本文を作成します。 |
InboundBodyPathExpression で指定された本文パスによって識別されるノードのデコードに WCF-NetNamedPipe 送信アダプターが使用するエンコードの種類を指定します。 このプロパティは、 InboundBodyLocation プロパティが UseBodyPath に設定されている場合に必要です。 このプロパティは、送信請求 - 応答のポートに対してのみ有効です。 既定値: XML |
PropagateFaultMessage | Boolean - True - 送信処理に失敗したメッセージをサブスクライブ アプリケーション (別の受信ポートやオーケストレーション スケジュールなど) にルーティングします。 - False - 失敗したメッセージを中断し、否定受信確認 (NACK) を生成します。 |
送信処理に失敗したメッセージをルーティングまたは中断するかどうかを指定します。 このプロパティは、送信請求 - 応答のポートに対してのみ有効です。 既定値: True |
BizTalk 管理コンソールを使用して WCF-NetNamedPipe 送信ポートを構成する
BizTalk 管理コンソールで、WCF-NetNamedPipe 送信ポート アダプタの変数を設定できます。 プロパティが送信ポートに設定されていない場合は、前の表に記載されている WCF-NetNamedPipe 送信ポートの構成の既定値が使用されます。
WCF-NetNamedPipe 送信ポートの変数を構成する
BizTalk 管理コンソールで、新しい送信ポートを作成するか、既存の送信ポートをダブルクリックして変更します。 詳細については、「 送信ポートを作成する方法」を参照してください。 すべての送信ポート オプションを構成し、[全般] タブの [トランスポート] セクションの [種類] オプションに WCF-NetNamedPipe を指定します。
[ 全般 ] タブの [ トランスポート ] セクションで、[種類] の横にある [構成 ] ボタンをクリック します。
[ WCF-NetNamedPipe トランスポートのプロパティ ] ダイアログ ボックスの [ 全般 ] タブで、WCF-NetNamedPipe 送信ポートのエンドポイント アドレス、サービス ID、 および SOAPAction ヘッダーを構成します。 [WCF-NetNamedPipe トランスポートのプロパティ] ダイアログ ボックスの [全般] タブの詳細については、UI ガイダンスと開発者 API 名前空間リファレンスの「WCF-NetNamedPipe トランスポートのプロパティ] ダイアログ ボックスの [送信]、[全般] タブ」を参照してください。
[ WCF-NetNamedPipe トランスポートのプロパティ ] ダイアログ ボックスの [ バインド ] タブで、タイムアウトとトランザクションのプロパティを構成します。 [WCF-NetNamedPipe トランスポートのプロパティ] ダイアログ ボックスの [バインド] タブの詳細については、UI ガイダンスと開発者 API 名前空間リファレンスの「WCF-NetNamedPipe トランスポートのプロパティ] ダイアログ ボックスの [送信]、[バインド] タブ」を参照してください。
[ WCF-NetNamedPipe トランスポートのプロパティ ] ダイアログ ボックスの [ セキュリティ ] タブで、WCF-NetNamedPipe 送信ポートのセキュリティ機能を定義します。 [WCF-NetNamedPipe トランスポートのプロパティ] ダイアログ ボックスの [セキュリティ] タブの詳細については、UI ガイダンスと開発者 API 名前空間リファレンスの「WCF-NetNamedPipe トランスポートのプロパティ] ダイアログ ボックスの [送信]、[セキュリティ] タブ」を参照してください。
[ WCF-NetNamedPipe トランスポートのプロパティ ] ダイアログ ボックスの [ メッセージ ] タブで、SOAP Body 要素のデータ選択を指定します。 [WCF-NetNamedPipe トランスポートのプロパティ] ダイアログ ボックスの [メッセージ] タブの詳細については、UI ガイダンスと開発者 API 名前空間リファレンスの「WCF-NetNamedPipe トランスポートのプロパティ] ダイアログ ボックスの [送信]、[メッセージ] タブ」を参照してください。
WCF-NetNamedPipe 送信ポートをプログラムで構成する
次の形式を使用してプロパティを設定できます。
<CustomProps>
<TransportProtectionLevel vt="8">EncryptAndSign</TransportProtectionLevel>
<TransactionProtocol vt="8">OleTransactions</TransactionProtocol>
<InboundBodyPathExpression vt="8" />
<PropagateFaultMessage vt="11">-1</PropagateFaultMessage>
<CloseTimeout vt="8">00:01:00</CloseTimeout>
<OutboundBodyLocation vt="8">UseBodyElement</OutboundBodyLocation>
<StaticAction vt="8">http://www.northwindtraders.com/Service/Operation</StaticAction>
<SendTimeout vt="8">00:01:00</SendTimeout>
<InboundNodeEncoding vt="8">Xml</InboundNodeEncoding>
<EnableTransaction vt="11">0</EnableTransaction>
<SecurityMode vt="8">Transport</SecurityMode>
<InboundBodyLocation vt="8">UseBodyElement</InboundBodyLocation>
<OpenTimeout vt="8">00:01:00</OpenTimeout>
<OutboundXmlTemplate vt="8"><bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="xml"/></OutboundXmlTemplate>
<MaxReceivedMessageSize vt="3">2097152</MaxReceivedMessageSize>
</CustomProps>
次のコードは、WCF-NetNamedPipe 送信ポートの作成方法を示しています。
// Use BizTalk Explorer object model to create new WCF-NetNamedPipe send port.
string server = System.Environment.MachineName;
string database = "BizTalkMgmtDb";
string connectionString = string.Format("Server={0};Database={1};Integrated Security=true", server, database);
string transportConfigData = @"<CustomProps>
<StaticAction vt=""8"">http://www.northwindtraders.com/Service/Operation</StaticAction>
<OpenTimeout vt=""8"">00:01:00</OpenTimeout>
</CustomProps>";
//requires project reference to \Program Files\Microsoft BizTalk Server 2009\Developer Tools\Microsoft.BizTalk.ExplorerOM.dll
BtsCatalogExplorer explorer = new Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer();
explorer.ConnectionString = connectionString;
// Add a new BizTalk application
Application application = explorer.AddNewApplication();
application.Name = "SampleBizTalkApplication";
// Save
explorer.SaveChanges();
// Add a new static one-way send port
SendPort sendPort = application.AddNewSendPort(false, false);
sendPort.Name = "SampleSendPort";
sendPort.PrimaryTransport.TransportType = explorer.ProtocolTypes["WCF-NetNamedPipe"];
sendPort.PrimaryTransport.Address = "net.pipe://mycomputer/private/samplequeue";
sendPort.PrimaryTransport.TransportTypeData = transportConfigData; // propertyData; // need to change
sendPort.SendPipeline = explorer.Pipelines["Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"];
// Save
explorer.SaveChanges();
参照
WCF アダプター プロパティ スキーマおよびプロパティ
WCF アダプターのメッセージ本文の指定
WCF アダプターの証明書のインストール
WCF-NetNamedPipe アダプターの構成
WCF アダプター コンテキスト プロパティによる動的送信ポートの構成