36 Oracle Sales CloudでのSOAP Webサービス起動のトラブルシューティング

Oracle Sales Cloudでは、SOAP Webサービス起動の結果をログに記録してから、アプリケーション・コンポーザランタイム・メッセージ・ツールを使用して、記録されたログ・エントリを表示できます。

一般的な概要

SOAP Webサービス起動の結果をトラブルシューティングするには、起動の結果をログに記録するメカニズムを設定する前に、最初にWebサービスをOracle Sales Cloudに登録する必要があります。Oracle Sales Cloudオブジェクト・ページ上のボタンに関連付けられたグローバル関数をコールすることにより、結果をログに記録できます。最後に、結果を分析するには、Webサービスの出力が格納されたOracle Sales Cloudランタイム・メッセージ・コンテナにアクセスする必要があります。

前提条件

Oracle Sales CloudでSOAP Webサービス起動の結果を記録および表示する前に、次の各事項について検討してください。

  • 次のOracle Sales Cloudユーザー・ロールの1つがあることを確認します。
    • CRMアプリケーション管理者

    • アプリケーション実装コンサルタント

    • 営業管理者

    注意:

    これらのロールのいずれもない場合は、管理者に問い合わせてください。
  • Oracle Sales Cloudにサインオンします。

  • テストの場合、アクティブ化した開発サンドボックスで作業していることを確認してください。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。

  • 必要なSOAP Webサービスが予期したとおりに公開されて動作していることを確認してください。

  • Oracle Sales CloudでSOAP Webサービスを構成および起動する方法の詳細は、「Oracle Sales CloudでのSOAP Webサービスの使用」を参照してください。

SOAP Webサービス参照の作成

Oracle Sales Cloudアプリケーション・コンポーザ・ユーティリティを使用して、使用対象のSOAP Webサービスを登録できます。

このサブタスクを開始する前に必ず、起動する予定のSOAP Webサービスに関する主な詳細を把握しておいてください。これらの詳細には、次が含まれます。
  • WSDL URL

  • 予期される入力パラメータ

  • レスポンス出力の構造

  • 使用中のセキュリティ・スキーム

始めに、次の手順に従います。

  1. アプリケーション・コンポーザを開きます。「Oracle Sales Cloudアプリケーション・コンポーザ・ユーティリティの概要」を参照してください。
  2. 「共通設定」の下で、「Webサービス」タスクを選択します。
  3. 右側の「Webサービス」パネルで、「Webサービス参照の作成」アイコンをクリックします。
    「SOAP Webサービス接続の作成」パネルが表示されます。
  4. 次のフィールドに必要な値を指定します。
    1. 「名前」を入力します。これは、Webサービス・エンドポイントを参照するために使用する、意味のある一意の名前である必要があります。
    2. 「WSDL URL」を入力してから、「WSDLの読取り」をクリックします。
      SOAP Webサービスに正常に接続されている場合、「サービス」および「ポート」の値が自動的に移入されます。
    3. SOAP Webサービスによってサポートされている「セキュリティ・スキーム」を選択します。
      Oracle Sales Cloudは、次の表に示すとおり、SOAP Webサービスにアクセスするために6つの「セキュリティ・スキーム」をサポートしています。
      セキュリティ・スキーム 資格証明キー 送信暗号化鍵 ユーザー名 パスワード タイムスタンプ検証の無効化
      なし 適用なし 適用なし 適用なし 適用なし 適用なし
      基本認証を使用して起動 必須 適用なし 必須 必須 適用なし
      SSL経由で個別のユーザー資格証明を使用して起動 必須 適用なし 必須 必須 オプション
      個別のユーザー資格証明およびメッセージ保護を使用して起動 必須 必須 必須 必須 オプション
      SAMLを使用して現在のユーザー資格証明で起動 適用なし 適用なし 適用なし 適用なし オプション
      メッセージ保護を含むSAMLを介したユーザー・アイデンティティの伝播 必須 必須 必須 必須 オプション

      各属性の意味は、次のとおりです。

      • 資格証明キー – 資格証明ストアにファイリングされたキーで、「ユーザー名」および「パスワード」で構成されており、Webサービスにアクセスするために使用されます。

      • 送信暗号化鍵 – キー・ストアに格納されているセキュリティ証明書を識別するための別名。

      • 「ユーザー名」および「パスワード」 – Webサービスへのアクセスを確立するために必要で、これらは、「資格証明キー」を構成するコンポーネントです。

      • タイムスタンプ検証の無効化 – レスポンス・ヘッダー内のタイムスタンプを無視できます。タイムスタンプがHTTPヘッダーに渡されるときにWebサービスによってリクエストが拒否される場合、このパラメータが必要になる場合があります。

    4. 右上隅で、「保存して閉じる」をクリックします。
      これで、「Webサービス」リージョンに新しい「Webサービス参照」が表示されます。
