完了までの時間: 10 分
目的: この手順では、既存の vPrev BizTalk プロジェクトに次の変更を加えます。
WCF ベースの SAP アダプターを使用して、SD_RFC_CUSTOMER_GET RFC のメタデータを生成します。
vPrev SAP アダプターを使用して RFC を呼び出すための要求メッセージを、WCF ベースの SAP アダプターを使用して RFC を呼び出すための要求メッセージにマップします。
WCF ベースの SAP アダプターを使用して受信した応答メッセージを、vPrev SAP アダプターの応答メッセージにマップします。
前提条件
- SAP システムで SD_RFC_CUSTOMER_GET RFC を呼び出すには、vPrev BizTalk プロジェクトが必要です。
vPrev BizTalk プロジェクトを変更するには
WCF ベースの SAP アダプターを使用して、SD_RFC_CUSTOMER_GET RFC のメタデータを生成します。 アダプター サービス BizTalk プロジェクト アドインを使用してメタデータを生成できます。
RFC のメタデータを生成する方法については、「 SAP での RFC 操作のメタデータの参照、検索、および取得」を参照してください。 スキーマが生成されると、 SapBindingSchema.xsd のような名前のファイルが BizTalk プロジェクトに追加されます。 このファイルには、WCF ベースの SAP アダプターを使用してSD_RFC_CUSTOMER_GETを呼び出すためのスキーマが含まれています。
SD_RFC_CUSTOMER_GET RFC のメタデータを生成すると、ポート バインド ファイルも作成されます。 次の手順では、このバインド ファイルを使用して、SAP システムにメッセージを送信する WCF-Custom 送信ポートを作成します。 操作の SOAP アクションは、メタデータを生成した操作にも設定されます。 たとえば、SD_RFC_CUSTOMER_GET RFC のメタデータを生成する場合、送信ポートの SOAP アクションの操作名は "SD_RFC_CUSTOMER_GET" になります。 ただし、オーケストレーションの一部として作成する論理送信ポートの操作名は、"Operation_1" のように異なる場合があります。 その結果、送信ポートを使用して SAP システムにメッセージを送信すると、エラーが発生します。 これを回避するには、オーケストレーションの論理送信ポートの操作名が、メタデータを生成した操作名と同じであることを確認します。
そのため、このチュートリアルの場合、SD_RFC_CUSTOMER_GET RFC のメタデータを生成するため、論理送信ポート操作の名前を "SD_RFC_CUSTOMER_GET" に変更します。
要求メッセージの場合は、vPrev SAP アダプターを使用して生成されたスキーマを、WCF ベースの SAP アダプターを使用して生成されたスキーマにマップします。
BizTalk マッパーを BizTalk プロジェクトに追加します。 BizTalk プロジェクトを右クリックし、[ 追加] をポイントし、[ 新しい項目] をクリックします。
[ 新しい項目の追加 ] ダイアログ ボックスの左側のウィンドウで、[ マップ ファイル] を選択します。 右側のウィンドウで、[ マップ] を選択します。 RequestMap.btm など、マップの名前を指定します。 追加をクリックします。
[ソース スキーマ] ウィンドウで、[ オープン ソース スキーマ] をクリックします。
[BizTalk 型選択] ダイアログ ボックスで、プロジェクト名を展開し、[スキーマ] を展開して、vPrev SAP アダプターの要求メッセージのスキーマを選択します。 このチュートリアルでは、 SAP_Migration.SD_RFC_CUSTOMER_GET__x32003 を選択し、[OK] をクリック します。
[ ソース スキーマのルート ノード ] ダイアログ ボックスで、 SD_RFC_CUSTOMER_GET_Requestを選択し、[ OK] をクリックします。
[宛先スキーマ] ウィンドウで、[ 宛先スキーマを開く] をクリックします。
[BizTalk 型選択] ダイアログ ボックスで、プロジェクト名を展開し、[スキーマ] を展開して、WCF ベースの SAP アダプターの要求メッセージのスキーマを選択します。 このチュートリアルでは、 SAP_Migration.SapBindingSchema を選択し、[OK] をクリックします。
[ ターゲット スキーマのルート ノード ] ダイアログ ボックスで、 SD_RFC_CUSTOMER_GETを選択し、[OK] をクリック します。
次の図に示すように、両方のスキーマの各要素をマップします。 左トリムの文字列ファンクトイドを使用して、CUSTOMER_T要素をマップします。 これを行うには、 ツールボックスから 文字列左トリム Functoid をドラッグし、マッパー グリッドにドロップします。 ソース スキーマの CUSTOMER_T 要素を Functoid に接続します。 同様に、変換先スキーマの CUSTOMER_T 要素を Functoid に接続します。 次の図は、Functoid を介して 2 つの要素がどのようにマップされるかを示しています。
間で要求メッセージをマップする
注
文字列左トリム Functoid の詳細については、「文字列左トリム Functoid」を参照してください https://go.microsoft.com/fwlink/?LinkId=105774。
マップを保存します。
応答メッセージの場合は、vPrev SAP アダプターを使用して生成されたスキーマを、WCF ベースの SAP アダプターを使用して生成されたスキーマにマップします。
BizTalk マッパーを BizTalk プロジェクトに追加します。 BizTalk プロジェクトを右クリックし、[ 追加] をポイントして、[ 新しい項目] をクリックします。
[ 新しい項目の追加 ] ダイアログ ボックスの左側のウィンドウで、[ マップ ファイル] を選択します。 右側のウィンドウで、[ マップ] を選択します。 ResponseMap.btm など、マップの名前を指定します。 追加をクリックします。
[ソース スキーマ] ウィンドウで、[ オープン ソース スキーマ] をクリックします。
[BizTalk 型選択] ダイアログ ボックスで、プロジェクト名を展開し、[スキーマ] を展開して、WCF ベースの SAP アダプターの応答メッセージのスキーマを選択します。 このチュートリアルでは、 SAP_Migration.SapBindingSchema を選択し、[OK] をクリック します。
[ ソース スキーマのルート ノード ] ダイアログ ボックスで、 SD_RFC_CUSTOMER_GETResponseを選択し、[OK] をクリック します。
[宛先スキーマ] ウィンドウで、[ 宛先スキーマを開く] をクリックします。
[BizTalk 型選択] ダイアログ ボックスで、プロジェクト名を展開し、[スキーマ] を展開して、vPrev SAP アダプターの応答メッセージのスキーマを選択します。 このチュートリアルでは、 SAP_Migration.SD_RFC_CUSTOMER_GET__x32003 を選択し、[OK] をクリック します。
[ ターゲット スキーマのルート ノード ] ダイアログ ボックスで、 SD_RFC_CUSTOMER_GET_Responseを選択し、[ OK] をクリックします。
次の図に示すように、両方のスキーマの各要素をマップします。
間で応答メッセージをマップする
マップを保存します。
BizTalk ソリューションを保存してビルドします。 ソリューションを右クリックし、[ソリューションの ビルド] をクリックします。
ソリューションをデプロイします。 ソリューションを右クリックし、[ソリューションの デプロイ] をクリックします。
次のステップ
「 手順 2: BizTalk Server 管理コンソールでオーケストレーションを構成する」の説明に従って、WCF-Custom 送信ポートを作成し、この手順で作成したマップを使用するように構成します。