Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム ファーストステップガイド


5.2.3 DeliveryReceiptサービスアダプタの定義

DeliveryReceiptサービスアダプタについて,機能要件,設定値および設定手順を説明します。この項の操作は,管理者または管理者特権で実行してください。

〈この項の構成〉

(1) 機能要件

DeliveryReceiptサービスアダプタは,RESTful Webサービスである配送受付サービスを呼び出すHTTPアダプタです。次の条件を満たすように作成します。

(a) HTTPメソッド

  • POST

(b) データ形式

  • JSON

(c) URL

  • スキーム:http

  • オーソリティ:localhost:8008

  • パス:/orders/deliveries

(d) インタフェース

変数名

入力

引当番号

reservationNumber

NCName

出力

配送番号

deliveryNumber

NCName

これらの要件を満たしたDeliveryReceiptサービスアダプタの構成を次の図に示します。

図5‒4 DeliveryReceiptサービスアダプタの構成

[図データ]

(2) アダプタの作成

DeliveryReceiptサービスアダプタを定義するときに設定する値を次の表に示します。

表5‒2 DeliveryReceiptサービスアダプタを定義するときに設定する値

属性名

属性値

サービス種別

HTTPアダプタ

サービス名

DeliveryReceipt

サービスID

DelAdp

最大インスタンス数

0(初期値)

オペレーション

deliverItem

通信モデル

同期(初期値)

システム例外をフォルトに変換する

チェックしない(初期値)

フォルト名

fault_deliverItem

DeliveryReceiptサービスアダプタの追加と定義手順を次に示します。

  1. ツリービューの[サービス定義一覧]を選択し,右クリックして,[サービスアダプタ追加]を選択します。

    サービスアダプタの種別を設定するダイアログが表示されます。

  2. ドロップダウンリストから「HTTPアダプタ」を選択して,[次へ]ボタンをクリックします。

    HTTPアダプタの追加に必要な情報を入力するダイアログが表示されます。

  3. サービス名に「DeliveryReceipt」を入力します。

  4. [終了]ボタンをクリックします。

    サービスアダプタ「DeliveryReceiptサービスアダプタ」が作成され,サービスアダプタ定義画面が表示されます。

  5. サービスアダプタ定義(基本)画面で次のように設定します。

    • 「サービスID」に「DelAdp」を設定

    • 「最大インスタンス数」に「0」(初期値)を設定

    • 「オペレーション」の「追加」ボタンをクリックし,オペレーション名に「deliverItem」,「フォルト名」に「fault_deliverItem」を設定して,[OK]ボタンをクリック

    • 「システム例外をフォルトに変換する」のチェックを外す(初期値)

    • 「通信モデル」に「同期」(初期値)を設定

    設定後のサービスアダプタ定義(基本)タブの例を次に示します。

    [図データ]

    オペレーション情報の通信モデルは「同期」から変更しないでください。

  6. メニューから[ファイル]−[保管]を選択します。

(3) 電文フォーマットの作成

HTTPアダプタに設定する要求電文と応答電文の電文フォーマット(XMLスキーマ)は,使用するJSONからcscjson2xsdコマンドを実行して作成します。

注意

ここで作成するJSONファイルは,すべて文字コードUTF-8で作成してください。

(a) 要求電文

要求電文のXMLスキーマの作成について説明します。ここで作成したXMLスキーマ「input_Del.xsd」は,HTTPアダプタの要求電文に設定します。

  • コマンドで使用するJSONファイルの作成

    テキストエディタを起動し,次の内容のJSONファイルを作成します。このファイルの内容は,DeliveryReceiptサービスアダプタが配送受付サービスを呼び出す際の電文の一例です。

    {"reservationNumber": "R00000001"}

    ここでは,ファイル名をinput_Del.jsonとし,このJSONファイルを任意の場所に格納します。

  • cscjson2xsdコマンドの実行例

    この実行例では,入力するJSONファイルの格納場所を「C:\Users\work」,入力するJSONファイルの名称を「input_Del.json」,出力するXMLスキーマの名称を「input_Del.xsd」をとしています。

    C:\Users\work>"%COSMINEXUS_HOME%\CSCTE\bin\cscjson2xsd.bat" -in input_Del.json -out input_Del.xsd
    KECT93001-I Execution of the command will now start. (command = cscjson2xsd)
    KECT93002-I Execution of the command ended normally. (command = cscjson2xsd)
  • 作成されたXMLスキーマ(input_Del.xsd)

    コマンド実行後,次の内容のXMLスキーマ「input_Del.xsd」が作成されます。

    実際に作成されるXMLスキーマは,次に示す内容と異なる場合がありますが,スキーマとしての定義内容は同じであるため,問題ありません。

    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
      <xs:element name="csc-object">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="reservationNumber"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="reservationNumber" type="xs:NCName"/>
    </xs:schema>

ここで作成したJSONファイル,およびXMLスキーマのサンプルは次のディレクトリに格納されています。

<Service Architectのインストールディレクトリ>\CSCTE\Samples\SOAP1.1_1.2mode\ProductStock_REST\Schema\DeliveryReceiptAdapter\request

(b) 応答電文

