アプリケーション・コンポーザ(Application Composer)を使用し、Fusionから外部Webサービスを呼出すことができます。
呼出すコードはGroovy Scriptで実装できます。SOAP APIとREST APIに対応しています。
※アプリケーション・コンポーザ(Application Composer)は何かは別記事で記載予定。
前提条件
- OIC(Oracle Integration Cloud)にREST APIを構築し、それを呼出対象とします。
- REST APIの認証方式はベーシック認証
- GETメソッドを使用します
- URLパラメータが2つある想定
- Content-Typeはなし
Fusionにカスタムオブジェクトを作成し、カスタム画面でパラメータを選んで、REST APIを呼出します。
REST APIの呼出手順
サンドボックスをアクティブ化し、アプリケーション・コンポーザを開きます。
下記手順はアプリケーション・コンポーザでの操作になります。
1. カスタム・オブジェクトを作成します。
オブジェクト-カスタム・オブジェクトの「作成」ボタンを押下し、必要な情報を入力します。
2. Webサービスを登録します。
共通設定-Webサービスを開きます。「作成」ボタンを押下します。
RESTを選びます。
必要な情報を登録します:
- 名前:Webサービスに名前を付けます。Groovyでこの名前を使用します。
- URL:REST APIのURL。{}のように変数を入れます。
- 認証スキーム:今回はベーシック認証を使用します。
- GETメソッドを選択します。
- リクエスト・ペイロード、レスポンス・ペイロードは指定なしにします。
ベーシック認証に使用する資格証明キーがないと、GroovyでAPI呼出時に認証エラーになってしまうので、登録する必要があります。
+ボタンで資格証明キー情報を作成します。
- CSFキー:Create a CSF Key
- ユーザ名:ベーシック認証ユーザ名
- パスワード:ベーシック認証パスワード
3. URLパラメータ用フィールドを作成します。
作成したカスタムオブジェクトの「フィールド」画面を開きます。必要なフィールドを作成します。
4. ページにフィールドを追加します。
作成したカスタムオブジェクトの「ページ」画面を開きます。対象ページにフィールドを追加します。
5. Groovy Scriptを実装します。
作成したカスタムオブジェクトの「サーバー・スクリプト」画面を開きます。「オブジェクト関数」タブを選び、「追加」ボタンを押下し関数を作成します。
関数名はあとで画面上のボタンと紐付けて関数を使用します。
今回のGroovyコード:
// Query for REST API
println("Enter REST API Script.")
def myParameter01 = Parameter01_c //登録したフィールドの物理名
def myParameter02 = Parameter02_c //登録したフィールドの物理名
def urlparam = "urlparam?name1=" + myParameter01 + "&value1=" + myParameter02
println("urlparam=" + urlparam)
def conn = adf.webServices.REST_API //REST_APIは登録したWebサービス名
try {
def httpHeaders=['Content-Type':'']
conn.requestHTTPHeaders=httpHeaders
def WSResponse = conn.GET(urlparam)
if(!WSResponse)
println("Did not receive a response from REST API.")
else {
println("Did receive a response from REST API.")
}
} catch(Exception e) {
println("Headers:"+conn.responseHTTPHeaders)
println("Status:"+conn.statusCode)
println("Error:"+e)
}
注意しておきたいのは、httpヘッダのContent-Typeは、アプリケーション・コンポーザがデフォルトで"application/json"にしているようです。REST API側の設定に合わせないと、415 Unsupported Media Typeエラーが出ます。
また、printlnで出力したログは、共通設定-「ランタイム・メッセージ」画面で確認可能です。
※ロギングの有効化が選択されていることが前提条件
6. ボタンとGroovy Scriptを紐づけます。
作成したカスタムオブジェクトの「処理およびリンク」画面を開きます。「作成」ボタンを押下し、必要な情報を入力します。
7. ページにボタンを追加します。
パラメータフィールドを設定したページに、作成したボタンを追加します。
8. セキュリティを設定します。
作成したカスタムオブジェクトの「セキュリティ」画面を開きます。
※ カスタムオブジェクトをアクセスするには、Custom Objects Administration (ORA_CRM_EXTN_ROLE)のロールが必要になります。
上記で一通り手順が終了です。作成したページをホーム画面またはナビゲータにリンクを追加したい場合は、Home Page and Navigationを参照してください。