完了までの時間: 10 分
目的: WCF アダプター サービス開発ウィザードを使用すると、インターネット インフォメーション サービス (IIS) や Windows プロセス アクティブ化サービス (WAS) などのホスト環境でホストできる WCF サービスを生成できます。 このトピックでは、ウィザードを使用して WCF サービス ファイルを生成する方法について説明します。
[前提条件]
ウィザードを実行する前に、次をインストールします。
Microsoft Windows Communication Foundation (WCF) 基幹業務 (LOB) アダプター SDK は 、[完了 ] オプションまたは [カスタム ] オプション (このオプションで [ツール ] を選択) のいずれかです。 これにより、WCF アダプター サービス開発ウィザード用の Visual Studio テンプレートがインストールされます。
BizTalk アダプター パックに含まれる Microsoft BizTalk Adapter for mySAP Business Suite。
必要な SAP クライアント ライブラリ。
これらの前提条件の詳細については、BizTalk アダプター パックのインストール ガイドを参照してください。 インストール ガイドは通常、 <インストール ドライブ>:\Program Files\Microsoft BizTalk Adapter Pack\Documents にインストールされます。
SAP 成果物を WCF サービスとして発行するには
Visual Studio を起動し、プロジェクトを作成します。
[ 新しいプロジェクト ] ダイアログ ボックスの [ プロジェクトの種類 ] ウィンドウで、[ Visual C#] を選択します。 [テンプレート] ウィンドウ で 、[ WCF アダプター サービス] を選択します。
または、[ プロジェクトの種類 ] ウィンドウで [Visual C#] を展開し、[ Web] を選択します。 [テンプレート] ウィンドウ で 、[ WCF アダプター サービス] を選択します。
注
Web 開発コンポーネントと共に Visual Studio 2013 をインストールした場合は、[新しい Web サイト] オプションから WCF アダプター サービス テンプレートも使用できます。
ソリューションの名前と場所を指定し、[OK] をクリック します。 WCF アダプター サービス開発ウィザードが起動します。
[ようこそ] ページで [次へ] をクリックします。
[操作の選択] ページで、SAP システムに接続する接続文字列を指定します。 これを行うには、次の手順を実行します。
[ バインドの選択 ] ボックスの一覧で[ sapBinding] をクリックし、[ 構成] をクリックします。
[ アダプターの構成 ] ダイアログ ボックスで、[ セキュリティ ] タブをクリックします。
クライアント 資格情報の種類 の一覧で、[ ユーザー名] を選択し、SAP システムに接続するための有効な SAP ユーザー名とパスワードを指定します。
[ URI プロパティ ] タブをクリックし、接続パラメーターの値を指定します。 SAP アダプターの接続 URI の詳細については、SAP システム接続 URI の作成を参照してください。
注
接続パラメーターに予約文字 (XML 特殊文字など) が含まれている場合は、[ URI プロパティ ] タブで as-is を指定する必要があります。つまり、エスケープ文字は使用しません。 ただし、[ URI の構成 ] ボックスで直接 URI を指定し、接続パラメーターに予約文字が含まれている場合は、適切なエスケープ文字を使用して接続パラメーターを指定する必要があります。
[ バインドのプロパティ ] タブをクリックし、ターゲットにする操作に必要なバインディング プロパティの値 (ある場合) を指定します。 このチュートリアルでは、特定の顧客の販売注文の一覧を取得するために、BAPI_SALESORDER_GETLIST RFC が呼び出されます。 販売注文情報には、日付列が含まれている場合もあります。 日付列の値を取得するときは、メタデータを生成するときに EnableSafeTyping バインド プロパティを True に設定することをお勧めします。 このプロパティが設定されている場合、SAP DATS データ型は文字列として表示されます。
SAP データ型を同等の .NET 型にマップする方法の詳細については、「 基本的な SAP データ型」を参照してください。
バインディング プロパティの詳細については、「 BizTalk Adapter for mySAP Business Suite のバインド プロパティ」を参照してください。
[ OK] をクリックし、[ 接続] をクリックします。 接続が確立されると、接続の状態が [接続済み] と表示されます。
[操作の選択] ページの [ コントラクトの種類の選択 ] ボックスの一覧で、[ クライアント (送信操作)] をクリックします。
[ カテゴリの選択 ] ボックスで、SAP 成果物の種類を展開します。 たとえば、 RFC ノードを展開して、WCF サービスを生成する RFC を含む機能グループを確認します。
[ 利用可能なカテゴリと操作 ] ボックスで、WCF サービスを生成する操作を選択し、[ 追加] をクリックします。 選択した操作は、[追加された カテゴリと操作 ] ボックスに一覧表示されます。
注
成果物ごとに複数の操作を追加できます。 また、さまざまな SAP 成果物に対する操作を追加することもできます。 たとえば、RFC 用と IDOC 用に 1 つの操作を追加できます。 さらに、検索式でワイルドカード文字を指定することで、特定の操作を検索できます。 サポートされている特殊文字と、操作を検索できるノード レベルの詳細については、「アダプター メタデータの追加ウィザードを使用した Visual Studio での SAP への接続」を参照してください。
この例では、SD_RFC_CUSTOMER_GET RFC と BAPI_SALESORDER_GETLIST RFC が追加されます。
注
SAP システムの一部のバージョンでは、SD_RFC_CUSTOMER_GETではなく、RFC_CUSTOMER_GET RFC が公開されています。
[操作の選択] ページで、[ 次へ] をクリックします。
[サービスとエンドポイントの動作の構成] ページで、サービスとエンドポイントの動作を構成する値を指定します。
[ サービス動作の構成 ] ボックスで、次の値を指定します。
プロパティの場合 値を指定する メタデータ交換を有効化 メタデータ交換エンドポイントを作成するには、 これを True に 設定します。 これを True に設定すると、WS-Metadata Exchange (MEX) や HTTP/GET 要求などの標準化されたプロトコルを使用してサービス メタデータを使用できるようになります。
既定値は false です。障害時に例外の詳細を含める デバッグ目的でクライアントに返される SOAP エラーの詳細にマネージド例外情報を含めるには、これを True に設定します。 既定値は false です。 名前 サービス動作構成の名前。 サービス証明書を使用 WCF のメッセージ レベルのセキュリティ モードを使用するかどうかを指定します。 既定値は True です。
このチュートリアルでは、 これを False に設定する必要があります。FindValue X.509 証明書ストアで検索する値を指定する文字列。
手記:UseServiceCertificate が True に設定されている場合にのみ、このプロパティの値を指定します。店舗所在地 サービスがクライアントの証明書の検証に使用できる証明書ストアの場所を指定する値。
手記:UseServiceCertificate が True に設定されている場合にのみ、このプロパティの値を指定します。店名 X.509 証明書ストアを開くための名前。
手記:UseServiceCertificate が True に設定されている場合にのみ、このプロパティの値を指定します。X509FindType 実行する X.509 検索の種類。
手記:UseServiceCertificate が True に設定されている場合にのみ、このプロパティの値を指定します。注
証明書と関連するプロパティの詳細については、 https://go.microsoft.com/fwlink/?LinkId=103771の「X509ClientCertificateCredentialsElement プロパティ」を参照してください。
[ エンドポイント動作の構成 ] ボックスで、次の値を指定します。
プロパティの場合 値を指定する 認証の種類 - これを ClientCredentialUserNamePassword に設定して、クライアントが WCF サービスを使用するときにユーザー名とパスワードを指定できるようにします。
- クライアントが HTTP ヘッダーの一部としてユーザー名とパスワードを指定できるようにするには、これを HTTPUserNamePassword に設定します。
- クライアントが ClientCredential インターフェイスを使用して資格情報を指定できるようにするには、これを Auto に設定します。 これが失敗した場合、クライアントは HTTP ヘッダーの一部として資格情報を渡すことができます。
既定値は Auto です。Microsoft Office SharePoint Server で WCF サービスを使用するには、 これを HTTPUserNamePassword として設定する必要があります。名前 エンドポイント動作構成の名前を指定します。 ユーザー名ヘッダー ユーザー名ヘッダーの名前。 この例では、 MyUserHeader を指定します。 HTTP ヘッダーの詳細については、 https://go.microsoft.com/fwlink/?LinkId=106692の「カスタム HTTP ヘッダーと SOAP ヘッダーのサポート」を参照してください。
手記:認証の種類が HTTPUserNamePassword に設定されている場合は、このプロパティの値を指定する必要があります。 [認証の種類] が [自動] に設定されている場合、このプロパティは省略可能です。パスワードヘッダー パスワード ヘッダーの名前。 この例では、 MyPassHeader を指定します。 HTTP ヘッダーの詳細については、 https://go.microsoft.com/fwlink/?LinkId=106692の「カスタム HTTP ヘッダーと SOAP ヘッダーのサポート」を参照してください。
手記:認証の種類が HTTPUserNamePassword に設定されている場合は、このプロパティの値を指定する必要があります。 [認証の種類] が [自動] に設定されている場合、このプロパティは省略可能です。Von Bedeutung
Microsoft では、最も安全で使用可能な認証オプションを使用することをお勧めします。 この手順で説明する認証方法では、非常に高い信頼が必要であり、他の認証方法には存在しないリスクが伴います。 この認証方法は、他の方法が実行できない場合にのみ使用してください。
次の図は、指定した値を持つ [サービスとエンドポイントの動作の構成] ページを示しています。
[サービスとエンドポイントの動作の構成] ページで、[ 次へ] をクリックします。
[サービス エンドポイントのバインドとアドレスの構成] ページの [ 構成するコントラクトの選択 ] ボックスに、[操作の選択] ページで操作を選択した SAP 成果物が一覧表示されます。
RFCとIDOCで成果物を選択した場合、構成するコントラクトの選択 に両方のRFCとIDOCがリストされます。 RFC のみを選択した場合、ボックスには RFC のみが一覧表示されます。
選択したコントラクト ボックスの下の [操作] には、[操作の選択] ページで各成果物に対して選択した操作が表示されます。
[ コントラクトのアドレスとバインドの構成 ] ボックスで、次の値を指定します。
プロパティの場合 値を指定する バインディング設定 ウィザードでは、基本的な HTTP バインドのみがサポートされます。 そのため、バインド構成フィールドは System.ServiceModel.Configuration.BasicHttpBindingElement に自動的に設定されます。
省略記号ボタン (...) をクリックして、HTTP バインドのプロパティを変更します。 セキュリティで保護された通信チャネルを使用するには、常に Mode プロパティを トランスポートに設定する必要があります。 ウィザードは、 Mode プロパティの既定値を トランスポートとして設定します。
公開されている他のバインドの詳細については、 https://go.microsoft.com/fwlink/?LinkId=103773の「BasicHttpBindingElement メンバー」を参照してください。[エンドポイント名] コントラクトのエンドポイント名を指定します。 このページの他のフィールドは、前のページで指定した値に基づいて自動的に設定されます。
[適用] をクリックします。 [構成するコントラクトの選択] ボックスに表示されるすべての コントラクト に対して、この手順を実行します。
注
このページで値を指定しない場合は、すべてのコントラクトで既定値が受け入れられます。
次の図は、指定した値を持つ [サービス エンドポイントのバインドとアドレスの構成] ページを示しています。
の構成
[サービス エンドポイントのバインドとアドレスの構成] ページで、[ 次へ] をクリックします。 [概要] ページには、SAP 成果物のツリー構造と、その下に各成果物に対して選択された操作が一覧表示されます。
概要を確認し、[ 完了] をクリックします。
ウィザードによって WCF サービスが作成され、次のファイルが Visual Studio プロジェクトに追加されます。
.svc ファイル。 これは WCF サービス ファイルです。 ウィザードでは、コントラクトごとに 1 つのファイルが生成されます。
Web.config ファイル
サービス コード (.cs ファイル)
WCF サービスを発行します。
インターネット インフォメーション サービス (IIS) で SSL が有効になっていることを確認します。 IIS の SSL を有効にする方法については、 https://go.microsoft.com/fwlink/?LinkId=197170を参照してください。
ソリューション エクスプローラーでプロジェクトを右クリックし、[ 発行] をクリックします。
[ Web の発行 ] ダイアログ ボックスで、WCF サービスの URL を指定します。 例えば次が挙げられます。
https://<computer_name>/Customer_Order/
[ コピー ] ボックスで、[ すべてのプロジェクト ファイル] をクリックします。
[公開] をクリックします。
WCF サービスが正常に発行されたことを確認します。
IIS Microsoft 管理コンソールを起動します。 [ スタート] をクリックし、[ 管理ツール] をポイントし、[ インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
サービスを発行したノードに移動します。 Customer_Order サービスの場合は、インターネット インフォメーション サービス><Computer Name>>Web Sites>Default Web Site>Customer_Order に移動します。
右側のウィンドウで、Rfc.svc ファイルを右クリックし、[ 参照] をクリックします。
Web ページには、WSDL を取得するための URL が表示されます。 svcutil コマンドを使用してメタデータの取得をテストできます。 たとえば、Customer_Order サービスのメタデータを取得するコマンドは次のとおりです。
svcutil.exe https://<computer_name>/Customer_Order/Rfc.svc?wsdl
次の手順
SAP 成果物のアプリケーション定義ファイルを作成するには、ビジネス データ カタログ定義エディターを使用します。 手順については、「 手順 2: SAP 成果物のアプリケーション定義ファイルを作成する 」を参照してください。 アプリケーション定義ファイルは、LOB データが格納される場所と、そのデータが格納される形式を識別します。