Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerSAP Concur 用 Anypoint Connector (SAP Concur Connector) は、出張および経費管理ソリューションが統合された SAP の SaaS プロバイダーです。
Concur Connector は、Concur と Mule Runtime Engine (Mule) のインスタンス間の双方向ゲートウェイとして機能します。Concur Connector は、Concur API への SOAP および REST コールをサポートする、クローズドソースのコネクタです。
リリースノート: 『SAP Concur Connector リリースノート』
Exchange: SAP Concur Connector
この情報を使用するには、SAP Concur、Mule、Anypoint Connector、Anypoint Studio、Mule の概念、Mule フローの要素、グローバル要素に精通している必要があります。
対象リソースへの接続をテストするには、ログイン情報が必要です。
ソフトウェアの要件および互換性情報については、「コネクタリリースノート」を参照してください。
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-concur</artifactId>
<version>x.y.z</version>
<classifier>mule-plugin</classifier>
</dependency>
xml
x.y.z
を使用しているコネクタに対応するバージョンに置き換えます。
最新の pom.xml
ファイル情報を取得するには、 Anypoint Exchange でコネクタにアクセスし、[Dependency Snippets (連動関係スニペット)] をクリックします。
サポート対象 API の SAP Concur Connector リファレンスを参照してください。
Anypoint Studio には、Studio プロジェクトにコネクタを追加する 2 つの方法があります。Studio タスクバーの Exchange ボタンから追加するか、[Mule Palette (Mule パレット)] ビューから追加します。
Studio で Mule プロジェクトを作成します。
Studio タスクバーの左上にある Exchange アイコン (X) をクリックします。
Exchange で、[Login (ログイン)] をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。
Exchange で、「concur」を検索します。
コネクタを選択して [Add to project (プロジェクトに追加)] をクリックします。
画面の指示に従ってコネクタをインストールします。
Studio で Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューで、[(X) Search in Exchange ((X) Exchange 内を検索)] をクリックします。
[Add Modules to Project (モジュールをプロジェクトに追加)] で、検索項目に「concur」と入力します。
[Available modules (使用可能なモジュール)] で、このコネクタの名前をクリックします。
[Add (追加)] をクリックします。
[Finish (完了)] をクリックします。
このガイドでは、組織内の Concur Connector で発生する可能性がある多数のユースケースのうち 2 つ、リストの一覧の取得とクイック経費の取得について説明します。Concur Connector をダウンロードし、Concur インスタンスのログイン情報を参照するグローバル要素を作成したら、フローのコードを Studio の XML エディターに貼り付けることができます。
新しいプロジェクトと Concur グローバル要素の作成後、次の作業を実行します。
新しいフロー要素をパレットからドラッグして追加し、フローに getlists
などの名前を付けます。
パレットから [HTTP Listener (HTTP リスナー)] をフローにドラッグします。
[HTTP Listener (HTTP リスナー)] をダブルクリックして [Connector Configuration (コネクタ設定)] ドロップダウンの横にある緑のプラス記号をクリックし、[Host (ホスト)] を「localhost」、[Port (ポート)] を「8081」に設定します。
[OK] をクリックしてプロパティウィンドウを閉じ、この HTTP リスナーの [Basic Settings (基本設定)] セクションの [Path (パス)] 項目に値として「getlists」と入力します。
新しいフローに Concur Connector を追加し、コネクタ設定を選択して、[Get list of lists] 操作を選択します。
最後に、[Transform Message] トランスフォーマーをフローに追加します。
参考として、下の方にあるサンプル XML コード内の特定の getlists フローを確認してください。
フローを実行して結果を確認する手順は、次のとおりです。
Package Explorer でプロジェクトを右クリックし、[Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。
Studio コンソールを監視して、アプリケーションが起動したことを確認します。
ブラウザーを開き、http://localhost:8081/getlists
に移動します。
次のような JSON 応答を受け取ります。
{
"Items": [
{
"ListID": "gWjM8QmJmOqZnW2i9MaJqJgAMhR$sGXQ$seYQ",
"Name": "American Express Travel",
"ParentID": null,
"Level1Code": "American Express Travel",
"Level2Code": null,
"Level3Code": null,
"Level4Code": null,
"Level5Code": null,
"Level6Code": null,
"Level7Code": null,
"Level8Code": null,
"Level9Code": null,
"Level10Code": null,
"IsDeleted": false,
"ID": "gWgUluaspXXNeeNwsbk6mGsqOlp0pxJyRWQ",
"URI": "https://implementation.concursolutions.com/api/v3.0/common/listitems/gWgUluaspXXNeeNwsbk6mGsqOlp0pxJyRWQ"
},
…..
json
停止ボタンをクリックして、アプリケーションを実行しているサーバーを停止します。
新しいフロー要素をパレットからドラッグして追加し、「getquickexpenses」という名前を付けます。
[HTTP Listener (HTTP リスナー)] をパレットからドラッグしてフローに追加します。
最初のデモの設定を使用するか、そのフローを作成しなかった場合は、HTTP エンドポイントの [Connector Configuration (コネクタ設定)] の横にある緑のプラス記号をクリックし、[Host (ホスト)] に「localhost」、[Port (ポート)] に「8081」を入力します。
[OK] をクリックしてプロパティウィンドウを閉じ、この HTTP リスナーの [Basic Settings (基本設定)] セクションの [Path (パス)] 項目に値として「getquickexpenses」と入力します。
[Connector Configuration (コネクタ設定)] からグローバル要素を参照して Concur Connector を新しいフローに追加し、実行する操作と他の必要なプロパティを設定します。
最後に、前の例に [Transform Message] トランスフォーマーリンクを追加します。
フローを実行して結果を確認する手順は、次のとおりです。
Package Explorer でプロジェクトを右クリックし、[Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。
アプリケーションの起動時にコンソールを確認します。
ブラウザーを開き、http://localhost:8081/getquickexpenses
に移動します。
次のような JSON 応答を受け取ります。
{"items":{"quickExpense":[{"comment":"","currencyCode":"USD","expenseTypeCode":"UNDEF","expenseTypeName":"Undefined","id":"gWr7TiTHdIi5fyWCPBRPtqjeCIWyv2w","locationName":"","ownerLoginID":"","ownerName":"Unknown","paymentTypeCode":"PENDC","receiptImageID":"","transactionAmount":111.0,"transactionDate":"2018-07-21T00:00:00","uri":"https://www.concursolutions.com/api/v3.0/expense/quickexpenses/gWr7TiTHdIi5fyWCPBRPtqjeCIWyv2w","vendorDescription":""},
{"comment":"","currencyCode":"USD","expenseTypeCode":"UNDEF","expenseTypeName":"Undefined","id":"gWr7TiTXbQ47PtJ$pVkr6CzbLeRVRPww","locationName":"","ownerLoginID":"","ownerName":"Unknown","paymentTypeCode":"PENDC","receiptImageID":"","transactionAmount":111.0,"transactionDate":"2018-07-21T00:00:00","uri":"https://www.concursolutions.com/api/v3.0/expense/quickexpenses/gWr7TiTXbQ47PtJ$pVkr6CzbLeRVRPww","vendorDescription":""},
json
停止ボタンをクリックして、アプリケーションを実行しているサーバーを停止します。