オーケストレーションを Web サービスにマップする方法
オーケストレーションには、複数の受信ポートを設定できます。 BizTalk Web サービス公開ウィザードを使用して、Web サービスとして公開する受信ポートを選択します。 このウィザードでは、受信ポートごとに 1 つの Web サービス (.asmx ファイル) が作成されます。 また、すべての受信ポートに対して 1 つの Web サービスが作成されます (すべて同じ種類 (一方向または要求 - 応答) の受信ポートである場合)。 操作は関数呼び出しになります。 受信ポートでの各操作は Web メソッドになり、 要求操作は入力パラメータになります。 応答操作は戻り値の型になります。
要求操作と応答操作が同じ Web メッセージ型の場合、入力パラメーターは ref になり、戻り値の型は void になります。 ASP.NET Web クライアントは、同じ種類の入力および出力パラメータを組み合わせて、Web メソッドの署名を変更することができます。 たとえば、ASP.NET Web クライアントでは、BizTalk Web メソッドを 文字列 myService(string part) から void myService(ref string part) に変更できます。
操作メッセージの種類によって Web メソッドの署名が定義されます。 また、各メッセージの種類の部分が Web メソッドのパラメータになります。
メッセージの種類の部分名とターゲットの名前空間
XmlRootAttribute が指定されたドキュメント スキーマとユーザー定義クラスは、ターゲット名前空間を定義したメッセージ型の部分です。 EDI スキーマ、 XmlRootAttribute が 指定されていないユーザー定義クラス、 System.String などの組み込み型は、定義されたターゲット名前空間のないメッセージ型の部分です。
メッセージの種類の部分名に設定されている内容 | 使用されるパラメータ名 |
---|---|
ターゲットの名前空間が定義されている | ルート要素名 |
ターゲットの名前空間が定義されていない | メッセージの種類の部分名 |
Note
応答メッセージにマルチパート メッセージの種類が使用されていると、BizTalk Web サービス公開ウィザードは、最初のメッセージ部分を戻り値に使用し、残りのメッセージ部分は出力パラメータとして使用します。
複数の操作を含むオーケストレーション
オーケストレーションに複数の操作が含まれる場合、複数の送信ポートではなく 1 つの送信ポートを使用するようにオーケストレーションを設計する必要があります。 この設計により、BizTalk Web サービス発行ウィザードで複数の Web サービス (.asmx) ファイルが作成されるのを防ぎ、すべての操作が同じ呼び出しパターン (すべての一方向操作またはすべての要求応答操作) を持つ場合にのみ機能します。 単一の受信ポートに、一方向の操作と要求 - 応答操作の両方を含めることはできません。
Note
BizTalk Web サービス公開ウィザードは、パブリックの受信ポートを表示します。 パブリックの受信ポートは、パブリックの型修飾子を持つ種類のポートです。 パブリック ポートは、Web サービスとしてのみ公開できます。 既定のポートの種類は "内部" です。
Note
受信ポートが一方向として定義されている場合、Web メソッドの応答の種類は void であり、Web クライアントに情報は返されません。 SOAP アダプタやオーケストレーションによってスローされる例外は、Web クライアントには返されません。
公開オーケストレーションの Web サービスの名前付け規則
BizTalk Web サービス発行ウィザードは、オーケストレーション名前空間に基づいて Web サービス (.asmx) ファイル名を生成し、その後にアンダースコア ()、型名、アンダースコア (\)、その後に受信ポートの名前を生成します。 ピリオドを含む部分は、アンダースコア (_) で置き換えられます。 Web サービスの名前には、必ず、ポート名が付加されます。
次の表を使用して、BizTalk Web サービス公開ウィザードが Web サービス名を生成する方法を説明します。
オーケストレーションの数 (含まれる Web ポートの数) | 生成される Web サービス名 |
---|---|
1 つのオーケストレーション (1 つの Web ポートを含む) | orchestration1_port1.asmx |
1 つのオーケストレーション (2 つの Web ポートを含む) | orchestration1_port1.asmx と orchestration1_port2.asmx |
2 つのオーケストレーション (それぞれ 1 つの Web ポートを含む) | orchestration1_port1.asmx と orchestration2_port2.asmx |
参照
Web サービスとしてのオーケストレーションの公開
BizTalk Web サービス発行ウィザードを使用してオーケストレーションを Web サービスとして発行する方法