これで、新しいSOAPの「Webサービス参照」が作成され、これは現在、「Webサービス」リージョンにリストされています。

SOAP Webサービスをコールするグローバル関数の作成

Oracle Sales Cloudアプリケーション・コンポーザ・ユーティリティを使用して、「グローバル関数」ノードの下に新しい関数を作成できます。

このサブタブを完了するには、次のステップに従います。
  1. サンドボックスをアクティブ化し、アプリケーション・コンポーザを有効にします。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. アプリケーション・コンポーザを開きます。「Oracle Sales Cloudアプリケーション・コンポーザ・ユーティリティの概要」を参照してください。
  3. 左側に表示される「アプリケーション・コンポーザ」パネルで、「共通設定」を展開し、「グローバル関数」をクリックします。
  4. 右側の「グローバル関数」パネルで、ツールバーの「グローバル関数の追加...」アイコンをクリックします。
    「グローバル関数の作成」インタフェースが開きます。
  5. 必要なフィールドに入力します。
    1. 関数名 – 関数のプログラム関連名を入力します。
    2. 戻り – 関数の戻りタイプを入力します。
    3. オプションで、「説明」および「例」を追加します。
    4. パラメータ – 必要な場合、必要なパラメータを追加します。「パラメータ」の横の「矢印」アイコンを展開してから、「パラメータの追加」をクリックし、「名前」およびデータの「Type」を入力します。この例では、タイプ「文字列」のパラメータが使用されています。
    5. 関数本体 – Groovyスクリプト・コードを入力します。この例では、「関数」がSOAP Webサービスをコールします。
    6. 「グローバル関数の作成」パネルの右上隅にある「検証」ボタンをクリックし、コーディングのエラーがないことを確認します。
      下図は、グローバル関数の構成の例を示しています。
    7. 「グローバル関数の作成」パネルの右上隅の「保存して閉じる」をクリックします。


注意:

このタスクの後半では、この関数を拡張し、SOAP Webサービス・レスポンスのログ記録をアプリケーション・コンポーザランタイム・メッセージに含める必要があります。

新しいグローバル関数を作成したため、これがアプリケーション・コンポーザ「グローバル関数」リージョンに表示されます。

グローバル関数へのログ文の追加

Oracle Sales Cloudアプリケーション・コンポーザランタイム・メッセージ・コンテナにログ・エントリを記録するために、任意のGroovyスクリプトでprintln関数を使用できます。この例では、前のサブタスクで作成したグローバル関数を変更します。

始めに、次の手順に従います。
  1. サンドボックスをアクティブ化し、アプリケーション・コンポーザを有効にします。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. アプリケーション・コンポーザを開きます。「Oracle Sales Cloudアプリケーション・コンポーザ・ユーティリティの概要」を参照してください。
  3. 左側に表示される「アプリケーション・コンポーザ」パネルで、「共通設定」を展開し、「グローバル関数」をクリックします。
  4. 右側のパネルで、ツールバーにある「選択した関数の編集...」アイコンをクリックします。
    「グローバル関数の編集」リージョンが開きます。
  5. Groovyスクリプト・エディタ・ウィンドウで、「関数本体」の下で、正しい構文を使用して1つ以上のprintln文を入力します。printlnコマンドを使用して、SOAP Webサービス・コールから入手する情報とともにログ・エントリを記録します。
    次に例を示します。
    try { println "Sales — Start of CreditCheck Web Service request" Map result = adf.webServices.creditCardCheck.getNewATTCreditCheck(customerId) println "Sales — Credit check for customer :" + customerId println "Sales — Web Service output" println "Sales — Result: " + result println "Sales — End of Credit Check Web Service request" }catch (e){ println "Sales — getCreditCheck: Exception" + e }

    注意:

    すべてのログ・メッセージの先頭にアプリケーション・コンテナ名を追加することにより、追加したデータに基づいてログをソートおよびフィルタできるようにし、ログ・レコードを論理的にグループ化することをお薦めします。
  6. 「グローバル関数の作成」ペインの右上隅にある「検証」ボタンをクリックし、Groovyスクリプトのエラーがないことを確認します。
    グローバル関数コードが変更され、SOAP Webサービスをコールし、返された情報がアプリケーション・コンポーザランタイム・メッセージ・コンテナに記録されるようになっています。
  7. 「グローバル関数の編集」リージョンの右上隅の「保存して閉じる」をクリックします。