応答電文のXMLスキーマの作成について説明します。ここで作成したXMLスキーマ「output_Del.xsd」は,HTTPアダプタの応答電文に設定します。

  • コマンドで使用するJSONファイルの作成

    テキストエディタを起動し,次の内容のJSONファイルを作成します。このファイルの内容は,配送受付サービスがDeliveryReceiptサービスアダプタに応答する際の電文の一例です。

    {"deliveryNumber": "D00000001"}

    ここでは,ファイル名をoutput_Del.jsonとし,このJSONファイルを任意の場所に格納します。

  • cscjson2xsdコマンドの実行例

    この実行例では,入力するJSONファイルの格納場所を「C:\Users\work」,入力するJSONファイルの名称を「output_Del.json」,出力するXMLスキーマの名称を「output_Del.xsd」としています。

    C:\Users\work>"%COSMINEXUS_HOME%\CSCTE\bin\cscjson2xsd.bat" -in output_Del.json -out output_Del.xsd
    KECT93001-I Execution of the command will now start. (command = cscjson2xsd)
    KECT93002-I Execution of the command ended normally. (command = cscjson2xsd)
  • 作成されたXMLスキーマ(output_Del.xsd)

    コマンド実行後,次の内容のXMLスキーマ「output_Del.xsd」が作成されます。

    実際に作成されるXMLスキーマは,次に示す内容と異なる場合がありますが,スキーマとしての定義内容は同じであるため,問題ありません。

    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
      <xs:element name="csc-object">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="deliveryNumber"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="deliveryNumber" type="xs:NCName"/>
    </xs:schema>

ここで作成したJSONファイル,およびXMLスキーマのサンプルは次のディレクトリに格納されています。

<Service Architectのインストールディレクトリ>\CSCTE\Samples\SOAP1.1_1.2mode\ProductStock_REST\Schema\DeliveryReceiptAdapter\response

(c) 電文フォーマットの指定

作成したXMLスキーマをDeliveryReceiptサービスアダプタに設定します。

  1. ツリービューの[サービス定義一覧]からDeliveryReceiptサービスアダプタをダブルクリックします。

    サービスアダプタ定義(基本)画面が表示されます。

  2. [要求電文]−[サービス部品]−[電文フォーマット]の[参照]ボタンをクリックして,XMLスキーマ「input_Del.xsd」を指定します。

  3. [応答電文]−[サービス部品]−[電文フォーマット]の[参照]ボタンをクリックして,XMLスキーマ「output_Del.xsd」を指定します。

  4. メニューから[ファイル]−[保管]を選択します。

設定後のサービスアダプタ定義(基本)タブの例を次に示します。

[図データ]

(4) 定義ファイルの作成

次に示す定義ファイルを作成します。

それぞれの定義ファイルについて説明します。

(a) HTTPアダプタ実行環境プロパティファイル

HTTPアダプタ実行環境プロパティファイルの作成手順を次に示します。この操作は,管理者または管理者特権で実行してください。

  1. HTTPアダプタ実行環境プロパティファイルのテンプレートファイルをコピー&ペーストします。

    コピー元のテンプレートファイル

    <Service Architectのインストールディレクトリ>\CSC\custom-adapter\HTTP\config\template\serviceid.properties

    コピー先のディレクトリ

    <Service Architectのインストールディレクトリ>\CSC\custom-adapter\HTTP\config

  2. コピー先のファイル名を,<HTTPアダプタのサービスID>.propertiesとなるように「DelAdp.properties」へ変更します。

  3. ファイル「DelAdp.properties」に次のパラメタを追加します。

    追加するパラメタ

    設定値

    説明

    adphttp.request.method

    POST

    POSTメソッドを使用します。

    adphttp.request.uri-scheme-authority

    http://localhost:8008

    スキーム+オーソリティを指定します。

    adphttp.request.uri-path

    /orders/deliveries

    パス名を指定します。

    adphttp.request.header.content-type

    application/json

    HTTPリクエストヘッダのContent-TypeヘッダのメディアタイプにJSON形式を指定します。

    adphttp.request.part.message.binding

    raw

    パススルーモードとし,要求電文(ボディ)で指定したデータをHTTPリクエストボディに設定します。

    記述例を次に示します。

    adphttp.request.method=POST
    adphttp.request.uri-scheme-authority=http://localhost:8008
    adphttp.request.uri-path=/orders/deliveries
    adphttp.request.header.content-type=application/json
    adphttp.request.part.message.binding=raw

HTTPアダプタ実行環境プロパティファイルは,HTTPアダプタの開始時に実行環境に反映されます。そのため,HTTPアダプタを開始済みで,HTTPアダプタ実行環境プロパティファイルの内容を変更する場合は,いったんHTTPアダプタを停止する必要があります。

(b) HTTPアダプタ定義ファイル

HTTPアダプタ定義ファイルの編集方法を説明します。

  1. [サービスアダプタ定義(詳細)]タブでサービスアダプタ定義(詳細)画面に切り替えて,「独自定義ファイル」の「cscadphttp.properties」を選択します。

    「cscadphttp.properties」はHTTPアダプタ定義ファイルです。

  2. [編集]ボタンをクリックしてHTTPアダプタ定義ファイルを開き,次のパラメタを追加します。

    追加するパラメタ

    設定値

    説明

    adphttp.request.switchover.json-transfer.mode

    true

    リクエスト処理時にJSON-XML変換を使用します。

    adphttp.response.switchover.json-transfer.mode

    true

    レスポンス処理時にJSON-XML変換を使用します。

    記述例を次に示します。

    adphttp.request.switchover.json-transfer.mode=true
    adphttp.response.switchover.json-transfer.mode=true
  3. メニューから[ファイル]−[すべて保管]を選択します。