CData BizTalk Adapter for SAP SuccessFactors の Receive Location を構成する
この記事の手順に従って、SAP SuccessFactors のデータに接続し、Static One-Way Receive Location を構成して、シンプルなテスト(SAP SuccessFactors のデータを取得して XML ファイルに書き込む)を実行できます。
Receive Location は SQL コマンドを実行し、結果を含む BizTalk メッセージを作成できます。Updategram コマンドを実行する場合は、Send Port を使用してください。
Receive Port の作成
アプリケーションに Receive Location を追加するには、まず Receive Port を追加する必要があります。Receive Port は複数の Receive Location からデータを受信できます。
- まだ行っていない場合は、BizTalk Administration Console でアプリケーションを開きます。
- アプリケーション内で、Receive Ports を右クリックし、New -> Static One-Way Receive Port をクリックします。Receive Port Properties ダイアログが表示されます。
- Name メニューで、Receive Port の名前を入力します。
Receive Location の作成
Receive Port を作成したら、Receive Location を作成し、SAP SuccessFactors アダプターをトランスポートタイプとして使用するよう構成します。
- Receive Locations を右クリックし、New -> One-Way Receive Location をクリックします。
- 新しい Receive Location がメンバーとなる適切な Receive Port を選択します。Receive Location Properties ダイアログが表示されます。
- Name メニューで、Receive Location の名前を入力します。
- Receive Location プロパティで、Transport Type メニューから CData.SAPSuccessFactors を選択します。
- Receive pipeline メニューで、デフォルトオプションの PassThruReceive を選択します。
アダプターの構成
Transport Properties ダイアログで、アダプターが実行するコマンドを指定します。
- Receive Location プロパティで、Configure をクリックします。アダプターの Transport Properties ダイアログが表示されます。
- SQL Command プロパティに、コマンドを入力します。この例では
SELECT address1, zipCode FROM ExtAddressInfo WHERE city = 'Springfield'
を使用します。
接続文字列の構成
Connection String Options ダイアログで、認証情報やその他の接続プロパティを設定します。
- Receive Location プロパティで、Configure をクリックします。アダプタープロパティダイアログが表示されます。
- Connection String プロパティのボタンをクリックします。
- Connection String プロパティのボックスをクリックします。Connection String Options ダイアログが表示されます。
- 接続プロパティを入力します。一般的な接続文字列は以下のとおりです:
User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;
SAP SuccessFactorsへの接続
それでは、SAP SuccessFactors に接続していきましょう。CData 製品は、デフォルトで有効になっているOData API を介してSAP SuccessFactors と通信します。追加の権限が必要な場合は、SAP サポートサイトをご確認ください。
認証方法として、Azure AD 認証、SAP IAS 認証、OAuth 認証(推奨)、Basic 認証(非推奨)のいずれかを使用してSAP SuccessFactors に認証できます。
必要な接続プロパティ
選択したAuthScheme に関わらず、SAP SuccessFactors 環境を識別するために以下の接続プロパティを設定しましょう。
- URL:SuccessFactors をホストするサーバーのURL
- CompanyId:SAP SuccessFactors テナントに割り当てられた一意の識別子。この値はAPI 認証に必要で、組織固有のものです
OAuth 認証
SAP SuccessFactors では、OAuth 認証を2種類のグラント種別でサポートしています。
- SAP SuccessFactors LMS インスタンスのクライアントグラント種別
- SAML-2 Bearer グラント種別
OAuth 認証を有効にするには、すべてのOAuth フローでカスタムOAuth アプリケーションを作成し、適切なプロパティを設定する必要があります。
デスクトップアプリケーションでカスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。
OAuth アクセストークンの取得およびリフレッシュ
以下のプロパティを設定してください。
- InitiateOAuth:GETANDREFRESH。OAuthAccessToken を自動的に取得およびリフレッシュするために使用します
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId
- CallbackURL:カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI
- OAuthClientSecret (クライアントグラント種別のみ):アプリケーションの登録時に割り当てられたクライアントシークレット
- PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容
接続すると、CData 製品がデフォルトブラウザでSAP SuccessFactors のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えてください。
アプリケーションにアクセス許可を与えると、CData 製品がOAuth プロセスを完了します。
- CData 製品がSAP SuccessFactors からアクセストークンを取得し、それを使ってデータをリクエストします
- OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます
アクセストークンの期限が切れた際は、CData 製品が自動でアクセストークンをリフレッシュします。
カスタムOAuth アプリケーションの作成やその他の認証方法については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご確認ください。
- Test Connection をクリックして、接続値を確認し接続をテストします。
各種プロパティとその機能の説明については、ヘルプドキュメントを参照してください。
Send Port を使用してデータを XML ファイルに書き込む
これで Static One-Way Receive Location を Send Port と共に使用する準備が整いました。Receive Location が作成した BizTalk メッセージには Send Port を関連付ける必要があります。データをファイルに書き込むには、File Send Port を作成します。
- BizTalk Administration コンソールで、Send Ports -> New -> Static One-Way Send Port を右クリックします。
構成ウィンドウの上部に Send Port の名前を入力し、Type メニューから FILE を選択します。
- 宛先フォルダを構成します。これがディスク上にファイルが作成される場所になります。
ファイル名には、マクロを使用してファイルが作成された日付を簡単に識別できます。デフォルトでは %MessageId%.xml が使用されます。ただし、これはランダムに生成された BizTalk ID であるため、ユーザーフレンドリーな名前ではありません。ExtAddressInfo_yyyy-MM-dd.xml 形式のファイルを作成するには、ExtAddressInfo_%Date%.xml と入力します。
注:マクロの詳細については、ヘルプドキュメントの BizTalk Configuration セクションを参照してください。
- OK をクリックします。URI フィールドに値が入力されます。
- Send Port の構成画面の左側で Filters をクリックします。
- 以下のプロパティを設定します:
- Property:メニューから "BTS.InboundTransportLocation" を選択します。
- Operator:メニューから "==" を選択します。
- Value:Receive Location の URI を入力します。URI は Receive Location プロパティに表示されています。
- Operator:メニューから "==" を選択します。
- Property:メニューから "BTS.InboundTransportLocation" を選択します。
これで、Send Port を使用して Receive Location から送信されたファイルを書き込めます。
Location と Port を Enlist および Enable する
最後のステップは、Send Port を Enlist し、Receive Location を Enable することです。Send Port を右クリックして Enlist をクリックします。次に、Receive Location を右クリックして Enable をクリックします。
注:Receive Location は最後に Enable してください。これにより、ファイルが Send Port によって確実に書き込み用にピックアップされます。
トラブルシューティング
エラーが発生しているかどうかを確認するには、Administration Console のナビゲーションツリーで "Event Viewer (Local)" を展開します。Windows Logs を展開し、Applications をクリックします。
ログにはシステム上のすべてのアプリケーションのエラーメッセージが含まれるため、エラーメッセージのソースが "CData BizTalk SAP SuccessFactors Receive Adapter" であることを確認することが重要です。エラーメッセージの詳細から、エラーが発生している理由がわかります。エラーの解決方法については、[email protected]/jp にお問い合わせください。