これで、ログ・エントリを格納するためのprintln文が既存のグローバル関数に含まれました。これらのログ・エントリは、使用されているアプリケーション・コンテナ用のアプリケーション・コンポーザランタイム・メッセージ・コンテナで使用できます。

グローバル関数をコールするアクションの作成

このサブタスクでは、既存のOracle Sales Cloudグローバル関数をコールするアクションを作成します。下記の手順では、説明を目的としてアプリケーション・コンポーザ内の営業アプリケーション・コンテナと商談オブジェクトを使用します。

始めに、次の手順に従います。
  1. サンドボックスをアクティブ化し、アプリケーション・コンポーザを有効にします。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. アプリケーション・コンポーザを開きます。「Oracle Sales Cloudアプリケーション・コンポーザ・ユーティリティの概要」を参照してください。
  3. 左側のパネルの上部近くで、「アプリケーション」ドロップダウンから「営業」 を選択します。
  4. その下で「オブジェクト」を展開し、標準オブジェクトを展開します。
  5. 「商談」ノードを展開します。
  6. 「アクションとリンク」をクリックします。
    「商談: アクションとリンク」インタフェースが表示されます。
  7. ツールバーにある「作成」アイコンをクリックします。
  8. 必要な情報を指定します。
    1. 表示ラベル – リンクまたはボタン用として表示する名前を入力します。
    2. 名前 – プログラム関連名を入力します。
    3. Type「アクション」を選択します。
    4. ソース「スクリプト」を選択します。
  9. 「スクリプト」リージョンの下で、「メソッド名」の左側の+アイコンをクリックし、「オブジェクト関数の作成」インタフェースを表示し、必要なフィールドを指定します。
    1. 関数名 – プログラム関連名を入力します。
    2. 戻り – 「void」を選択します。これは、この「関数」「アクション」に関連付けるために必要です。
    3. 「パラメータ」の下で、「スクリプトの編集」インタフェースで、右側のツールバーの「関数パレットの表示/非表示」アイコンをクリックしてから、「カテゴリ」の下の「関数」タブで、「グローバル」をクリックし、目的のグローバル関数を選択します。
    4. 次に、関数パレットの右下隅の「挿入」ボタンをクリックします。
    5. 他の必要なGroovyコードを「スクリプトの編集」インタフェースに入力し、有効な関数を確認します。
      次に例を示します。
      println "Starting getCreditCheck action" adf.util.getCreditCheck(nvl(AccountName,"")) //Use nvl() to avoid warning. println "Ending getCreditCheck action"

      注意:

      AccountNameは、「フィールド」タブから選択してGroovyスクリプトで参照できる商談オブジェクト・フィールドです。
    6. パネルの右上側で、「検証」をクリックし、Groovyスクリプトにエラーがないことを確認します。
    7. 「保存して閉じる」をクリックします。
      「オブジェクト関数の作成」インタフェースが閉じ、「商談: アクションとリンク」インタフェースが表示されます。
  10. 右上隅で、「保存」をクリックします。
    「アクションとリンク」インタフェースが表示されます。
「アクション」が作成され、該当するオブジェクトの「アクションとリンク」パネルにリストされています。

グローバル関数をコールするボタンの追加

このサブタスクでは、アプリケーション・コンポーザを使用して、Oracle Sales Cloudで既存のアクションを起動するボタンを構成します。下記の手順では、説明を目的として営業アプリケーション・コンテナと商談オブジェクトを使用します。また、詳細ページ・レイアウトの下の「デフォルト・レイアウト」をカスタマイズします。

始めに、次の手順に従います。
  1. サンドボックスをアクティブ化します。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. Oracle Sales Cloud「ナビゲータ」メニューから、「ツール」カテゴリの下の「アプリケーション・コンポーザ」をクリックします。
  3. 左側のパネルの上部近くで、「アプリケーション」ドロップダウンから「営業」 を選択します。
  4. その下で「オブジェクト」を展開し、標準オブジェクトを展開します。
  5. 「商談」ノードを展開します。
  6. 「ページ」をクリックし、右側の「商談: ページ」インタフェースを表示します。
  7. 「簡易ページ」タブが選択されていることを確認します。
  8. 詳細ページ・レイアウトの下で、レイアウト(この場合は「デフォルト・レイアウト」)を選択します。
  9. 上にある「レイアウトの編集」アイコン(鉛筆によって表されています)をクリックし、「アクション」ドロップダウンを閉じます。
    詳細レイアウト: デフォルト・レイアウトパネルが表示されます。
  10. 右上隅の近くにある「編集」アイコン(鉛筆によって表されています)をクリックし、「アクション」ドロップダウンを閉じます。
    詳細レイアウト: デフォルト・レイアウト: ボタンとアクションパネルが表示されます。
  11. 「使用可能なボタン」の下にリストされている目的アクションを選択してから、「>」アイコン(右矢印)をクリックし、右側の「選択したボタン」リストに追加します。
  12. オプションで、右側の上下矢印を使用して「選択したボタン」リスト内のボタンの位置を変更できます。
  13. 右上で、「保存して閉じる」をクリックします。
    詳細レイアウト: デフォルト・レイアウトパネルが表示されます。
  14. 右上で、「完了」をクリックします。
    「商談: ページ」インタフェースが表示されます。
