接続の確立
JDBC データソースの作成
Java アプリケーションから接続するJDBC データソースを作成できます。CData JDBC Driver for SAP Ariba Source に基づくJDBC データソースの作成は、3つの基本ステップで構成されます。
- ドライバーのJAR ファイルをクラスパスに追加します。JAR ファイルはインストールディレクトリの[lib]サブフォルダ内にあります。.lic ファイルはJAR ファイルと同じフォルダ内に配置される必要があることに注意してください。
- ドライバークラスを入力します。次に例を示します。
cdata.jdbc.saparibasource.SAPAribaSourceDriver
- JDBC URL を入力します。次に例を示します。
jdbc:saparibasource:API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;InitiateOAuth=GETANDREFRESH;OAuthClientId=testClient;OAuthClientSecret=testClientSecret; or jdbc:cdata:saparibasource:API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;InitiateOAuth=GETANDREFRESH;OAuthClientId=testClient;OAuthClientSecret=testClientSecret;
上記の2つ目の形式は、同じURL 形式を使用しているドライバー間でアプリケーションに競合がある場合は、CData ドライバーを使用していることを確認するために常に使用できます。URL は "jdbc:saparibasource:" または"jdbc:cdata:saparibasource:" のいずれかから始まり、任意の接続プロパティの名前と値のペアをセミコロン区切りで入力します。
SAP Ariba への接続
接続するには以下を設定します。
- API:本製品 にSAP Ariba データを取得させたいAPI を指定。ビジネスロールに基づき、Supplier、Sourcing Project Management、またはContract API を選択します。
- DataCenter:アカウントのデータがホストされているデータセンター。
- Realm:アクセスしたいサイト名。
- Environment:テスト環境、サンドボックス環境、本番環境のどれに接続するかを指定。
Supplier Data API またはContract API に接続する場合は、さらに以下を設定します。
- User:API 呼び出しを行うユーザーのId。
- PasswordAdapter:認証するUser に関連付けられたパスワード。
最後に、Supplier API に接続している場合は、ProjectId をデータを取得したいソーシングプロジェクトのId に設定します。
SAP Ariba への認証
SAP Ariba API への認証はOAuth 経由で行われます。SAP Ariba のOAuth フローは、ユーザーインタラクションを必要としません。
OAuthClient
AuthScheme をOAuthClient に設定します。
サービスにアプリケーションを登録し、APIKey、OAuthClientId、およびOAuthClientSecret を取得する必要があります。
アプリケーションの作成については、カスタムOAuth アプリの作成 を参照してください。
InitiateOAuth のデフォルトは、OAuthClient 認証スキームのGETANDREFRESH です。
OAuth の自動リフレッシュ
OAuth アクセストークンの取得およびリフレッシュ
以下を設定して、接続してください。
- APIKey:アプリケーション設定のApplication key。
- OAuthClientId:アプリケーション設定のOAuth Client Id。
- OAuthClientSecret:アプリケーション設定のOAuth Secret。
接続すると、本製品 は自動でOAuth プロセスを完了します。
- 本製品 はSAP Ariba からアクセストークンを取得し、それを使ってデータをリクエストします。
- 本製品 はアクセストークンの期限が切れると自動的にリフレッシュします。
- OAuth 値はOAuthSettingsLocation で指定された場所に基づいてメモリに保存されます。
OAuth の手動リフレッシュ
OAuth アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
- APIKey:アプリケーション設定のApplication key。
- OAuthClientId:アプリケーション設定のOAuth Client Id。
- OAuthClientSecret:アプリケーション設定のOAuth Secret。
次に、GetOAuthAccessToken ストアドプロシージャを呼び出します。GrantType インプットをclient_credentials またはopenapi_2lo(レガシーユーザーで利用可能)に設定します。指定されていない場合、GrantType のデフォルトはclient_credentials になります。
アクセストークンとリフレッシュトークンを取得した後、データに接続し、OAuth アクセストークンを自動または手動でリフレッシュすることが可能です。
OAuth アクセストークンの自動リフレッシュ
本製品 がOAuth アクセストークンを自動的にリフレッシュするようにするには、最初のデータ接続で次のように設定します。
- InitiateOAuth:REFRESH。
- APIKey:アプリケーション設定のApplication key。
- OAuthClientId:アプリケーション設定のOAuth Client Id。
- OAuthClientSecret:アプリケーション設定のOAuth Secret。
- OAuthAccessToken:GetOAuthAccessToken によって返されたアクセストークン。
- OAuthRefreshToken:GetOAuthAccessToken によって返されたリフレッシュトークン。
OAuth アクセストークンの手動リフレッシュ
データ接続時に手動でOAuth アクセストークンをリフレッシュするために必要な値は、OAuth リフレッシュトークンのみです。 GetOAuthAccessToken によって返されたExpiresIn パラメータ値が経過した後に、RefreshOAuthAccessToken ストアドプロシージャを使用し、手動でOAuthAccessToken をリフレッシュします。次の接続プロパティを設定します。
- APIKey:アプリケーション設定のApplication key。
- OAuthClientId:アプリケーション設定のOAuth Client Id。
- OAuthClientSecret:アプリケーション設定のOAuth Secret。
次に、RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを指定します。新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定し、新しい接続をオープンします。
最後に、OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。