機械翻訳について

統合での障害マッピングの定義

統合でフォルト・マッピングを定義できます。 このマッピングでは、ターゲットとして使用されるOracle Databaseアダプタ・フォルトが、WSDLで定義されたソース形式に変換されます。 Oracle Databaseアダプタを統合のスコープ・アクションに追加し、スコープ・アクションのフォルト・ハンドラ部分でこのフォルトを選択します。

serviceInvocationErrorフォルト・マッピングがWSDLで定義されている

マッパーでは、serviceInvocationErrorの要素によってランタイム・フォルトの詳細が提供されます:
  • type: 障害のタイプ。

  • title: フォルトのタイトル。

  • detail: 障害の原因に関する情報。

  • errorCode: フォルト・コードに関する情報。

  • remedialAction: 障害を修正する方法。

このフォルト構造は、アウトバウンド起動で例外が発生した場合(主キー違反など)、実行時に移入されます。

マップ・データ統合でアダプタを使用する場合、マッパーで使用できるのは、reasondetailおよびerrorCodeのみです。

アダプタの起動(アウトバウンド)で例外(NumberFormatException)が発生したと仮定します。 例外はフォールト・マッピングにマップされ、WSDLコントラクトで定義されているソース形式に戻されます。 この使用例では、整数型のみを受け入れるストアド・プロシージャが使用されます。 非整数値を渡すことによってアダプタを起動すると、Oracle Integrationによって障害がレポートされます。

障害マッピングを定義するには:

  1. SOAPアダプタおよびOracle Databaseアダプタの接続を作成します。
  2. アプリケーション統合を作成します。
  3. SOAPアダプタを統合キャンバスにトリガーとしてドラッグします。
    アダプタ・エンドポイント構成ウィザードが表示されます。
  4. SOAPアダプタを構成します(この例ではs1という名前です)。
  5. 「アクション」パレットから、「スコープ」アクションを「SOAPアダプタ」の下にドラッグします。
  6. 「起動」パレットから、Oracle Databaseアダプタをスコープ内にドラッグします。
    アダプタ・エンドポイント構成ウィザードが表示されます。
  7. 入力パラメータとして整数のみを受け入れるストアド・プロシージャを起動する操作を選択します(この例では、アダプタの名前はdb1です)。
  8. Oracle Databaseアダプタのマッピングを定義します。
  9. 統合キャンバスで、「再配置」をクリックし、スコープ内のs1マップを移動します。
  10. s1のマッピングを定義します。
  11. 「フォルト・ハンドラ」部分をクリックし、Oracle Database : serviceInvocationError db1を選択します。
  12. 「アクション」パレットから、「フォルト・ハンドラ」の中に「フォルトの戻り」アクションをドラッグします。
  13. フォールト・マッピングを定義します。
    障害のルート要素はserviceInvocationErrorです。 障害には、障害の詳細を含む他の要素が含まれます: type, title, detail, errorCodeおよびremedialAction detail要素には、障害原因に関する情報が格納されます。 remedialAction要素は、障害を修正するアクションを示します。
  14. メニュー・アイコンメニューから「トラッキング」を選択し、トラッキング・フィールドを定義します。
  15. SOAP UIから文字列値(非整数値)を渡して、統合をアクティブ化して起動します。
    <typ:getOrganization>
       <typ:partyId>test</typ:partyId>
    </typ:getOrganization>

    フォルト・レスポンスは、次のような情報を返します:

    <nstrgmpr:code>XSD object conversion error</nstrgmpr:code>
      <nstrgmpr:message>An error occurred while parsing XML representing a Java object.</nstrgmpr:message>
    <nstrgmpr:severity>Unable to convert the XSD element DATA_IN whose SQL type is INTEGER and JDBC type is INTEGER. Cause: java.lang.NumberFormatException: For input string: "test"</nstrgmpr:severity>
    <nstrgmpr:detail>
    <nstrgmpr:code>serviceInvocationError</nstrgmpr:code>
    <nstrgmpr:message>Check to ensure that the XML data describing the object matches the definition of the element in the XSD.</nstrgmpr:message>
    <nstrgmpr:detail>
    <nstrgmpr:code/>
    <nstrgmpr:message/>
    <nstrgmpr:severity/>
    <nstrgmpr:detail/>
    </nstrgmpr:detail>
    <nstrgmpr:detail xsi:type="nstrgmpr:ServiceErrorMessage" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </nstrgmpr:detail>
    </nstrgmpr:ServiceErrorMessage>
    </detail>