これで、選択したオブジェクトおよびレイアウトに対してアクションを起動するボタンが構成されました。商談オブジェクトの詳細レイアウトをテストし、新しいボタンが想定どおりの場所に表示されるかどうかを確認できます。

ランタイム・メッセージのログ記録の有効化

このサブタブでは、Oracle Sales Cloudアプリケーション・コンポーザを使用して、ランタイム・メッセージでのアプリケーション・スクリプトのログ記録を有効化します。

始めに、次の手順に従います。
  1. サンドボックスをアクティブ化し、アプリケーション・コンポーザを有効にします。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. アプリケーション・コンポーザを開きます。「Oracle Sales Cloudアプリケーション・コンポーザ・ユーティリティの概要」を参照してください。
  3. このタスクのために商談オブジェクトを使用しているため、左側のパネルの最上部近くにある「営業」アプリケーション・コンテナを選択します。
  4. 「オブジェクト」ノードの下にある「共通設定」を展開します。
  5. 「ランタイム・メッセージ」をクリックします。
    ページがリフレッシュされ、「ランタイム・メッセージ」インタフェースが表示されます。
  6. 「アプリケーション・スクリプト・ロギングの有効化」チェック・ボックスを選択します。

    制限事項:

    この設定は、ログインしたユーザーおよび選択したアプリケーション・コンテナに対してのみ適用されます。

    最上部の近くに表示されるアプリケーション・サーバードロップダウン内のアプリケーション・コンテナを設定することもできます。

この時点で、アプリケーション・スクリプト・ロギングがオンになり、通常の場合と同様にOracle Sales Cloudを使用し続けることができます。ここで、ログ記録が想定どおりに機能しているかどうかをテストすることをお薦めします。これを行うには、「商談」オブジェクト詳細ページ内の1つ以上のレコードにナビゲートし、この例で構成したオブジェクトをクリックし、SOAP Webサービス出力をログに記録します。

ランタイム・メッセージにログ記録されたWebサービス出力の表示

このサブタブが完了した後、Oracle Sales Cloudランタイム・メッセージ・ログを使用してWebサービス起動の出力を表示および分析できるようになります。この例では、営業アプリケーション・コンテナを使用します。

重要:

次のステップを実行する前に、ランタイム・メッセージ・コンテナに一定量のWebサービス出力が記録されていることを確認してください。このドキュメントの前のサブタスクが正常に完了したら、該当するSOAP Webサービスを起動し、ランタイム・メッセージ内の結果を取り込むことができます。

始めに、次の手順に従います。

  1. サンドボックスをアクティブ化し、アプリケーション・コンポーザを有効にします。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. アプリケーション・コンポーザを開きます。「Oracle Sales Cloudアプリケーション・コンポーザ・ユーティリティの概要」を参照してください。
  3. 左側に表示されるパネルで、「アプリケーション」ドロップダウンが、デバッグ対象のオブジェクトおよびランタイム・アクティビティのアプリケーション・コンテナに設定されていることを確認します。この例では、「営業」が選択されていることを確認します。
  4. 「共通設定」ノードを展開します。
  5. 「ランタイム・メッセージ」を選択します。
  6. 「ランタイム・メッセージ」リージョンの下で、「リフレッシュ」ボタンをクリックします。
    選択したアプリケーション・コンテナ・ログが取得され、「ランタイム・メッセージ」リージョンに表示されます。

注意:

ログ・レコードの先頭にアプリケーション・コンテナ名が追加されている場合、それに基づいてソートおよびフィルタできます。

現在のユーザーのOracle Sales Cloud「アプリケーション・スクリプト・ログ」が、選択したアプリケーション・コンテナの「ランタイム・メッセージ」リージョンに表示されます。