Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編

手引・操作書

3021-3-J44-70

前書き

対象製品

マニュアル「アプリケーションサーバ & BPM/ESB基盤 概説」の前書きの対象製品の説明を参照してください。

輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。

なお、不明な場合は、弊社担当営業にお問い合わせください。

商標類

Amazon Web Services，AWS，Powered by AWS ロゴ，Amazon Auroraは，Amazon.com, Inc. またはその関連会社の商標です。

Apache(R)，Apache Kafka(R)，およびKafka(R)は，Apache Software Foundationの米国およびその他の国における登録商標または商標です。

IBMは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

Microsoft，Windows，Windows Serverは，マイクロソフト 企業グループの商標です。

Oracle(R)，Java，MySQL及びNetSuiteは，Oracle，その子会社及び関連会社の米国及びその他の国における登録商標です。

その他記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

Eclipseは，開発ツールプロバイダのオープンコミュニティであるEclipse Foundation, Inc.により構築された開発ツール統合のためのオープンプラットフォームです。

This product includes software developed by the Apache Software Foundation (http://www.apache.org/).

ランゲージパックの使用について

このマニュアルでは，Eclipse Babel Projectが提供するBABEL日本語ランゲージパックを適用したEclipseメニュー表記を使用しています。使用するランゲージパックのバージョンによっては，マニュアル内の表記と異なる場合があります。

発行

2025年 4月 3021-3-J44-70

著作権

All Rights Reserved. Copyright (C) 2020, 2025, Hitachi, Ltd.

変更内容

変更内容(3021-3-J44-70) uCosminexus Service Architect 11-60，uCosminexus Service Platform 11-60

追加・変更内容

変更個所

Service PlatformおよびService Architectに次の適用OSを追加した。

Windows Server 2025 Standard

Windows Server 2025 Datacenter

−

スケジュール駆動受付で，逐次処理に次の設定ができるようにした。

待機タスクをイベント発生順に処理できるようにした。

タスクで実行エラーが発生した場合，それ以降のイベント発生時にタスク実行を抑止できるようにした。

2.9.2(1)

［データ変換アクティビティ］ダイアログの項目「データ変換定義」を削除した。

2.11.2(3)，付録D.3(2)，付録D.4(2)，付録D.5(2)，付録D.6(2)，付録F.1(5)，付録G.1(8)，付録G.2(4)

単なる誤字・脱字などはお断りなく訂正しました。

はじめに

このマニュアルをお読みになる際の前提情報については，マニュアル「アプリケーションサーバ & BPM/ESB基盤 概説」のはじめにの説明を参照してください。

1　受付およびサービスアダプタの開発の概要

この章では，受付およびサービスアダプタの開発の概要について説明します。

1.1　システム全体の中の受付およびサービスアダプタの位置づけ

サービスプラットフォームでは，受付でサービスリクエスタからの要求電文を受け付け，サービスアダプタ内で定義されているサービス部品へ要求電文を送信して，サービス部品を呼び出します。

受付およびサービスアダプタが，サービスプラットフォームのシステム全体（開発環境，運用環境および実行環境）の中でどのように位置づけられるかを次の図に示します。

図1‒1　受付およびサービスアダプタの位置づけ

受付およびサービスアダプタは開発環境で定義します。定義した受付およびサービスアダプタを含むHCSCコンポーネントや配備定義はリポジトリに格納して，運用環境にデータを渡します。運用環境に渡されたデータは，実行環境に配備されます。

このマニュアルでは，「開発環境」で実施する受付およびサービスアダプタの定義について説明しています。これ以外で「開発環境」で実施する作業については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」を参照してください。また，運用環境および実行環境で実施する作業については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」を参照してください。

1.2　利用できる受付およびサービスアダプタ

サービスプラットフォームで利用できる受付およびサービスアダプタについて説明します。

1.2.1　利用できる受付

受付には，HCSCサーバの機能として提供している標準受付と，ユーザが任意のインターフェースを定義できるユーザ定義受付があります。

ユーザ定義受付には，特定のビジネスプロセスを呼び出すユーザ定義受付（呼出先固定）と，呼び出すビジネスプロセスを選択できるユーザ定義受付（呼出先選択）があります。2つを区別しない場合は，ユーザ定義受付と表記します。

サービスプラットフォームで利用できる受付の種類を次の表に示します。

表1‒1　利用できる受付の種類

大分類

種別

用途

標準受付

標準受付（Webサービス）

Webサービス（SOAP通信）を使用したシステムでサービス部品呼び出し要求を受け付ける場合

標準受付（SessionBean）

SessionBeanを使用したシステムでサービス部品呼び出し要求を受け付ける場合

標準受付（MDB(WS-R)）

MDB（WS-R）を使用したシステムでサービス部品呼び出し要求を受け付ける場合

標準受付（MDB(DBキュー)）

MDB（DBキュー）を使用したシステムでサービス部品呼び出し要求を受け付ける場合

ユーザ定義受付（呼出先固定）

SOAP受付

Webサービス（SOAP通信）を使用したシステムでサービス部品呼び出し要求を受け付ける場合

TP1/RPC受付

既存のOpenTP1システム内にあるサービスリクエスタからのサービス部品呼び出し要求を受け付ける場合

FTP受付

FTPインバウンドアダプタを経由してFTPクライアントからの実行要求を受け付ける場合※1

HTTP受付

HTTPクライアントからHTTP通信を使用してサービス部品呼び出し要求を受け付ける場合

Message Queue受付

MQリソースアダプタを経由してJMSプロバイダ（IBM MQシステム）からの実行要求を受け付ける場合

ファイルイベント受付

監視対象のフォルダ内にファイルが作成されたことをイベントとして受け付けて，処理を開始する場合

Kafka受付

Kafkaインバウンドアダプタを経由してKafkaからの実行要求を受け付ける場合

スケジュール駆動受付

スケジュールを設定してビジネスプロセスを実行する場合

gRPC受付

gRPCインバウンドアダプタを経由して，gRPCからの実行要求を受け付ける場合

カスタム受付

任意のプロトコルからの実行要求を受け付ける場合※2

ユーザ定義受付（呼出先選択）

HTTP受付

HTTPクライアントからHTTP通信を使用してサービス部品呼び出し要求を受け付ける場合

注※1

サービスプラットフォーム上でFTPクライアントとFTPサーバの間のファイル転送をする場合，FTPアダプタと連携する必要があります。

注※2

任意のプロトコルからの実行要求を受け付けるには，ユーザが作成した受付処理をカスタム受付フレームワーク上で動作させる必要があります。

標準受付を利用するには，それぞれの標準受付の形式に合わせてサービスリクエスタを作成し，さらにサービス部品の入出力形式に合わせて電文を作成，解析する必要があります。標準受付を利用する場合のサービスリクエスタおよび電文の作成方法については，マニュアル「サービスプラットフォーム開発ガイド 基本開発編」の「9.　サービスリクエスタの作成」を参照してください。

ユーザ定義受付を利用するには，開発環境で任意のインターフェースを定義したあと，HCSCサーバに配備します。HCSCサーバに配備したあと，ユーザ定義受付を開始すると，サービスリクエスタからの要求電文を受け付けられる状態になります。

ユーザ定義受付を利用するのに必要な定義については，「2.　ユーザ定義受付の定義」を参照してください。

1.2.2　利用できるサービスアダプタ

サービスプラットフォームでは，他システム，データベース，ファイルなど用途に合わせてさまざまなサービスアダプタを提供しています。また，提供しているサービスアダプタでは直接対応できないプロトコルを持つシステムにも対応できるように，カスタムアダプタ開発フレームワークを使用して開発する汎用カスタムアダプタを提供しています。

サービスプラットフォームで利用できるサービスアダプタの種類を次の表に示します。

なお，それぞれのサービスアダプタの定義については，「3.　サービスアダプタの定義」を参照してください。

表1‒2　利用できるサービスアダプタの種類

種別

用途

SOAPアダプタ

Webサービス（SOAP通信）を利用してサービス部品を呼び出す場合

SessionBeanアダプタ

SessionBeanを利用してサービス部品を呼び出す場合

MDB（WS-R）アダプタ

WS-R（WS-Reliability）を利用してMDB（Message Driven Bean）で作成したサービス部品を呼び出す場合

MDB（DBキュー）アダプタ

DBキューを利用して非同期のサービス部品を呼び出す場合

DBアダプタ

データベースの操作をサービス部品として利用する場合※

TP1アダプタ

既存のOpenTP1システム内にあるサービス部品を呼び出す場合

ファイルアダプタ

HCSCサーバ上のローカルディスクに対して直接ファイルの入出力をする場合

Object Accessアダプタ

既存のTPBrokerシステム（Object Wrapperシステム）のサービス部品を呼び出す場合

Message Queueアダプタ

既存のメッセージキュー（IBM MQシステム）に対してメッセージの送受信をする場合

FTPアダプタ

サービスプラットフォームとFTPサーバとの間でファイルの送受信をする場合

ファイル操作アダプタ

ファイルのレイアウト変換，文字コード変換，複製，移動，削除，圧縮，伸張，および一覧情報取得をする場合

メールアダプタ

SMTPプロトコルをサポートしたメールサーバをサービスプラットフォーム上でサービス部品として呼び出す場合

HTTPアダプタ

RESTスタイルで公開されているWebサービス（RESTful Webサービス）を呼び出す場合

コマンドアダプタ

オペレーティングシステム上で動作する外部コマンドを起動し，実行結果を取得する場合

SFTPアダプタ

サービスプラットフォームとSFTPサーバとの間でSFTPプロトコルによるファイル転送をする場合

Kafkaアダプタ

サービスプラットフォームからKafkaにメッセージを送信する場合

gRPCアダプタ

gRPCで作成されたサービスにメッセージを送信する場合

汎用カスタムアダプタ

サービスプラットフォームで提供するサービスアダプタでは対応できないプロトコルを持つシステムのサービス部品を呼び出す場合

注※

操作するデータベースや実行するSQLを定義する必要があります。

2　ユーザ定義受付の定義

この章では，ユーザ定義受付の定義について説明します。

2.1　ユーザ定義受付の概要

ユーザ定義受付は，個々のサービス部品およびビジネスプロセスの入出力形式に合わせた形式でサービスリクエスタからの要求を受け付けることができます。

ユーザ定義受付には，特定のビジネスプロセスを呼び出すユーザ定義受付（呼出先固定）と，呼び出すビジネスプロセスを選択できるユーザ定義受付（呼出先選択）があります。2つを区別しない場合は，ユーザ定義受付と表記します。

ユーザ定義受付には次の種類があります。

SOAP受付

TP1/RPC受付

FTP受付

HTTP受付※

Message Queue受付

ファイルイベント受付

Kafka受付

スケジュール駆動受付

gRPC受付

カスタム受付

注※　ユーザ定義受付（呼出先選択）は，HTTP受付で使用できます。

2.1.1　SOAP受付の概要

SOAP受付は，ユーザが指定したWSDL形式のファイルをインターフェースとして使用し，サービスリクエスタとWebサービス（SOAP）で通信します。SOAP受付でリクエストを受け付けることができるHCSCコンポーネントはビジネスプロセスだけです。

SOAP受付，WSDL，ビジネスプロセスの定義の関係について，次の図に示します。

図2‒1　SOAP受付，WSDL，ビジネスプロセスの定義の関係

図2-1に示すように，SOAP受付は，WSDLのポート（wsdl:port要素）ごとに作成します。1つのSOAP受付にwsdl:port要素に含まれるオペレーションがすべて含まれます。

また，図2-1のOperation_2は，Port_AおよびPort_Bの2つのwsdl:port要素に含まれます。このように，異なるwsdl:port要素に同じオペレーションが含まれる場合，複数のSOAP受付で同じオペレーションを利用できます。図2-1では，Operation_2は，SOAP受付_1およびSOAP受付_2で利用しています。

2.1.2　TP1/RPC受付の概要

TP1/RPC受付は，OpenTP1システム内にあるサービスリクエスタからの要求を受け付けます。サービスプラットフォームでは，TP1/RPC受付をユーザ定義受付として提供しています。

TP1/RPC受付については，「2.3　TP1/RPC受付の定義」を参照してください。

2.1.3　FTP受付の概要

FTP受付は，FTPクライアントとFTPサーバの間でファイル転送をする場合に，FTPクライアントからの要求を受けます。サービスプラットフォームでは，FTP受付をユーザ定義受付として提供しています。

FTP受付については，「2.4　FTP受付の定義」を参照してください。

2.1.4　HTTP受付の概要

HTTP受付は，HTTPクライアントからの接続要求をWebフロントシステムやSOAP受付を経由しないで受け付けることができるインターフェースです。

HTTP受付については，「2.5　HTTP受付の定義」を参照してください。

2.1.5　Message Queue受付の概要

Message Queue受付は，MQリソースアダプタを経由してJMSプロバイダ（IBM MQシステム）のキューからの実行要求を受け付けます。サービスプラットフォームでは，Message Queue受付をユーザ定義受付として提供しています。

Message Queue受付については，「2.6　Message Queue受付の定義」を参照してください。

2.1.6　ファイルイベント受付の概要

ファイルイベント受付は，監視対象のフォルダ内にファイルが作成されたことをイベントとして受け付けて，処理を開始します。

ファイルイベント受付については，「2.7　ファイルイベント受付の定義」を参照してください。

2.1.7　Kafka受付の概要

Kafka受付は，Kafkaインバウンドアダプタを経由してKafkaからの実行要求を受け付けます。サービスプラットフォームでは，Kafka受付をユーザ定義受付として提供しています。

Kafka受付については，「2.8　Kafka受付の定義」を参照してください。

2.1.8　スケジュール駆動受付の概要

スケジュール駆動受付は，スケジュール設定に定義したスケジュールに従って，タスクを実行し，ビジネスプロセスを呼び出します。サービスプラットフォームでは，スケジュール駆動受付をユーザ定義受付として提供しています。

スケジュール駆動受付については，「2.9　スケジュール駆動受付の定義」を参照してください。

2.1.9　gRPC受付の概要

gRPC受付は，gRPCクライアントからgRPCインバウンドアダプタを経由して受け取ったメッセージを要求電文に変換して，ビジネスプロセスに渡します。サービスプラットフォームでは，gRPC受付をユーザ定義受付として提供しています。

gRPC受付については，「2.10　gRPC受付の定義」を参照してください。

2.1.10　カスタム受付の概要

カスタム受付は，任意のインターフェースおよび通信プロトコルでサービスリクエスタからの要求を受け付けます。カスタム受付を使用する場合，インターフェースおよび通信プロトコルはユーザが実装する必要があります。

カスタム受付については，「付録A　カスタム受付」を参照してください。

2.2　SOAP受付の定義

この節では，SOAP受付の追加，WSDLの作成などSOAP受付の定義について説明します。

2.2.1　SOAP受付の定義の流れ

SOAP受付の定義の流れには，次の2つがあります。

ビジネスプロセスの定義前にSOAP受付を定義する

次の2つの条件を満たす場合，先にWSDLを基にSOAP受付を作成し，そのあとでビジネスプロセスの受付アクティビティと応答アクティビティを定義します。

サービスリクエスタとのインターフェースが規定済み

規定したインターフェースに従ったWSDLが作成済み

この場合，SOAP受付の作成時に入力したWSDLのインターフェースに合うように，受付アクティビティと応答アクティビティのオペレーションおよび電文定義をビジネスプロセス上で定義する必要があります。

ビジネスプロセスの定義後にSOAP受付を定義する

すでに定義されたビジネスプロセスがある場合，定義済みのビジネスプロセスに合ったSOAP受付を定義します。SOAP受付を追加する前に，ビジネスプロセスの受付アクティビティと応答アクティビティのオペレーションおよび割当変数の電文定義に合うWSDLを作成しておく必要があります。

SOAP受付は，ビジネスプロセスの受付アクティビティと応答アクティビティに定義されているオペレーション，および割当変数を呼び出せるように定義します。

SOAP受付の定義の流れとして，これら2つの定義の流れを次に説明します。

(1)　ビジネスプロセスを定義する前にSOAP受付を定義する

ビジネスプロセスを定義する前にSOAP受付を定義し，そのインターフェースに合うようにビジネスプロセスの受付アクティビティ，および応答アクティビティを定義する流れについて，次の図に示します。

図2‒2　SOAP受付の定義の流れ（ビジネスプロセスの定義前に定義する場合）

ビジネスプロセスを定義する前にSOAP受付を定義する場合の作業について次に説明します。

(a)　ビジネスプロセスの追加

SOAP受付を定義するビジネスプロセスを作成します。(b)で定義するSOAP受付の内容と合うインターフェースとなるようにビジネスプロセスを定義します。そのため，ここではアクティビティの配置や変数の定義，各アクティビティの詳細を定義するダイアログでの情報の入力などをする必要はありません。

ビジネスプロセスの追加については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.2.1　ビジネスプロセスを新規に追加する」を参照してください。

(b)　SOAP受付の追加

作成済みのWSDLをユーザ定義受付追加ウィザードで入力して，SOAP受付を追加します。

SOAP受付を新規に追加する方法の詳細については，「2.2.2　SOAP受付の追加」を参照してください。

(c)　ビジネスプロセスの定義

SOAP受付で定義されているすべてのオペレーションに対応する受付アクティビティ，および応答アクティビティを定義します。

受付アクティビティおよび応答アクティビティで，SOAP受付で規定された電文フォーマットを持つ変数を定義し，割当変数として設定する手順を次に示します（次の手順は受付アクティビティの場合です。応答アクティビティの場合も同様の手順です）。

［受付アクティビティ］ダイアログで，［オペレーション名］の［取込］ボタンをクリックします。

［オペレーション名の取込］ダイアログが表示されます。

［受付名］に該当するSOAP受付の名称を設定し，［オペレーション名］に取り込み対象となるオペレーション名を設定します。

［OK］ボタンをクリックします。

［ボディ割当変数］の［編集］ボタンをクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

変数名を設定します。

［取込］ボタンをクリックします。

［電文フォーマットの取込］ダイアログが表示されます。［電文フォーマットの取込］ダイアログには次の情報が表示されています。

受付名

手順1.で設定したオペレーションを持つSOAP受付の受付名が設定されています。

オペレーション名

手順1.で設定した値が設定されています。

電文種別

受付アクティビティの場合は要求電文が，応答アクティビティの場合は応答電文が選択されています。

電文フォーマット名

変数名が設定されています。

なお，手順1.で設定したオペレーション名がSOAP受付に存在しない場合，受付名およびオペレーション名が空白になります。この場合，手順1に戻って正しいオペレーション名を指定してください。

また，電文フォーマット名には，初期値として変数名が設定されています。必要に応じて適当な名称に変更してください。

［OK］ボタンをクリックします。

［電文フォーマットの取込］ダイアログが閉じられ，［変数・相関セット一覧］ダイアログが操作できる状態になります。

［変数・相関セット一覧］ダイアログの［追加］ボタンをクリックします。

［変数・相関セット一覧］ダイアログで電文のヘッダに割り当てる変数を追加します。

変数を追加する手順については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.5.1　変数の定義」の変数の定義方法の説明を参照してください。

［変数・相関セット一覧］ダイアログの変数一覧から追加した変数を選択します。

［変数・相関セット一覧］ダイアログの［OK］ボタンをクリックします。

［変数・相関セット一覧］ダイアログが閉じられます。

［受付アクティビティ］ダイアログで，［ヘッダ割当変数］の［設定］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが表示されます。

［ヘッダ割当変数］ダイアログの［追加］ボタンをクリックします。

［ヘッダ割当変数］ダイアログの割当変数から追加した変数を選択します。

［ヘッダ割当変数］ダイアログの［OK］ボタンをクリックします。

［受付アクティビティ］ダイアログについては，マニュアル「サービスプラットフォーム リファレンス」の「1.4.7　受付アクティビティダイアログ」を参照してください。［変数・相関セット一覧］ダイアログについては，マニュアル「サービスプラットフォーム リファレンス」の「1.4.1　変数・相関セット一覧ダイアログ」を参照してください。［電文フォーマットの取込］ダイアログについては，マニュアル「サービスプラットフォーム リファレンス」の「1.4.5　電文フォーマットの取込ダイアログ」を参照してください。

ポイント

SOAP受付のオペレーションにフォルトが含まれている場合，ビジネスプロセスではフォルト名を指定した応答アクティビティを定義します。［応答アクティビティ］ダイアログの［フォルト名］に，ユーザ定義受付定義画面の［フォルト電文］の［フォルト名］に表示されている値を指定してから，手順2.〜9.と同様の方法で変数を割り当てます。

また，SOAP受付のオペレーションに複数のフォルトが含まれている場合，含まれるフォルトの数だけ応答アクティビティを追加し，それぞれに対応するフォルト名を設定する必要があります。また，各応答アクティビティで，手順2.〜9.と同様の方法で変数を割り当てます。

(d)　SOAP受付の内容の確認

追加されたSOAP受付の内容を確認します。SOAP受付の内容は，ビジネスプロセスの定義内容と合致している必要があります。

SOAP受付の確認の詳細については，「2.12　ユーザ定義受付の内容の確認」を参照してください。

(e)　SOAP受付の保存

定義したSOAP受付をリポジトリに保存します。

SOAP受付を保存する方法については，「2.13　ユーザ定義受付の保存」を参照してください。

(f)　SOAP受付の検証

定義したSOAP受付とビジネスプロセス定義との整合性を検証できます。

SOAP受付の検証方法の詳細については，「2.14　ユーザ定義受付の検証」を参照してください。

(g)　SOAP受付の情報の変更

定義したSOAP受付は，必要に応じて受付名，受付ID，およびコンテキストルートを変更できます。

SOAP受付の情報を変更する方法については，「2.15　ユーザ定義受付の情報の変更」を参照してください。

(h)　SOAP受付の削除

不要になったSOAP受付は，必要に応じて削除できます。

SOAP受付の削除方法については，「2.16　ユーザ定義受付の削除」を参照してください。

(2)　ビジネスプロセスの定義後にSOAP受付を定義する

定義済みのビジネスプロセスのインターフェースに合うようにSOAP受付を定義する流れについて，次の図に示します。

図2‒3　SOAP受付の定義の流れ（ビジネスプロセスの定義後に定義する場合）

ビジネスプロセスの定義後にSOAP受付を定義する場合の作業について次に説明します。

(a)　ビジネスプロセスの定義

SOAP受付を定義する前に，ビジネスプロセスを定義しておく必要があります。ビジネスプロセスが定義途中の場合でも，サービスリクエスタとのインターフェースとなる受付アクティビティおよび応答アクティビティを配置し，オペレーション名および割当変数の設定まで行ってください。

ビジネスプロセスの定義については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.3　ビジネスプロセスの内容の定義」を参照してください。

(b)　WSDLの作成

SOAP受付を定義する際に利用するWSDLを作成します。

WSDLの作成の詳細については，「2.11　WSDLの作成」を参照してください。

(c)　SOAP受付の追加

ユーザ定義受付追加ウィザードを利用して，SOAP受付を追加します。

SOAP受付を新規に追加する方法については，「2.2.2　SOAP受付の追加」を参照してください。

(d)　SOAP受付の内容の確認

追加されたSOAP受付の内容を確認します。SOAP受付の内容は，ビジネスプロセスの定義内容と合致している必要があります。

SOAP受付の確認の詳細については，「2.12　ユーザ定義受付の内容の確認」を参照してください。

(e)　SOAP受付の保存

定義したSOAP受付をリポジトリに保存します。

SOAP受付を保存する方法については，「2.13　ユーザ定義受付の保存」を参照してください。

(f)　SOAP受付の検証

定義したSOAP受付とビジネスプロセス定義との整合性を検証できます。

SOAP受付の検証方法の詳細については，「2.14　ユーザ定義受付の検証」を参照してください。

(g)　SOAP受付の情報の変更

定義したSOAP受付は，必要に応じて受付名，受付ID，およびコンテキストルートを変更できます。

SOAP受付の情報を変更する方法については，「2.15　ユーザ定義受付の情報の変更」を参照してください。

(h)　SOAP受付の削除

不要になったSOAP受付は，必要に応じて削除できます。

SOAP受付の削除方法については，「2.16　ユーザ定義受付の削除」を参照してください。

2.2.2　SOAP受付の追加

SOAP受付を追加します。SOAP受付を新規に追加するには，ユーザ定義受付追加ウィザードを利用します。ユーザ定義受付追加ウィザードでは，追加するSOAP受付でどのWSDLファイルを使うか，WSDL内のどのwsdl:port要素を利用するかを定義します。

ポイント

追加するSOAP受付の定義内容は，ビジネスプロセスの受付アクティビティおよび応答アクティビティの定義に合わせる必要があります。次のどちらかの順で，SOAP受付とビジネスプロセスの定義内容を合わせてください。

SOAP受付を追加する前に，ビジネスプロセスの受付アクティビティおよび応答アクティビティを定義して，受付アクティビティおよび応答アクティビティのオペレーションや電文の定義に合わせてSOAP受付を追加します。

SOAP受付を追加したあとに，SOAP受付の内容に合わせてビジネスプロセスの受付アクティビティおよび応答アクティビティの定義を変更します。

SOAP受付を新規に追加する手順を次に示します。

ツリービューのサービス定義一覧で，SOAP受付を追加するサービス（ビジネスプロセス）を選択して，右クリックします。

サービス一覧のポップアップメニューが表示されます。

ポップアップメニューから［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

［受付種別］のドロップダウンリストから，［SOAP受付］を選択します。

［次へ］ボタンをクリックします。

ユーザ定義受付追加ウィザード（1/2）が表示されます。

［受付名］と［WSDLファイル］を指定します。

受付名

SOAP受付の名称をXMLスキーマのNCName定義文字で指定します。1〜40バイトで指定します。受付名は，ビジネスプロセス内で一意である必要があります。

WSDLファイル

SOAP受付で利用するWSDLファイルを絶対パスで指定します。相対パス（例：wsdldir¥wsdlfile.wsdl）やUNC形式（例：¥¥mypc¥wsdldir¥wsdlfile.wsdl）で指定しないでください。

［...］ボタンをクリックして表示されるダイアログからWSDLファイルを選択することもできます。

［次へ］ボタンをクリックします。

ユーザ定義受付追加ウィザード（2/2）が表示されます。

［次へ］ボタンをクリックしたときに，「WSDLファイルの解析に失敗しました。」というメッセージが表示された場合，WSDLファイルにエラーがあります。

Webサービスを利用する場合のWSDLの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.1　Webサービスを利用したサービス部品の適用範囲」を参照してください。ユーザ定義受付を利用する場合のWSDLの形式については，このマニュアルの「2.11.3　SOAP受付のWSDL作成時の注意事項」を参照してください。

［Portの指定］のドロップダウンリストから，利用するポートを選択します。

ドロップダウンリストには，手順5.で指定したWSDLファイルに定義されているポート名（wsdl:port要素のname属性の値）が表示されます。

［終了］ボタンをクリックします。

SOAP受付がビジネスプロセスに追加され，ユーザ定義受付定義画面が表示されます。

ユーザ定義受付定義画面の詳細については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.5　ユーザ定義受付定義画面」を参照してください。

注意事項

警告メッセージが表示された場合は，マニュアル「アプリケーションサーバ メッセージ(構築／運用／開発用)」の次の個所を参照して，表示されたメッセージの内容を確認してください。

「KDCCC」で始まる警告メッセージが表示された場合

「5.2　KDCCC0001からKDCCC9999までのメッセージ」

「KDJW」で始まる警告メッセージが表示された場合

「10.　KDJW（Component Containerが出力するメッセージ）」

2.2.3　SOAP受付の定義を編集する

SOAP1.1/1.2併用モードの場合，ユーザ定義受付（詳細）定義画面でSOAP受付定義ファイルの編集ができます。SOAP受付定義ファイルについては，マニュアル「サービスプラットフォーム リファレンス」の「3.6.1　SOAP受付定義ファイル」を参照してください。

2.3　TP1/RPC受付の定義

この節では，TP1/RPC受付の追加，および定義の編集について説明します。

2.3.1　TP1/RPC受付の定義の流れ

TP1/RPC受付の定義の流れを次に示します。

図2‒4　TP1/RPC受付の定義の流れ

TP1/RPC受付を定義する場合の作業について次に説明します。

(1)　TP1/RPC受付の追加

TP1/RPC受付のEARファイルをインポートします。

TP1/RPC受付を新規に追加する方法については，「2.3.2　TP1/RPC受付を追加する」を参照してください。

(2)　TP1/RPC受付の定義の編集

インポート済みのTP1/RPC受付の内容を変更できます。

TP1/RPC受付の定義を変更する方法については，「2.3.3　TP1/RPC受付の定義を編集する」を参照してください。

(3)　TP1/RPC受付の定義の保存

定義したTP1/RPC受付をリポジトリに保存します。

TP1/RPC受付を保存する方法については，「2.13　ユーザ定義受付の保存」を参照してください。

(4)　TP1/RPC受付の定義の削除

不要になったTP1/RPC受付は，必要に応じて削除できます。

TP1/RPC受付の削除方法については，「2.16　ユーザ定義受付の削除」を参照してください。

2.3.2　TP1/RPC受付を追加する

TP1/RPC受付を新規に追加する手順を次に示します。

ツリービューのサービス定義一覧で，TP1/RPC受付を追加するサービス（ビジネスプロセス）を選択して，右クリックします。

サービス一覧のポップアップメニューが表示されます。

ポップアップメニューから［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

［受付種別］のドロップダウンリストから，［TP1/RPC受付］を選択します。

［次へ］ボタンをクリックすると，TP1/RPC受付の追加に必要な情報を入力するダイアログが表示されます。

［受付名］を指定します。

TP1/RPC受付の名称を1〜40バイトで指定します。

［終了］ボタンをクリックします。

TP1/RPC受付がビジネスプロセスに追加され，ユーザ定義受付定義画面が表示されます。

ユーザ定義受付定義画面の詳細は，マニュアル「サービスプラットフォーム リファレンス」の「1.2.5　ユーザ定義受付定義画面」を参照してください。

TP1/RPC受付の定義情報を設定します。

TP1/RPC受付の設定項目について次の表に示します。

表2‒1　TP1/RPC受付のユーザ定義受付定義画面（基本）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付情報

受付名

設定した受付名が表示されます。

◎

受付ID

受付IDが表示されます。必要に応じて変更します。

◎

デフォルトオペレーション名

デフォルトで呼び出すオペレーションを選択します。

◎

オペレーション

任意のオペレーションを追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

［any型を使う］チェックボックス

チェックしません。

−

受付

電文フォーマット

サービスリクエスタからTP1/RPC受付が受け取る要求電文のバイナリフォーマット定義ファイル（拡張子：.fdx）を指定します。

バイナリ形式の電文フォーマットの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.4　電文フォーマット（バイナリフォーマット定義ファイル）の作成方法」を参照してください。

◎

サービス部品

［使う］チェックボックス

データ変換を行う場合は，チェックします。

○

電文フォーマット

［使う］チェックボックスをチェックした場合は，指定します。

TP1/RPC受付からサービス部品に渡すサービス電文のフォーマット定義ファイルを指定します。

バイナリフォーマットからXMLフォーマットに変換する場合は，要求電文のバイナリフォーマット定義ファイルからcscfdx2xsdコマンドを使用して生成したXMLフォーマット定義ファイルを指定できます。

○

データ変換定義

［使う］チェックボックスをチェックした場合は，指定します。

受付からサービス部品への要求電文のデータ変換定義を設定します。

○

応答電文

［any型を使う］チェックボックス

チェックしません。

−

受付

電文フォーマット

TP1/RPC受付からサービスリクエスタに渡す応答電文のバイナリフォーマット定義ファイル（拡張子：.fdx）を指定します。

バイナリ形式の電文フォーマットの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.4　電文フォーマット（バイナリフォーマット定義ファイル）の作成方法」を参照してください。

◎

サービス部品

［使う］チェックボックス

データ変換を行う場合は，チェックします。

○

電文フォーマット

［使う］チェックボックスをチェックした場合は，指定します。

サービス部品からTP1/RPC受付が受け取るサービス電文のフォーマット定義ファイルを指定します。

バイナリフォーマットからXMLフォーマットに変換する場合は，応答電文のバイナリフォーマット定義ファイルからcscfdx2xsdコマンドを使用して生成したXMLフォーマット定義ファイルを指定できます。

○

データ変換定義

［使う］チェックボックスをチェックした場合は，指定します。

サービス部品から受付への応答電文のデータ変換定義を設定します。

○

（凡例）

◎：必ず設定します。

○：任意で設定します。

−：該当しません。

ユーザ定義受付（詳細）タブをクリックします。

ユーザ定義受付定義画面（詳細）が表示されます。

TP1/RPC受付の定義情報を設定します。

TP1/RPC受付の設定項目について次の表に示します。

表2‒2　TP1/RPC受付のユーザ定義受付定義画面（詳細）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付制御情報

独自定義ファイル

次の独自定義ファイルが表示されます。必要に応じて変更します。

cscurecptp1rpc.properties※1

◎

EARファイル

次のEARファイルが設定されていることを確認します。

cscmsg_urecp_tp1rpc.ear※2

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

設定されているcscurecptp1rpc.propertiesはテンプレートファイルです。cscurecptp1rpc.propertiesを選択して［編集］ボタンをクリックし，独自定義ファイルの内容を修正してください。プロパティファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.4.1　TP1/RPC受付定義ファイル」を参照してください。

注※2

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

2.3.3　TP1/RPC受付の定義を編集する

ユーザ定義受付定義画面で，受付名，受付ID，オペレーション名などインポート済みのTP1/RPC受付の定義を編集します。TP1/RPC受付の定義を編集する場合は，カスタム受付制御情報の独自定義ファイルに，TP1/RPC受付定義ファイル（cscurecptp1rpc.properties）を必ず指定してください。

TP1/RPC受付の定義の情報を変更する手順については，「2.15　ユーザ定義受付の情報の変更」を参照してください。

注意事項

TP1/RPC受付では，要求電文および応答電文にバイナリ形式（.fdx）の電文フォーマットを指定する必要があります。バイナリ形式の電文フォーマットの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.4　電文フォーマット（バイナリフォーマット定義ファイル）の作成方法」を参照してください。

2.4　FTP受付の定義

この節では，FTP受付の定義ファイルの作成，FTP受付の追加などFTP受付の定義について説明します。

2.4.1　FTP受付の定義の流れ

FTP受付の定義の流れを次に示します。

図2‒5　FTP受付の設定の流れ

FTP受付を定義する場合の作業について次に説明します。

(1)　FTP受付の電文フォーマットの作成

FTP受付で使用する電文のフォーマットを作成します。

FTP受付の電文フォーマットの作成については，「2.4.2　FTP受付の電文フォーマットを作成する」を参照してください。

(2)　FTP受付の定義ファイルの作成

FTP受付で使用する定義ファイルを作成し，指定された場所に格納します。

FTP受付の定義ファイルの作成については，「2.4.3　FTP受付の定義ファイルを作成する」を参照してください。

(3)　FTP受付の追加

ウィザードおよびサービスアダプタ定義画面を利用してFTP受付を追加します。

FTP受付を追加する手順については，「2.4.4　FTP受付を追加する」を参照してください。

(4)　FTP受付のデータ変換（マッピング）の定義

データ変換定義画面を利用して，変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルのデータ変換を定義します。

データ変換の定義については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

データ変換定義画面については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.4　データ変換定義画面」を参照してください。

(5)　FTP受付の保存

FTP受付の定義情報は，必要に応じてリポジトリに保存する必要があります。

FTP受付の保存については，「2.13　ユーザ定義受付の保存」を参照してください。

(6)　FTP受付の削除

不要になったFTP受付は，必要に応じて削除できます。

FTP受付の削除については，「2.16　ユーザ定義受付の削除」を参照してください。

2.4.2　FTP受付の電文フォーマットを作成する

FTP受付の電文フォーマットの定義ファイルはサービスプラットフォームが提供するスキーマを使用します。そのため，電文フォーマットの定義ファイルの作成は不要です。

FTP受付で使用する電文フォーマットの種類，および内容について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥ftprecp」です。

(1)　FTP受付の要求電文フォーマット

FTP受付の要求電文フォーマットをオペレーションごとに示します。

(a)　PUTオペレーション

PUTオペレーションのFTP受付からビジネスプロセスに渡す要求電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_put_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/put_request」です。

表2‒3　FTP受付の要求電文フォーマット（PUTオペレーション）

タグ名

出現回数※

説明

<request>

1回

−

<ftpclient-ipaddr>

1回

FTPクライアントのIPアドレスです。

IPアドレスのテキスト表現形式で設定されます。

<ftp-user>

1回

FTPクライアントがUSERコマンドで指定したユーザ名です。

USERコマンドの引数に指定された情報がそのまま設定されます。

<ftp-type>

1回

FTPクライアントがTYPEコマンドで指定したタイプの情報です。

TYPEコマンドの引数に指定された情報がそのまま設定されます。

<transfer-type>

1回

転送種別です。次のどちらかが設定されます。

APPE

ファイルへの情報追加

STOR

ファイルの上書き

<transfer-path>

1回

転送対象ファイルパスです。

FTPクライアントがAPPEコマンド，またはSTORコマンドで指定したパス情報から，先頭の振分定義部分を取り除いたファイルパスの情報が設定されます。

先頭には必ず「/」が設定されます。

<file-name>

1回

FTPクライアントから送られてきたファイルのデータが書き出された中間ファイルのファイル名です。

<file-size>

1回

FTPクライアントから送られてきて，中間ファイルに書き出されたデータのサイズです。

<request-id>

1回

リクエストIDです。FTP受付が生成したリクエストIDが設定されます。

<ftp-commands-before>

0または1回

転送前に実行するFTPコマンドです。

FTPクライアントから次に示すFTPコマンドが要求されている場合に設定されます。

SITE CSCTHR -B <FTPコマンド>[;<FTPコマンド> …]

この場合，「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし，SITE CSCTHRコマンドの引数で指定されたFTPコマンドが，FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は，「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン（;）で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合はこのタグは出力されません。

<ftp-commands-after>

0または1回

転送後に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すコマンドが要求されている場合に設定されます。

SITE CSCTHR -A <FTPコマンド>[;<FTPコマンド> …]

この場合，「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし，SITE CSCTHRコマンドの引数で指定されたFTPコマンドが，FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は，「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン（;）で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合はこのタグは出力されません。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

(b)　GETオペレーション

GETオペレーションのFTP受付からビジネスプロセスに渡す要求電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_get_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/get_request」です。

表2‒4　FTP受付の要求電文フォーマット（GETオペレーション）

タグ名

出現回数※

説明

<request>

1回

−

<ftpclient-ipaddr>

1回

FTPクライアントのIPアドレスです。

IPアドレスのテキスト表現形式で設定されます。

<ftp-user>

1回

FTPクライアントがUSERコマンドで指定したユーザ名です。

USERコマンドの引数に指定された情報がそのまま設定されます。

<ftp-type>

1回

FTPクライアントがTYPEコマンドで指定したタイプの情報です。

TYPEコマンドの引数に指定された情報がそのまま設定されます。

<transfer-type>

1回

転送種別です。次の内容が設定されます。

RETR

ファイルの取得

<transfer-path>

1回

転送対象ファイルパスです。

FTPクライアントがRETRコマンドで指定したパス情報から，先頭の振分定義部分を取り除いたファイルパスの情報が設定されます。

先頭には必ず「/」が設定されます。

<request-id>

1回

リクエストIDです。FTP受付が生成したリクエストIDが設定されます。

<ftp-commands-before>

0または1回

転送前に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すFTPコマンドが要求されている場合に設定されます。

SITE CSCTHR -B <FTPコマンド>[;<FTPコマンド> …]

この場合，「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし，SITE CSCTHRコマンドの引数で指定されたFTPコマンドが，FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は，「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン（;）で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合はこのタグは出力されません。

<ftp-commands-after>

0または1回

転送後に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すコマンドが要求されている場合に設定されます。

SITE CSCTHR -A <FTPコマンド>[;<FTPコマンド> …]

この場合，「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし，SITE CSCTHRコマンドの引数で指定されたFTPコマンドが，FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は，「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン（;）で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合はこのタグは出力されません。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

(c)　GETINFOオペレーション

GETINFOオペレーションのFTP受付からビジネスプロセスに渡す要求電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_getinfo_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/getinfo_request」です。

表2‒5　FTP受付の要求電文フォーマット（GETINFOオペレーション）

タグ名

出現回数※

説明

<request>

1回

−

<ftpclient-ipaddr>

1回

FTPクライアントのIPアドレスです。

IPアドレスのテキスト表現形式で設定されます。

<ftp-user>

1回

FTPクライアントがUSERコマンドで指定したユーザ名です。

USERコマンドの引数に指定された情報がそのまま設定されます。

<getinfo-type>

1回

情報取得種別として，次のどちらかが設定されます。

LIST

ファイル情報の一覧を取得します。

NLST

ファイル名の一覧を取得します。

<getinfo-option>

0または1回

情報取得オプション情報です。

次の条件をすべて満たす場合は，オプション定義ファイルに設定されている文字列と一致した文字列部分が設定されます。

FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数の先頭部分が，オプション定義ファイルに設定されている文字列と一致する

引数の先頭部分の後ろに文字列が続いていない，または空白文字になっている

なお，次のどちらかに当てはまる場合，このタグは出力されません。

FTPクライアントがLISTコマンドまたはNLSTコマンドで引数を指定しなかった場合

FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数の先頭部分がオプション定義ファイルに設定されている文字列と一致しなかった場合

<getinfo-path>

0または1回

情報取得パス情報です。

<getinfo-option>タグが出力されていない場合は，FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数がそのまま設定されます。

<getinfo-option>タグが出力されている場合は，FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数の先頭から，<getinfo-option>タグに出力されているオプション情報およびその後ろの空白文字を取り除いたパス情報部分が設定されます。

なお，次のどちらかに当てはまる場合，このタグは出力されません。

FTPクライアントがLISTコマンドまたはNLSTコマンドで引数を指定しなかった場合

FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数に，オプション情報しか指定されていなかった場合

<getinfo-path-context>

0または1回

<getinfo-path>タグから抽出した情報取得パス情報の部分文字列です。

<getinfo-path>タグが出力されている場合は，先頭のスラッシュ（/）から次のスラッシュ（/）より前の部分が設定されます。このタグにスラッシュ（/）は含まれません。

<getinfo-path>タグが出力されていない場合，または<getinfo-path>タグの先頭のスラッシュ（/）から次のスラッシュ（/）より前の部分が抽出できない場合は，このタグは出力されません。

<getinfo-path-relative>

0または1回

<getinfo-path>タグから抽出した情報取得パス情報の部分文字列です。

<getinfo-path>タグが出力されている場合は，<getinfo-path>タグの2つ目のスラッシュ（/）より後ろの値が設定されます。

<getinfo-path>タグが出力されていない場合，または<getinfo-path>タグの2つ目のスラッシュ（/）より後ろの値が設定されていない場合は，このタグは出力されません。

<request-id>

1回

リクエストIDです。FTP受付が生成したリクエストIDが設定されます。

<ftp-commands-before>

0または1回

リストコマンド実行前に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すFTPコマンドが要求されている場合に設定されます。

SITE CSCTHR -B <FTPコマンド>[;<FTPコマンド> …]

この場合，「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし，SITE CSCTHRコマンドの引数で指定されたFTPコマンドが，FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は，「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン（;）で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合は，このタグは出力されません。

<ftp-commands-after>

0または1回

リストコマンド実行後に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すコマンドが要求されている場合に設定されます。

SITE CSCTHR -A <FTPコマンド>[;<FTPコマンド> …]

この場合，「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし，SITE CSCTHRコマンドの引数で指定されたFTPコマンドが，FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は，「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン（;）で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合は，このタグは出力されません。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

(2)　FTP受付の応答電文フォーマット

FTP受付の応答電文フォーマットをオペレーションごとに示します。

(a)　PUTオペレーション

ビジネスプロセスからPUTオペレーションのFTP受付に渡す応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_put_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/put_response」です。

表2‒6　FTP受付の応答電文フォーマット（PUTオペレーション）

タグ名

出現回数※1

説明

<response>

1回

−

<message>

0または1回

ビジネスプロセスの終了状態を示すメッセージです。指定できるメッセージの最大長は1,024文字です。

最大長を超える長さのメッセージを指定した場合，メッセージが1,024文字に収まるようメッセージの後ろの部分は切り捨てられます。

使用できない文字※2が含まれていた場合，使用できない文字はクエスチョンマーク（?）に置き換えられます。

省略した場合，次のメッセージが設定されます。

<success>タグの値がtrueの場合

Transfer complete.

<success>タグの値がfalseの場合

Requested action aborted.

<success>

0または1回

ビジネスプロセスの終了状態を示すフラグです。次のどちらかを指定します。

true

ビジネスプロセスの処理が正常に終了した。

false

ビジネスプロセスの処理でエラーが発生した。

省略した場合，trueが設定されます。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

次に示す文字以外は使用できません。

半角英数字，半角空白，半角タブ，半角改行，感嘆符（!），ダブルクォーテーション（"），番号記号（#），ドル記号（$），パーセント（%），アンパサンド（&），アポストロフィ（'），始め小括弧（(），終わり小括弧（)），アスタリスク（*），正符号（+），コンマ（,），ハイフン（-），ピリオド（.），スラッシュ（/），コロン（:），セミコロン（;），左アングルブラケット（<），右アングルブラケット（>），等号（=），クエスチョンマーク（?），単価記号（@），始め角括弧（[），終わり角括弧（]），円マーク（¥），アクサンシルコンフレックス（^），アンダーバー（_），アクサングラーブ（`），始め波括弧（{），終わり波括弧（}），パイプライン（|），波ダッシュ（~）

(b)　GETオペレーション

ビジネスプロセスからGETオペレーションのFTP受付に渡す応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_get_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/get_response」です。

表2‒7　FTP受付の応答電文フォーマット（GETオペレーション）

タグ名

出現回数※1

説明

<response>

1回

−

<message>

0または1回

ビジネスプロセスの終了状態を示すメッセージです。指定できるメッセージの最大長は1,024文字です。

最大長を超える長さのメッセージを指定した場合，メッセージが1,024文字に収まるようメッセージの後ろの部分は切り捨てられます。

使用できない文字※2が含まれていた場合，使用できない文字はクエスチョンマーク（?）に置き換えられます。

省略した場合，次のメッセージが設定されます。

<success>タグの値がtrueの場合

Transfer complete.

<success>タグの値がfalseの場合

Requested action not taken.

<success>

0または1回

ビジネスプロセスの終了状態を示すフラグです。次のどちらかを指定します。

true

ビジネスプロセスの処理が正常に終了した。

false

ビジネスプロセスの処理でエラーが発生した。

省略した場合，trueが設定されます。

<folder-name>

0または1回

FTPクライアントへ送り返す中間ファイルが格納されている共通フォルダの定義名です。

省略した場合は，作業フォルダ内のファイルが中間ファイルとして使用されます。ただし，<success>タグの値がfalseの場合，この設定は不要です。もし設定されていても無視されます。

<file-name>

0または1回

FTPクライアントへ送り返すファイルのデータが書き出された中間ファイルのファイル名です。

作業フォルダを使用する場合は，作業フォルダ直下のファイルを指定してください。

共通フォルダを使用する場合は，共通フォルダルート配下のファイルを相対パスで指定してください。ファイル名の先頭にスラッシュ（/）を使用した場合，スラッシュ（/）は無視されます。また，シンボリックリンク以外のファイルを指定してください。ただし，<success>タグの値がfalseの場合，この設定は不要です。もし設定されていても無視されます。

<file-size>

0または1回

FTPクライアントへ送り返すファイルのデータのサイズです。

ただし，<success>タグの値がfalseの場合，この設定は不要です。もし設定されていても無視されます。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

次に示す文字以外は使用できません。

半角英数字，半角空白，半角タブ，半角改行，感嘆符（!），ダブルクォーテーション（"），番号記号（#），ドル記号（$），パーセント（%），アンパサンド（&），アポストロフィ（'），始め小括弧（(），終わり小括弧（)），アスタリスク（*），正符号（+），コンマ（,），ハイフン（-），ピリオド（.），スラッシュ（/），コロン（:），セミコロン（;），左アングルブラケット（<），右アングルブラケット（>），等号（=），クエスチョンマーク（?），単価記号（@），始め角括弧（[），終わり角括弧（]），円マーク（¥），アクサンシルコンフレックス（^），アンダーバー（_），アクサングラーブ（`），始め波括弧（{），終わり波括弧（}），パイプライン（|），波ダッシュ（~）

(c)　GETINFOオペレーション

ビジネスプロセスからGETINFOオペレーションのFTP受付に渡す応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_getinfo_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/getinfo_response」です。

表2‒8　FTP受付の応答電文フォーマット（GETINFOオペレーション）

タグ名

出現回数※1

説明

<response>

1回

−

<reply-code>

0または1回

情報取得処理を実行したときにFTPサーバから受け取ったリプライコード（またはそれに準ずるコード）です。

FTPアダプタのGETINFOオペレーションを使用して情報取得処理を実行する場合は，FTPアダプタの応答電文の<reply-code>の値をこのタグに設定することを推奨しています。

このタグに指定できる値は，200〜299の数値，または400〜599の数値です。

200〜299を設定した場合は，FTPクライアントに返されるリプライコードは266となります。

400〜599の値を設定した場合は，設定した値がFTPクライアントに返されるリプライコードとなります。

<success>タグの値がtrueで，このタグを省略した場合は，FTP受付がリプライコードに226を仮定します。

<success>タグの値がfalseの場合は，この設定は不要です。もし設定されていても無視されます。

<message>

0または1回

情報取得処理を実行したときにFTPサーバから受け取ったリプライメッセージ，またはビジネスプロセスの終了状態を示すメッセージです。

指定できるメッセージの最大長は1,024文字です。最大長を超える長さのメッセージを指定した場合，メッセージが1,024文字に収まるようメッセージの後ろの部分は切り捨てられます。

使用できない文字※2が含まれていた場合，使用できない文字はクエスチョンマーク（?）に置き換えられます。

省略した場合，次のメッセージが設定されます。

<success>タグの値がtrueの場合

Transfer complete.

<success>タグの値がfalseの場合

Requested action not taken.

FTPアダプタのGETINFOオペレーションを使用して情報取得処理を実行する場合は，FTPアダプタの応答電文の<reply-message>の値をこのタグに設定することを推奨しています。

<success>

0または1回

ビジネスプロセスの終了状態を示すフラグです。次のどちらかを指定します。

true

ビジネスプロセスの処理が正常に終了した。

false

ビジネスプロセスの処理でエラーが発生した。

省略した場合，trueが設定されます。

<file-name>

0または1回

FTPクライアントへ送り返すデータが書き出された中間ファイルのファイル名です。

このタグに指定したファイルには，次の形式で取得した情報が書き込まれる必要があります。

文字コード：UTF-16

改行コード：LF※3またはCRLF

ただし，次のどちらかに当てはまる場合，この設定は不要です。もし設定されていても無視されます。

<success>タグの値がfalseの場合

<success>タグの値がtrueで，<reply-code>の値が400〜599の場合

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

次に示す文字以外は使用できません。

半角英数字，半角空白，半角タブ，半角改行，感嘆符（!），ダブルクォーテーション（"），番号記号（#），ドル記号（$），パーセント（%），アンパサンド（&），アポストロフィ（'），始め小括弧（(），終わり小括弧（)），アスタリスク（*），正符号（+），コンマ（,），ハイフン（-），ピリオド（.），スラッシュ（/），コロン（:），セミコロン（;），左アングルブラケット（<），右アングルブラケット（>），等号（=），クエスチョンマーク（?），単価記号（@），始め角括弧（[），終わり角括弧（]），円マーク（¥），アクサンシルコンフレックス（^），アンダーバー（_），アクサングラーブ（`），始め波括弧（{），終わり波括弧（}），パイプライン（|），波ダッシュ（~）

注※3

RFC959の規則に従い，改行コードがLFの場合はCRLFに変換してクライアントに送り返します。

2.4.3　FTP受付の定義ファイルを作成する

FTP受付の定義ファイルの種類，および作成方法について説明します。

(1)　定義ファイルの種類

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

FTP受付定義ファイル

FTP受付をセットアップしたあとに設定変更できる内容を定義するファイルです。

FTP実行許可リスト定義ファイル

ビジネスプロセスの実行を許可するユーザや，ビジネスプロセスの実行を許可しないユーザを定義するファイルです。任意で作成します。

FTPコマンド許可リスト定義ファイル

転送前または転送後に実行することを許可するFTPコマンドを定義するファイルです。任意で作成します。

リストコマンドオプション定義ファイル

リストコマンドの引数でオプションとして指定できる文字列を定義するファイルです。任意で作成します。

FTP受付コンフィグファイル

FTP受付をセットアップしたあとに設定変更できる内容で，かつ頻繁に設定変更する可能性のある情報を定義するファイルです。任意で作成します。

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

FTP受付で使用する定義ファイルの作成手順について説明します。リストコマンドオプション定義ファイル以外の定義ファイルは，FTP受付が提供しているテンプレートファイルを利用して作成します。

(a)　FTP受付定義ファイル

FTP受付の追加時に，サービスプラットフォームが提供するテンプレートファイル（cscurecpftp.properties）を編集して利用します。そのため，FTP受付定義ファイルの作成は不要です。

(b)　FTP実行許可リスト定義ファイル

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥ftprecp¥templates¥ftp_permission_allow.properties）をコピーして，任意のディレクトリに格納します。

コピーしたテンプレートファイルのファイル名を任意の名称に変更します。

定義内容を編集して保存します。

FTP実行許可リスト定義ファイルで編集できる項目については，マニュアル「サービスプラットフォーム リファレンス」の「6.8.7　FTP実行許可リスト定義ファイル」を参照してください。

FTP実行許可リスト定義ファイルは，FTP受付の開始時に実行環境に反映されます。

(c)　FTPコマンド許可リスト定義ファイル（FTP受付用）

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥ftprecp¥templates¥ftp_command_allow.properties）をコピーして，任意のディレクトリに格納します。

コピーしたテンプレートファイルのファイル名を任意の名称に変更します。

定義内容を編集して保存します。

FTPコマンド許可リスト定義ファイルで編集できる項目については，マニュアル「サービスプラットフォーム リファレンス」の「6.8.6　FTPコマンド許可リスト定義ファイル」を参照してください。

FTPコマンド許可リスト定義ファイルは，FTP受付の開始時に実行環境に反映されます。

(d)　リストコマンドオプション定義ファイル

任意の名称でテキストファイルを作成し，任意のディレクトリに格納します。

定義内容を編集して保存します。

リストコマンドオプション定義ファイルで編集できる項目については，マニュアル「サービスプラットフォーム リファレンス」の「6.8.9　リストコマンドオプション定義ファイル」を参照してください。

リストコマンドオプション定義ファイルは，FTP受付の開始時に実行環境に反映されます。

(e)　FTP受付コンフィグファイル

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥ftprecp¥templates¥ftprecp_config.properties）をコピーして，次のディレクトリに格納します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥ftprecp

コピーしたテンプレートファイルのファイル名を「<FTP受付の受付ID>.properties」に変更します。

定義内容を編集して保存します。

FTP受付コンフィグファイルで編集できる項目については，マニュアル「サービスプラットフォーム リファレンス」の「6.8.5　FTP受付コンフィグファイル」を参照してください。

FTP受付コンフィグファイルは，FTP受付の開始時に実行環境に反映されます。

2.4.4　FTP受付を追加する

FTP受付を新規に追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのビジネスプロセスで右クリックして［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

受付種別のドロップダウンリストから「FTP受付」を選択します。

［次へ］ボタンをクリックすると，FTP受付の追加に必要な情報を入力するダイアログが表示されます。

［受付名］を指定します。

FTP受付の名称を1〜40バイトで指定します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。ユーザ定義受付定義画面（基本）が表示されます。

FTP受付の定義情報を設定します。

FTP受付の設定項目について次の表に示します。

表2‒9　FTP受付のユーザ定義受付定義画面（基本）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付情報

受付名

設定した受付名が表示されます。

◎

受付ID

受付IDが表示されます。必要に応じて変更します。

◎

デフォルトオペレーション名

デフォルトで呼び出すオペレーションを選択します。

◎

オペレーション

次の中から使用するオペレーションを追加します。

PUT：FTPクライアントからFTPサーバへファイルを転送する

GET：FTPサーバからFTPクライアントへファイルを転送する

GETINFO：FTPサーバの情報を取得し，FTPクライアントへ送付する

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

受付

電文フォーマット

［オペレーション］の設定に応じて，次の要求電文用フォーマット定義ファイルが設定されています。

PUTの場合：urecp_ftp_put_request.xsd※

GETの場合：urecp_ftp_get_request.xsd※

GETINFOの場合：urecp_ftp_getinfo_request.xsd※

×

サービス部品

［使う］チェックボックス

必要に応じてチェックします。

○

データ変換定義

サービス部品の電文フォーマットを指定した場合に，受付からサービス部品への要求電文のデータ変換定義を設定します。

○

応答電文

受付

電文フォーマット

［オペレーション］の設定に応じて，次の応答電文用フォーマット定義ファイルが設定されています。

PUTの場合：urecp_ftp_put_response.xsd※

GETの場合：urecp_ftp_get_response.xsd※

GETINFOの場合：urecp_ftp_getinfo_response.xsd※

×

サービス部品

［使う］チェックボックス

必要に応じてチェックします。

○

データ変換定義

サービス部品の電文フォーマットを指定した場合に，サービス部品から受付への応答電文のデータ変換定義を設定します。

○

（凡例）

◎：必ず設定します。

○：任意で設定します。

×：表示されている内容を確認します。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥ftprecp」です。

上記以外のユーザ定義受付定義画面の設定項目については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.5　ユーザ定義受付定義画面」を参照してください。

ユーザ定義受付（詳細）タブをクリックします。

ユーザ定義受付定義画面（詳細）が表示されます。

FTP受付の定義情報を設定します。

FTP受付の設定項目について次の表に示します。

表2‒10　FTP受付のユーザ定義受付定義画面（詳細）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付制御情報

独自定義ファイル

次の独自定義ファイルが表示されます。必要に応じて変更します。

cscurecpftp.properties※1

○

EARファイル

次のEARファイルが設定されていることを確認します。

cscmsg_urecp_ftp.ear※2

×

（凡例）

○：任意で設定します。

×：表示されている内容を確認します。

注※1

設定されているcscurecpftp.propertiesはテンプレートファイルです。必要に応じてcscurecpftp.propertiesを選択して［編集］ボタンをクリックし，独自定義ファイルの内容を修正してください。プロパティファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.5.1　FTP受付定義ファイル」を参照してください。

注※2

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

2.5　HTTP受付の定義

この節では，HTTP受付の電文フォーマットの作成，HTTP受付の追加など，HTTP受付の定義方法について説明します。実際の設定例に基づいてHTTP受付の動作を確認したい場合は，「付録F　HTTP受付を利用したビジネスプロセスの設定例」を参照してください。

2.5.1　HTTP受付の定義の流れ

HTTP受付の定義の流れを次に示します。

図2‒6　HTTP受付の定義の流れ

HTTP受付を定義する場合の作業について次に説明します。

(1)　ビジネスプロセスの定義

ビジネスプロセス追加用のウィザードおよび定義済みのビジネスプロセスを利用して，ビジネスプロセスを追加します。追加したビジネスプロセスは，ビジネスプロセス定義画面で定義します。ビジネスプロセスの定義の詳細は，マニュアル「サービスプラットフォーム開発ガイド 基本開発編」の「5.　ビジネスプロセスの定義」を参照してください。

また，ビジネスプロセスからサービス部品を呼び出す場合，サービスアダプタを定義する必要があります。サービスアダプタの定義の詳細は，「3.　サービスアダプタの定義」を参照してください。

(2)　HTTP受付の電文フォーマットの作成

HTTP受付で使用する要求電文フォーマットおよび応答電文フォーマットを作成します。

電文フォーマットの作成方法については，「2.5.2　HTTP受付の電文フォーマットを作成する」を参照してください。

(3)　HTTP受付の定義ファイルの作成

HTTP受付で使用する定義ファイルを作成します。作成した定義ファイルはリポジトリに反映されます。

HTTP受付で使用する定義ファイルの作成方法については，「2.5.3　HTTP受付の定義ファイルを作成する」を参照してください。

(4)　HTTP受付の追加

ツリービューのサービス定義一覧でHTTP受付を追加し，内容を定義します。

特定のビジネスプロセスを呼び出すか，または呼び出しサービス選択機能で呼び出すビジネスプロセスを選択するかで，HTTP受付を定義する手順が異なります。

特定のビジネスプロセスを呼び出すHTTP受付の追加および定義手順については，「2.5.4　HTTP受付を追加する」を参照してください。

呼び出すビジネスプロセスを選択するHTTP受付の追加および定義手順については，「付録L　ユーザ定義受付（呼出先選択）の定義」を参照してください。

(5)　HTTP受付の保存

追加および定義済みのHTTP受付をリポジトリに保存します。HTTP受付の保存手順については，「2.13　ユーザ定義受付の保存」を参照してください。

(6)　アクティビティの設定

HTTP受付の要求電文／応答電文フォーマット用のボディ変数とヘッダ変数をビジネスプロセスのアクティビティに設定します。

アクティビティの設定方法については，「2.5.5　アクティビティを設定する」を参照してください。

(7)　データ変換（マッピング）の定義

電文のやり取りでデータ変換が必要な場合は，データ変換を定義します。データ変換の定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

HTTP受付を使用する場合のマッピングの例は，「付録F　HTTP受付を利用したビジネスプロセスの設定例」を参照してください。

(8)　HTTP受付の削除

不要になったHTTP受付は，必要に応じて削除できます。

HTTP受付の削除については，「2.16　ユーザ定義受付の削除」を参照してください。

2.5.2　HTTP受付の電文フォーマットを作成する

ここでは，HTTP受付で使用する電文フォーマットの種類，形式，および作成方法について説明します。

(1)　電文フォーマットの種類

HTTP受付で使用する電文フォーマットの種類を次の表に示します。電文フォーマットは，サービスプラットフォームが提供するXMLスキーマを利用して作成できます。

表2‒11　電文フォーマットの種類

大分類

小分類

説明

要求電文フォーマット

ヘッダ変数用（HTTP受付用）

HTTPリクエストのヘッダ情報およびURL情報を設定します。

ボディ変数用（HTTP受付用）（メイン）

HTTPリクエストのボディ情報を設定します。

ボディ変数用（HTTP受付用）（詳細）

要求電文フォーマット（ボディ変数（メイン））の一部として参照されます。

ボディ変数用（JSON-XML変換用）

JSON変換ツールで作成した情報を設定したHTTPリクエストボディを送信したい場合に作成します。

サービスプラットフォームではXMLスキーマファイルを提供していません。

応答電文フォーマット

ヘッダ変数用（HTTP受付用）

HTTPレスポンスのヘッダ情報を設定します。

ヘッダ変数用（JSON-XML変換用）

JSON-XML変換の定義を設定します。

ボディ変数用（HTTP受付用）

HTTPレスポンスのボディ情報を設定します。

ボディ変数用（JSON-XML変換用）

JSON変換ツールで作成した情報を設定したHTTPレスポンスボディを送信したい場合に作成します。

サービスプラットフォームではXMLスキーマファイルを提供していません。

ビジネスプロセスで検証アクティビティを使用する場合は，上記とは別の電文フォーマットを作成して使用してください。

(2)　電文フォーマットの形式

ここでは，HTTP受付で使用する要求電文フォーマットおよび応答電文フォーマットの形式について説明します。

(a)　要求電文フォーマット（ヘッダ変数用）（HTTP受付用）

HTTP受付がビジネスプロセスから呼び出されたときに，HTTP受付に渡されるヘッダ変数の要求電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_http_header_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request」です。

表2‒12　要求電文フォーマット（ヘッダ変数用）（HTTP受付用）

タグ名

種別

出現回数

説明

<http-header-request>

−

1回

−

<auth>

−

0または1回

HTTPヘッダ認証が指定されている場合，このタグが作成されます。

<username>

string

1回

認証されたユーザのユーザ名が設定されます。ユーザ名情報はプレーンテキストにデコードされて，設定されます。

<method>

string

1回

HTTP受付で使用されるHTTPメソッド（GET，POST，HEAD，PUT，DELETE，またはOPTIONS）が設定されます。

<url>

−

1回

リクエストURLからロケーション情報やクエリ文字列が設定されます。

<location>

string

1回

ロケーション情報が設定されます。

<query>

string

0または1回

クエリ文字列が設定されます。

<content-type>

string

0または1回

Content-Typeヘッダに指定されたメディアタイプが設定されます。

content-typeタグのcharset属性にはContent-Typeヘッダに指定されたcharset属性（文字コード）が設定されます。charset属性が付与されていなければ，この属性は設定されません。

<request-id>

string

0または1回

HTTP受付が生成したリクエストIDが設定されます。HTTP受付が作業フォルダを作成する場合，生成したリクエストIDが設定されます。

作業フォルダ作成の詳細については，マニュアル「サービスプラットフォーム 解説」の「2.15.6　HTTP受付のファイル管理」を参照してください。

<files>

−

0または1回

HTTPクライアントから受信したマルチパート型データを基に，作業フォルダ内に生成された中間ファイルのリストが設定されます。

<file>

−

0回以上

HTTPクライアントから受信したマルチパート型データを基に，作業フォルダ内に生成された中間ファイルが設定されます。

<partID>

string

0または1回

各パートを区別するための識別子が設定されます。

HTTP受付が受信したマルチパート型データ内で，各パートのContent-Dispositionヘッダのname属性に対応します。

<file-name>

string

0または1回

HTTPクライアントから受信したファイルデータのファイル名称が設定されます。

HTTP受付が受信したマルチパート型データ内で，各パートのContent-Dispositionヘッダのfilename属性に対応します。なお，パス指定の場合はファイル名だけが設定されます。

<local-file-name>

string

1回

作業フォルダ内に生成された中間ファイルの名称が設定されます。

中間ファイルの名称は作業フォルダ内で一意となります。

<content-type>

string

0または1回

HTTP受付が受信したファイルデータのメディアタイプが設定されます。

HTTP受付が受信したマルチパート型データ内で，各パートのContent-Typeヘッダの値に対応します。

各パートのContent-Typeヘッダが省略された場合，このタグは生成されません。

content-typeタグのcharset属性には，各パートのContent-Typeヘッダに指定されたcharset属性（文字コード）が設定されます。charset属性が付与されていなければ，この属性は設定されません。

<http-header>

any

0または1回

HTTP受付が受信したHTTPヘッダ情報がヘッダ変数に変換されて設定されます。詳細はマニュアル「サービスプラットフォーム 解説」の「2.15.4　HTTP受付のリクエスト処理」を参照してください。

<url-parameters>

−

0または1回

URLパラメタ（HTTP受付ルーティング定義ファイルのURLパターン内で動的セグメントに対応するリクエストURLのセグメント）が設定されます。

http-header-urlparametersTypeは，HTTP受付ルーティング定義ファイルで指定するURLパターンに応じてユーザが作成するurecp_http_header_urlparameters.xsdで定義します。

（凡例）

−：該当する項目はありません。

(b)　要求電文フォーマット（ボディ変数用）（HTTP受付用）

HTTP受付がビジネスプロセスから呼び出されたときに，HTTP受付に渡されるボディ変数の要求電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_http_body_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request」です。

表2‒13　要求電文フォーマット（ボディ変数用）（HTTP受付用）

タグ名

種別

出現回数

説明

<http-body-request>

−

1回

−

<parameter>

http-body-requestType

0回以上

リクエストボディの情報がボディ変数に変換されて設定されます。詳細はマニュアル「サービスプラットフォーム 解説」の「2.15.4　HTTP受付のリクエスト処理」を参照してください。

（凡例）

−：該当する項目はありません。

(c)　応答電文フォーマット（ヘッダ変数用）（HTTP受付用）

HTTP受付がビジネスプロセスを呼び出したときに渡すヘッダ変数の応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_http_header_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/response」です。

表2‒14　応答電文フォーマット（ヘッダ変数用）（HTTP受付用）

タグ名

種別

出現回数

説明

<http-header-response>

−

1回

−

<status-code>

string

0または1回

HTTPレスポンスのステータスコードを指定します。

<content-type>

string

0または1回

HTTP受付の応答電文（ボディ変数用）で表すデータのContent-Typeヘッダを指定します。空文字列が指定された場合は，この要素の指定を省略したとみなされます。

データ種別がマルチパート型となる場合，パートに変換した応答電文（ボディ変数用）に対して付与するContent-Typeヘッダとして使用します。

content-type要素のcharset属性には，Content-Typeヘッダのcharset属性として使用する文字コードを指定します。空文字列が指定された場合は，この要素の指定を省略したとみなされます。content-type要素の値にcharset属性やそのほかの属性を指定した場合，動作は保証されません。

<body-partID>

string

0または1回

マルチパート型データをHTTPクライアントに送信する場合に，パートに変換した応答電文（ボディ変数用）に対して付与するContent-Dispositionヘッダのname属性の値を指定します。

body-partID要素の値を省略してマルチパート型データに応答電文（ボディ変数用）を格納した場合，このname属性の値には「csc-body-text」が設定されます。

データ種別がマルチパート型でない場合，この値は無視されます。

<ignore-bodymsg>

boolean

0または1回

応答電文（ボディ）を無視してHTTPクライアントにHTTPレスポンスを返すかどうかを指定します。

この要素の値にtrueを指定した場合は，HTTPクライアントにHTTPレスポンスを返す処理で，応答電文（ボディ）が無視されます。falseを指定した場合は応答電文（ボディ）が利用されます。

この要素を指定しなかった場合，またはこの要素に無効な文字列を指定した場合は，HTTP受付定義ファイルのhttprecp.response.ignore-bodymsgプロパティで指定した値が適用されます。

応答電文（ヘッダ）のignore-bodymsg要素とHTTP受付定義ファイルのhttprecp.response.ignore-bodymsgプロパティの両方に値を指定した場合は応答電文（ヘッダ）の指定が優先されます。

<files>

string

0または1回

作業フォルダから読み込んでHTTPクライアントに送信する中間ファイルのリストを指定します。

<file>

−

0回以上

作業フォルダから読み込んで，HTTPクライアントに送信する中間ファイルを指定します。

<partID>

string

0または1回

データ種別がマルチパート型の場合に各パートを識別するための識別子を指定します。

HTTPレスポンスでのマルチパート型データの各パート単位で，Content-Dispositionヘッダのname属性の値に対して付与する文字列です。

このタグを省略した場合はlocal-file-nameタグの値が設定されます。

ignore-bodymsg要素の値が「true」またはHTTP受付定義ファイルのhttprecp.response.ignore-bodymsgプロパティが「true」（応答電文（ボディ）を無視する設定）で，かつHTTPクライアントに送信する中間ファイルが1つの場合は，マルチパート型とならないため，このタグの指定は無視されます。

<file-name>

string

0または1回

HTTPクライアントがダウンロードするときのファイル名称を指定します。

HTTPレスポンスでのマルチパート型データの各パートで，Content-Dispositionヘッダのfilename属性の値に対して付与する文字列です。

このタグを省略した場合はfilename属性が設定されません。

<local-file-name>

string

1回

HTTPクライアントにダウンロードする作業フォルダ内の中間ファイル名称を指定します。

このタグで指定した名称のファイルは，作業フォルダ内から読み込まれてHTTPレスポンスのボディ部分またはマルチパート型データの各パートのボディ部分に設定されます。

このタグを省略した場合，システム例外が発生します。

<content-type>

string

0または1回

HTTPクライアントに送信するファイルのメディアタイプを指定します。

HTTPレスポンスでのマルチパート型データの各パートで，Content-Typeヘッダに付与する値です。

このタグを省略した場合はメディアタイプが設定されません。空文字列が指定された場合は，この要素の指定を省略したとみなされます。

content-type要素のcharset属性には，Content-Typeヘッダのcharset属性として使用する文字コードを指定します。空文字列が指定された場合は，この要素の指定を省略したとみなされます。content-type要素の値にcharset属性やそのほかの属性を指定した場合，動作は保証されません。

<http-header>

any

0または1回

HTTPレスポンスヘッダの情報を指定します。要素名をヘッダフィールド，値をヘッダ値として，<http-header>の子要素として指定します。

指定しない場合は，HTTPレスポンスヘッダ定義ファイルの情報がHTTPレスポンスヘッダとして使用されます。

（凡例）

−：該当する項目はありません。

(d)　応答電文フォーマット（ヘッダ変数用）（JSON-XML変換用）

JSON-XML変換の定義を設定するヘッダ変数用の応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_custom_response.xsd」です。名前空間は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/custom/response」です。

表2‒15　応答電文フォーマット（ヘッダ変数用）（JSON-XML変換用）

タグ名

種別

出現回数※1

説明

<custom-reception-response>

−

1回

−

<json-transfer>

boolean

0または1回

HTTP受付のレスポンス処理時に，JSON-XML変換するかどうかを指定するタグです。指定値は次のどちらかです。

true：JSON-XML変換します。※2

false：JSON-XML変換しません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

HTTP受付定義ファイルのhttprecp.response.switchover.json-transfer.modeプロパティの値が有効になります。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

HTTP受付定義ファイルのhttprecp.response.switchover.json-transfer.modeプロパティの値に「true」が設定されていない場合，JSON-XML変換をしません。

(e)　応答電文フォーマット（ボディ変数用）（HTTP受付用）

HTTP受付がビジネスプロセスを呼び出したときに渡すボディ変数の応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_http_dummy_body_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/response」です。

なお，この電文フォーマットは応答電文フォーマット（ボディ変数用）のダミーフォーマットです。応答電文（ヘッダ）のignore-bodymsg要素の値が「true」，またはHTTP受付定義ファイルのhttprecp.response.ignore-bodymsgプロパティが「true」（応答電文（ボディ）を無視する設定）の場合に使用します。

応答電文（ボディ）を無視する設定の場合，HTTP受付に応答電文フォーマット（ボディ変数用）を設定していないと，応答電文（ボディ）の変数が存在しないためにビジネスプロセスが変数を返すことができなくなります。このため，このダミーフォーマットをHTTP受付に設定して応答電文（ボディ）の変数を作成し，応答アクティビティに割り当てることを推奨します。

表2‒16　応答電文フォーマット（ボディ変数用）（応答電文（ボディ）を無視する設定の場合）

タグ名

種別

出現回数

説明

<http-body-response>

−

1回

−

<any>

string

0回以上

−

（凡例）

−：該当する項目はありません。

応答電文（ボディ）を無視しない設定の場合，応答電文フォーマット（ボディ変数用）はHTTPレスポンスに応じてユーザが作成してください。

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

HTTP受付で使用する電文フォーマットの作成方法について説明します。

電文フォーマットと使用するXMLスキーマの関係を次の表に示します。

表2‒17　電文フォーマットと使用するXMLスキーマの関係

電文フォーマット

説明

ユーザによる編集

要求電文

ヘッダ変数用（HTTP受付用）

サービスプラットフォームが提供する次のXMLスキーマファイルをそのまま利用します。

urecp_http_header_request.xsd※3

不要

ボディ変数用（HTTP受付用）（メイン）※1

サービスプラットフォームが提供する次のXMLスキーマファイルをそのまま利用します。

urecp_http_body_request.xsd※3

不要

ボディ変数用（HTTP受付用）（詳細）※1

要求電文（ボディ）の値を利用する場合，サービスプラットフォームが提供する次のXMLスキーマファイルを一部編集して利用します。

urecp_http_body_detail_request.xsd※3

要求電文（ボディ）の値を利用しない場合はサービスプラットフォームが提供するXMLスキーマファイルを利用しません。

任意

ボディ変数用（JSON-XML変換用）※2

JSON-XML変換をする場合にJSON変換ツールで作成します。

JSON形式の要求電文，および応答電文のサンプルファイルを入力JSONファイルとして用意し，JSON変換ツールでXSDファイルを作成してください。

任意

応答電文

ヘッダ変数用（HTTP受付用）

サービスプラットフォームが提供する次のXMLスキーマファイルをそのまま利用します。

urecp_http_header_response.xsd※3

不要

ヘッダ変数用（JSON-XML変換用）

サービスプラットフォームが提供する次のXMLスキーマファイルをそのまま利用します。

urecp_custom_response.xsd※4

不要

ボディ変数用（HTTP受付用）※1

サービスプラットフォームが提供する次のXMLスキーマファイルをそのまま利用します。

urecp_http_dummy_body_response.xsd※3

応答電文（ボディ）を無視する設定の場合に利用を推奨します。

不要

応答電文（ボディ）を無視しない設定の場合に，HTTPリクエストの内容に応じて，ユーザが作成します。

必要

ボディ変数用（JSON-XML変換用）※2

JSON-XML変換をする場合にJSON変換ツールで作成します。

JSON形式の要求電文，および応答電文のサンプルファイルを入力JSONファイルとして用意し，JSON変換ツールでXSDファイルを作成してください。

任意

注※1

HTTP受付をパススルーモードで使用する場合，HTTPリクエストおよびHTTPレスポンスの内容に応じてユーザが作成する必要があります。

注※2

HTTP受付でJSON-XML変換の動作を変更する場合は，JSON-XML変換定義ファイルをJSON変換ツールの実行時に指定してください。

JSON変換ツールの実行形式を次に示します。

cscjson2xsd -in <入力JSONファイルのパス> -out <出力XSDファイルのパス> [-f <JSON-XML変換定義ファイルのパス>]

JSON変換ツールの詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「13.　JSON変換ツールを使用したデータ変換」を参照してください。

注※3

サービスプラットフォームが提供する電文フォーマットのXMLスキーマは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema」に格納されています。編集する場合はフォルダごと任意の場所にコピーしてから編集してください。

注※4

サービスプラットフォームが提供する電文フォーマットのXMLスキーマは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥msg」に格納されています。XMLスキーマはそのまま使用してください。編集した場合の動作は保障されません。

以降に，次に示す電文フォーマットのXMLスキーマの作成方法を示します。

要求電文フォーマット（ボディ変数用）（HTTP受付用）

ユーザ作成の応答電文フォーマット（ボディ変数用）（HTTP受付用）（ユーザ作成の場合）

(a)　要求電文フォーマット（ボディ変数用）（HTTP受付用）の作成

XMLスキーマファイル（urecp_http_body_detail_request.xsd）をXMLエディタなどで開き，次の図の枠内で囲まれた部分を編集します。

XMLスキーマファイルの編集時には次の点に注意してください。

要素を追加する場合は，<http-body-request>の子要素として定義してください。孫要素などの構造は定義しないでください。

定義した要素に対応するキーがHTTPリクエストのクエリ文字列内にない場合は，要求電文内で定義した要素は作成されません。

要素として定義していないキーがHTTPリクエストのクエリ文字列内にある場合，要求電文内でキーに対応する要素が作成されます。

XMLスキーマファイルを上書き保存します。

(b)　応答電文フォーマット（ボディ変数用）（HTTP受付用）の作成

XMLエディタなどで任意のXMLスキーマファイルを作成します。

応答電文フォーマット（ボディ変数用）の作成例については，「付録F　HTTP受付を利用したビジネスプロセスの設定例」を参照してください。

「urecp_http_body_response.xsd」のファイル名で任意のディレクトリに保存します。

2.5.3　HTTP受付の定義ファイルを作成する

ここでは，HTTP受付で使用する定義ファイルの種類について説明します。

定義ファイルの種類を次に示します。

表2‒18　定義ファイルの種類

定義ファイル

説明

省略可否

HTTPレスポンスヘッダ定義ファイル

応答電文のヘッダ変数が省略されている場合に，デフォルトのHTTPレスポンスのヘッダ定義を指定するためのファイルです。

可

HTTP受付定義ファイル

HTTP受付を使用する際に必要なパラメタを設定するためのファイルです。

可※1

JSON-XML変換定義ファイル

JSON-XML変換の動作を変更するためのファイルです。

可※2

HTTP受付サービス選択定義ファイル

ユーザ定義受付（呼出先選択）のHTTP受付から呼び出すビジネスプロセスの情報と呼び出し条件を設定するためのファイルです。

可※3※4

HTTP受付ルーティング定義ファイル

HTTP受付から呼び出すビジネスプロセスや，HTTP受付で実行する機能を設定するファイルです。

可※4

注※1

HTTP受付定義ファイルを省略した場合，HTTP受付定義ファイルのテンプレートファイルのデフォルト値が使用されます。

注※2

JSON-XML変換定義ファイルを省略した場合，JSON-XML変換定義ファイルのテンプレートファイルのデフォルト値が使用されます。

注※3

ユーザ定義受付（呼出先選択）のHTTP受付を使用する場合は，省略できません。

注※4

HTTP受付サービス選択定義ファイルとHTTP受付ルーティング定義ファイルは，同時に使用できません。

次のファイルは，HTTP受付の追加時に，サービスプラットフォームが提供するテンプレートファイルを編集して利用します。

HTTPレスポンスヘッダ定義ファイル（cscurecphttp_header.properties）

HTTP受付定義ファイル（cscurecphttp.properties）

HTTP受付サービス選択定義ファイル（cscurecphttp_selection.properties）

HTTP受付ルーティング定義ファイル（cscurecphttp_routing.xml）

そのため，上記のファイルの作成は不要です。

JSON-XML変換定義ファイルのテンプレートファイル（csc_json_converter.properties）は，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥msg¥templates」に格納されています。使用する場合は，テンプレートファイルを独自定義ファイルとして追加し，ファイルを編集してください。ファイル名は「csc_json_converter.properties」で固定です。

ファイルの内容については，ボディ変数用の電文フォーマットの作成時に使用したJSON-XML変換定義ファイルと合わせてください。

2.5.4　HTTP受付を追加する

HTTP受付を新規に追加する場合，特定のビジネスプロセスを呼び出すか，または呼び出しサービス選択機能で呼び出すビジネスプロセスを選択するかで，HTTP受付を追加する手順が異なります。

ここでは，呼び出しサービス選択機能を使用しないで，特定のビジネスプロセスを呼び出す手順について説明します。

呼び出すビジネスプロセスを選択してHTTP受付を追加する手順については，「付録L　ユーザ定義受付（呼出先選択）の定義」を参照してください。

特定のビジネスプロセスを呼び出すHTTP受付を新規に追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのビジネスプロセスで右クリックして［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

受付種別のドロップダウンリストから「HTTP受付」を選択します。

［次へ］ボタンをクリックすると，HTTP受付の追加に必要な情報を入力するダイアログが表示されます。

［受付名］を指定します。

HTTP受付の名称を1〜40バイトで指定します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。ユーザ定義受付定義画面（基本）が表示されます。

HTTP受付の定義情報を設定します。

HTTP受付の設定項目について次の表に示します。

表2‒19　HTTP受付のユーザ定義受付定義画面（基本）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付情報

受付名

設定した受付名が表示されます。

◎

受付ID

受付IDが表示されます。必要に応じて変更します。

◎

デフォルトオペレーション名

デフォルトで呼び出すオペレーションを選択します。

◎

オペレーション

任意のオペレーション名を指定します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

［any型を使う］チェックボックス

ボディ電文を空で送信する場合，チェックすることを推奨します。※1

○

受付

電文フォーマット

urecp_http_body_request.xsd※2を指定します。

［any型を使う］チェックボックスをチェックしている場合は，電文フォーマットファイルを指定する必要はありません。

○

サービス部品

［使う］チェックボックス

チェックしません。

−

応答電文

［any型を使う］チェックボックス

チェックしません。

−

受付

電文フォーマット

応答電文（ボディ）を無視する設定の場合

任意の電文フォーマットを指定します。サービスプラットフォームが提供するurecp_http_dummy_body_response.xsd※2の利用を推奨します。

応答電文（ボディ）を無視しない設定の場合

「2.5.2(3)(b)　応答電文フォーマット（ボディ変数用）（HTTP受付用）の作成」で作成したurecp_http_body_response.xsdを指定します。

◎

サービス部品

［使う］チェックボックス

チェックしません。

−

（凡例）

◎：必ず設定します。

○：任意で設定します。

−：該当しません。

注※1

パススルーモードを有効にしてメッセージボディを指定しない場合，空文字のボディ電文をビジネスプロセスに渡すため，any型の利用を推奨します。

注※2

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema」です。

上記以外のユーザ定義受付定義画面の設定項目については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.5　ユーザ定義受付定義画面」を参照してください。

ユーザ定義受付（詳細）タブをクリックします。

ユーザ定義受付定義画面（詳細）が表示されます。

HTTP受付の定義情報を設定します。

HTTP受付の設定項目について次の表に示します。

表2‒20　HTTP受付のユーザ定義受付定義画面（詳細）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付制御情報

独自定義ファイル

次の独自定義ファイルが表示されます。必要に応じて変更します。

cscurecphttp.properties※1

cscurecphttp_header.properties※2

ここに設定されているのはテンプレートファイルです。修正が必要な場合はファイルを選択して［編集］ボタンをクリックし，独自定義ファイルの内容を修正してください。

◎

EARファイル

次のEARファイルが設定されていることを確認します。

cscmsg_urecp_http.ear※3

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

cscurecphttp.propertiesの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.11.3　HTTP受付定義ファイル」を参照してください。

注※2

cscurecphttp_header.propertiesの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.11.1　HTTPレスポンスヘッダ定義ファイル」を参照してください。

注※3

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥lib」です。

2.5.5　アクティビティを設定する

ここでは，HTTP受付を定義したあとに，ビジネスプロセス定義画面で受付アクティビティおよび応答アクティビティを設定する方法について説明します。

アクティビティの設定では，要求電文用および応答電文用の変数を定義したあと，受付アクティビティおよび応答アクティビティに定義した変数を割り当てます。

(1)　変数の定義

［変数・相関セット一覧］ダイアログで次の変数を定義します。

要求電文（ヘッダ）の変数

応答電文（ヘッダ）の変数

要求電文（ボディ）の変数

応答電文（ボディ）の変数

変数の定義手順を次に示します。

(a)　要求電文（ヘッダ）および応答電文（ヘッダ）の変数

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

［変数名］に任意の名称を指定します。

［種別］ドロップダウンリストから「XML」を選択します。

［電文フォーマット］の［参照］ボタンをクリックします。

電文フォーマットを指定するダイアログが表示されます。

変数に応じて次のファイルを指定します。

要求電文（ヘッダ）の変数

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema¥urecp_http_header_request.xsd

応答電文（ヘッダ）の変数

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema¥urecp_http_header_response.xsd

［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

変数が追加されます。

操作2.から操作6.と同様の手順で応答電文（ヘッダ）の変数を追加します。

(b)　要求電文（ボディ）および応答電文（ボディ）の変数

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

［変数名］に任意の名称を指定します。

［種別］ドロップダウンリストから「XML」を選択します。

［電文フォーマット］の［取込］ボタンをクリックします。

［電文フォーマットの取込］ダイアログが表示されます。

［受付名］をチェックし，ドロップダウンリストからユーザ定義受付定義画面で設定したHTTP受付の名称を選択します。

［オペレーション名］ドロップダウンリストからHTTP受付に設定したオペレーションを選択します。

変数に応じて［電文種別］ドロップダウンリストで次のように選択します。

要求電文（ボディ）の変数の場合

［要求電文（ボディ）］を選択します。

応答電文（ボディ）の変数の場合

［応答電文（ボディ）］を選択します。

［電文フォーマット］に任意の名称を入力します。

［OK］ボタンをクリックします。

［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

変数が追加されます。

操作2.から操作10.と同様の手順で応答電文（ボディ）の変数を追加します。

(2)　変数の割り当て

受付アクティビティおよび応答アクティビティに追加した変数を割り当てる手順を次に示します。

(a)　受付アクティビティの場合

ビジネスプロセス定義画面のキャンバス上の受付アクティビティをダブルクリックします。

［受付アクティビティ］ダイアログが表示されます。

［アクティビティ名］に任意の名称を入力します。

［オペレーション名］の［取込］ボタンをクリックします。

［オペレーション名の取込］ダイアログが表示されます。

［受付名］に該当するHTTP受付の名称を設定し，［オペレーション名］に取り込み対象となるオペレーション名を設定します。

［OK］ボタンをクリックします。

［ボディ割当変数］ドロップダウンリストから，定義した要求電文（ボディ）の変数を選択します。

［ヘッダ割当変数］の［設定］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが表示されます。

［追加］ボタンをクリックします。

［割当変数］セルのドロップダウンリストから，定義した要求電文（ヘッダ）の変数を選択します。

［ルート要素］セルのドロップダウンリストからルート要素を選択します。

［OK］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが閉じます。

［受付アクティビティ］ダイアログで［OK］ボタンをクリックします。

(b)　応答アクティビティの場合

ビジネスプロセス定義画面のキャンバス上の応答アクティビティをダブルクリックします。

［応答アクティビティ］ダイアログが表示されます。

［アクティビティ名］に任意の名称を入力します。

［オペレーション名］の［取込］ボタンをクリックします。

［オペレーション名の取込］ダイアログが表示されます。

［ユーザ定義受付から取込］ラジオボタンを選択し，［受付名］を選択します。

［オペレーション名］にHTTP受付に設定したオペレーション名を設定します。

［OK］ボタンをクリックします。

［ボディ割当変数］ドロップダウンリストから，定義した応答電文（ボディ）の変数を選択します。

［ヘッダ割当変数］の［設定］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが表示されます。

［追加］ボタンをクリックします。

［割当変数］セルのドロップダウンリストから，定義した応答電文（ヘッダ）の変数を選択します。

［ルート要素］セルのドロップダウンリストからルート要素を選択します。

［OK］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが閉じます。

［応答アクティビティ］ダイアログで［OK］ボタンをクリックします。

2.6　Message Queue受付の定義

この節では，Message Queue受付の電文フォーマットの作成，Message Queue受付の追加など，Message Queue受付の定義方法について説明します。

2.6.1　Message Queue受付の定義の流れ

Message Queue受付の定義の流れを次に示します。

図2‒7　Message Queue受付の定義の流れ

Message Queue受付を定義する場合の作業について次に説明します。

(1)　J2EEサーバ用オプション定義ファイルの設定

実行環境でMessage Queue受付が動作するために，J2EEサーバのクラスパスにIBM MQのライブラリ（IBM MQのjar）を追加してください。

(2)　J2EEサーバ用ユーザプロパティファイルの設定

実行環境でMessage Queue受付が動作するために，J2EEサーバを実行するJavaVMのシステムプロパティにライトトランザクション機能（ejbserver.distributedtx.XATransaction.enabled=true）を設定してください。

(3)　ビジネスプロセスの定義

ビジネスプロセス追加用のウィザードおよび定義済みのビジネスプロセスを利用して，ビジネスプロセスを追加します。追加したビジネスプロセスは，ビジネスプロセス定義画面で定義します。ビジネスプロセスの定義の詳細は，マニュアル「サービスプラットフォーム開発ガイド 基本開発編」の「5.　ビジネスプロセスの定義」を参照してください。

また，ビジネスプロセスからサービス部品を呼び出す場合，サービスアダプタを定義する必要があります。サービスアダプタの定義の詳細は，「3.　サービスアダプタの定義」を参照してください。

(4)　Message Queue受付の電文フォーマットの作成

Message Queue受付で使用する電文フォーマットを作成します。

電文フォーマットの作成方法については，「2.6.2　Message Queue受付の電文フォーマットを作成する」を参照してください。

(5)　Message Queue受付の定義ファイルの作成

Message Queue受付で使用する定義ファイルを作成します。作成した定義ファイルはリポジトリに反映されます。

Message Queue受付で使用する定義ファイルの作成方法については，「2.6.3　Message Queue受付の定義ファイルを作成する」を参照してください。

(6)　Message Queue受付の追加

ツリービューのサービス定義一覧でMessage Queue受付を追加，および内容を定義します。

Message Queue受付の追加および定義手順については，「2.6.4　Message Queue受付を追加する」を参照してください。

(7)　Message Queue受付の保存

追加および定義済みのMessage Queue受付をリポジトリに保存します。Message Queue受付の保存手順については，「2.13　ユーザ定義受付の保存」を参照してください。

(8)　Message Queue受付の削除

不要になったMessage Queue受付は，必要に応じて削除できます。

Message Queue受付の削除については，「2.16　ユーザ定義受付の削除」を参照してください。

2.6.2　Message Queue受付の電文フォーマットを作成する

Message Queue受付で使用する電文フォーマットの形式，および作成方法について説明します。

(1)　電文フォーマットの形式

Message Queue受付で扱うJMSメッセージは，JMSヘッダ，プロパティ，およびボディで構成されます。

Message Queue受付で使用する電文フォーマットの形式について説明します。

(a)　ヘッダ電文の形式

Message Queue受付からビジネスプロセスに渡す要求電文のヘッダには，JMSメッセージのJMSヘッダとプロパティに指定されたデータを設定します。

Message Queue受付からビジネスプロセスに渡す要求電文フォーマット（ヘッダ変数用）を次に示します。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/mq/header」です。

表2‒21　Message Queue受付のヘッダ電文の要求電文フォーマット

タグ名

種別

出現回数

説明

<mq_header>

−

1回

−

<jms_header>

string

1回

JMSヘッダの内容が設定されます。

<JMSDestination>

string

1回

メッセージが設定されているキュー名が設定されます。

<JMSDeliveryMode>

string

1回

メッセージの永続性を示す値が設定されます。

<JMSMessageID>

string

1回

プロバイダによって送信される各メッセージを一意に識別するメッセージ識別子が設定されます。

<JMSTimestamp>

string

1回

メッセージの送信時刻を表す値が設定されます。（単位：ミリ秒）

<JMSExpiration>

string

1回

メッセージの有効期間となる時刻を表す値が設定されます。（単位：ミリ秒）

<JMSRedelivered>

string

1回

メッセージが再配送中であるかどうかを示す値が設定されます。

<JMSPriority>

string

1回

メッセージのプライオリティが設定されます。

<JMSReplyTo>

string

1回

応答先のあて先が設定されます。

この情報は，Message Queue受付では使用しません。

<JMSCorrelationID>

string

1回

あるメッセージをほかのメッセージと関連づけるための相関識別子が設定されます。

<JMSType>

string

1回

メッセージが送信されるときに，アプリケーションによって提供されるメッセージタイプが設定されます。

<JMSHeaderExtension>

string

0回以上

次の値が設定されます。

属性に"name"を持ち，JMSヘッダの名称が設定されます。

値には，nameに設定されたJMSヘッダの値が設定されます。

<user_property>

−

1回

ユーザが設定したプロパティの内容が設定されます。

<property>

string

0回以上

次の値が設定されます。このタグは設定されたプロパティの個数分生成されます。

属性に"name"を持ち，プロパティの名称が設定されます。

値には，nameに設定されたプロパティの値が設定されます。

（凡例）

−：該当する項目はありません。

(b)　ボディ電文の形式

要求電文のボディに格納された本文は，ボディ電文としてビジネスプロセスに渡します。

ボディ電文の種別は，JMSメッセージのインターフェースとユーザ定義受付定義の設定によって異なります。ボディ電文の電文種別を次に示します。

表2‒22　ボディ電文の電文種別

インターフェース名

ユーザ定義受付定義の設定

（要求電文フォーマット指定あり）

any型の指定なし

any型の指定あり

BytesMessage

バイナリ電文

任意形式の電文

TextMessage

XML電文

任意形式の電文

(2)　電文フォーマットの作成方法

Message Queue受付で使用する電文フォーマットの作成方法について説明します。

(a)　ヘッダ電文の作成

Message Queue受付のヘッダ電文の電文フォーマットは，サービスプラットフォームが提供するXMLスキーマを編集して利用します。そのため，ヘッダ電文のXMLスキーマの作成は不要です。

サービスプラットフォームが提供する電文フォーマットのXMLスキーマは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥mq¥schema」に格納されています。

サービスプラットフォームが提供するXMLスキーマの内容を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<!-- All Rights Reserved. Copyright (C) 2014, Hitachi, Ltd. -->
<xsd:schema elementFormDefault="qualified"
           targetNamespace="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/mq/header"
           xmlns:mhc="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/mq/header"
           xmlns:xsd="http://www.w3.org/2001/XMLSchema">

 <xsd:element name="mq_header">
  <xsd:complexType>
   <xsd:sequence>
     <xsd:element name="jms_header" maxOccurs="1" minOccurs="0">
      <xsd:complexType>
       <xsd:sequence>
        <xsd:element name="JMSDestination" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name="JMSDeliveryMode" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name="JMSMessageID" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name="JMSTimestamp" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name="JMSExpiration" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name="JMSRedelivered" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name="JMSPriority" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name="JMSReplyTo" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name="JMSCorrelationID" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name="JMSType" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/>
        <xsd:element name=" JMSHeaderExtension " minOccurs="0" maxOccurs="unbounded" >
         <xsd:complexType>
          <xsd:simpleContent>
           <xsd:extension base="xsd:string">
            <xsd:attribute name="name" type="xsd:string" use="optional"/>
           </xsd:extension>
          </xsd:simpleContent>
         </xsd:complexType>
        </xsd:element>
       </xsd:sequence>
      </xsd:complexType>
     </xsd:element>
     <xsd:element name="user_property" maxOccurs="1" minOccurs="0">
      <xsd:complexType>
       <xsd:sequence>
        <xsd:element name="property" minOccurs="0" maxOccurs="unbounded" >
         <xsd:complexType>
          <xsd:simpleContent>
           <xsd:extension base="xsd:string">
            <xsd:attribute name="name" type="xsd:string" use="optional"/>
           </xsd:extension>
          </xsd:simpleContent>
         </xsd:complexType>
        </xsd:element>
       </xsd:sequence>
      </xsd:complexType>
     </xsd:element>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
</xsd:schema>

(b)　ボディ電文の作成

Message Queue受付のボディ電文の電文フォーマットについては，スキーマの形式は任意です。ボディ電文の電文種別に合わせてスキーマを作成する必要があります。なお，電文種別が任意形式（any型の指定あり）の場合はスキーマの作成は不要です。

2.6.3　Message Queue受付の定義ファイルを作成する

Message Queue受付の定義ファイルを次に示します。

Message Queue受付定義ファイル

Message Queue受付を使用する際に必要なパラメタを設定するためのファイルです。Message Queue受付配備時に，Message Queue受付定義ファイルに設定した内容がアプリケーション統合属性ファイルに書き込まれ，Message Queue受付起動時に有効になります。

Message Queue受付定義ファイルは，Message Queue受付の追加時に，サービスプラットフォームが提供するテンプレートファイル（cscurecpmq.properties）を編集して利用します。そのため，Message Queue受付定義ファイルの作成は不要です。

Message Queue受付定義ファイルの記載例を次に示します。

resource-adapter=IBM_MQ_Resource_Adapter
activation-config.destination=QUEUE.NAME
activation-config.username=user1

2.6.4　Message Queue受付を追加する

Message Queue受付を新規に追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのビジネスプロセスで右クリックして［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

受付種別のドロップダウンリストから「Message Queue受付」を選択します。

［次へ］ボタンをクリックすると，Message Queue受付の追加に必要な情報を入力するダイアログが表示されます。

［受付名］を指定します。

Message Queue受付の名称を1〜40バイトで指定します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。ユーザ定義受付定義画面（基本）が表示されます。

Message Queue受付の定義情報を設定します。

Message Queue受付の設定項目について次の表に示します。

表2‒23　Message Queue受付のユーザ定義受付定義画面（基本）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付情報

受付名

設定した受付名が表示されます。

◎

受付ID

受付IDが表示されます。必要に応じて変更します。

◎

デフォルトオペレーション名

デフォルトで呼び出すオペレーションを選択します。

◎

オペレーション

次の中から追加するオペレーション種別を選択して，オペレーション名を指定します。

終了時コミット

Message Queue受付の標準パターンです。JMSプロバイダとのトランザクションは，ビジネスプロセス実行終了後にコミットされます。

ビジネスプロセスの通信モデルは非同期となります。

任意時コミット

Message Queue受付の応用パターンです。JMSプロバイダとのトランザクションは，ビジネスプロセスの応答アクティビティ処理完了後にコミットされます。

ビジネスプロセスの通信モデルは同期となります。

応答アクティビティ処理完了後のビジネスプロセス処理で例外が発生した場合，リクエストを再送信する必要があります。

◎

オペレーション情報

通信モデル

「同期」または「非同期」を設定します。

◎

要求電文

［any型を使う］チェックボックス

任意の形式の要求電文（ボディ）を使用する場合はチェックします。

○

受付

電文フォーマット

［any型を使う］チェックボックスをチェックしていない場合は，任意の電文フォーマットファイルを指定します。

［any型を使う］チェックボックスをチェックしている場合は，電文フォーマットファイルを指定する必要はありません。

○

サービス部品

［使う］チェックボックス

チェックしません。

−

応答電文

［any型を使う］チェックボックス

任意の形式の応答電文（ボディ）を使用する場合はチェックします。

○

受付

電文フォーマット

任意の電文フォーマットファイルを指定します。

○

サービス部品

［使う］チェックボックス

チェックしません。

−

（凡例）

◎：必ず設定します。

○：任意で設定します。

−：該当しません。

ユーザ定義受付（詳細）タブをクリックします。

ユーザ定義受付定義画面（詳細）が表示されます。

Message Queue受付の定義情報を設定します。

Message Queue受付の設定項目について次の表に示します。

表2‒24　Message Queue受付のユーザ定義受付定義画面（詳細）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付制御情報

独自定義ファイル

次の独自定義ファイルが表示されます。必要に応じて変更します。

cscurecpmq.properties※1

◎

EARファイル

次のEARファイルが設定されていることを確認します。

cscmsg_urecp_mq.ear※2

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

設定されているcscurecpmq.propertiesはテンプレートファイルです。必要に応じてcscurecpmq.propertiesを選択して［編集］ボタンをクリックし，独自定義ファイルの内容を修正してください。cscurecpmq.propertiesの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.9.1　Message Queue受付定義ファイル」を参照してください。

注※2

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥mq¥lib」です。

2.7　ファイルイベント受付の定義

この節では，開発環境でのファイルイベント受付の定義方法について説明します。

2.7.1　ファイルイベント受付の定義の流れ

ファイルイベント受付の流れを次に示します。

図2‒8　ファイルイベント受付の定義の流れ

ファイルイベント受付を定義する場合の作業について次に説明します。

(1)　ビジネスプロセスの定義

ビジネスプロセス追加用のウィザードおよび定義済みのビジネスプロセスを利用して，ビジネスプロセスを追加します。追加したビジネスプロセスは，ビジネスプロセス定義画面で定義します。ビジネスプロセスの定義の詳細は，マニュアル「サービスプラットフォーム開発ガイド 基本開発編」の「5.　ビジネスプロセスの定義」を参照してください。

また，ビジネスプロセスからサービス部品を呼び出す場合，サービスアダプタを定義する必要があります。サービスアダプタの定義の詳細は，「3.　サービスアダプタの定義」を参照してください。

(2)　ファイルイベント受付の電文フォーマットの作成

ファイルイベント受付で使用する要求電文フォーマットおよび応答電文フォーマットを作成します。

電文フォーマットの作成方法については，「2.7.2　ファイルイベント受付の電文フォーマットを作成する」を参照してください。

(3)　ファイルイベント受付の定義ファイルの作成

ファイルイベント受付で使用する定義ファイルを作成します。ファイルイベント受付で使用する定義ファイルの作成方法については，「2.7.3　ファイルイベント受付の定義ファイルを作成する」を参照してください。

(4)　ファイルイベント受付の追加

実行環境でファイルイベント受付を追加してください。追加方法については，「2.7.4　ファイルイベント受付を追加する」を参照してください。

(5)　ファイルイベント受付の保存

追加および定義済みのファイルイベント受付をリポジトリに保存します。ファイルイベント受付の保存手順については，「2.13　ユーザ定義受付の保存」を参照してください。

(6)　ファイルイベント受付の削除

不要になったファイルイベント受付は，必要に応じて削除できます。

ファイルイベント受付の削除については，「2.16　ユーザ定義受付の削除」を参照してください。

2.7.2　ファイルイベント受付の電文フォーマットを作成する

ファイルイベント受付の要求電文および応答電文の電文フォーマットは，サービスプラットフォームが提供するスキーマを使用します。そのため，電文フォーマットの定義ファイルの作成は不要です。

ファイルイベント受付で使用する電文フォーマットの種類，および内容について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥fileevent¥schema」です。

(1)　ファイルイベント受付の要求電文フォーマット

ファイルイベント受付がビジネスプロセスを呼び出すときに，ビジネスプロセスへ渡す要求電文のフォーマットを次に示します。この電文フォーマットのファイル名は「urecp_fileevent_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/fileevent/request」です。

表2‒25　ファイルイベント受付の要求電文フォーマット

タグ名

種別

出現回数

説明

<request>

−

1回

−

<common-folder-def-name>

string

1回

取得対象ファイルが格納されている共通フォルダの定義名です。

<sub-folder>

string

0または1回

共通フォルダのサブフォルダです。

ファイルイベント受付定義ファイルのurecp-fileevent.sub-folderプロパティが設定されている場合に値が設定されます。

urecp-fileevent.sub-folderプロパティが設定されていない場合は，要素は出現しません。

<file-name>

string

1回

取得対象ファイル名です。

共通フォルダを監視する場合は，監視対象はリネーム後のファイル名です。

リネーム後のファイル名については，詳細はマニュアル「サービスプラットフォーム 解説」の「9.1.2　監視対象のファイルの状態管理機能」を参照してください。

<file-size>

long

1回

取得対象ファイルのファイルサイズです。

（凡例）

−：該当する項目はありません。

(2)　ファイルイベント受付の応答電文フォーマット

ファイルイベント受付の応答電文のフォーマットを次に示します。この電文フォーマットのファイル名は「urecp_fileevent_response.xsd」です。名前空間は，「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/fileevent/response」です。

表2‒26　ファイルイベント受付の応答電文フォーマット

タグ名

種別

出現回数

説明

<response>

−

1回

−

<message>

string

0または1回

ビジネスプロセスの終了状態を示すメッセージです。タグの設定値をファイルイベントトレースの付加情報に出力します。

<success>

boolean

0または1回

ビジネスプロセスの終了状態を示すフラグです。

次のどちらかを指定します。

true

ビジネスプロセスの処理が正常に終了した。

false

ビジネスプロセスの処理でエラーが発生した。

省略した場合，または上記以外の値を設定した場合はtrueが設定されます。

なお，タグの設定値によって，ファイルイベントトレースの出力内容が変わります。ファイルイベントトレースについては，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「7.7.12　ファイルイベント連携システムでの障害対策」を参照してください。

（凡例）

−：該当する項目はありません。

2.7.3　ファイルイベント受付の定義ファイルを作成する

ファイルイベント受付では，次の定義ファイルを作成します。

ファイルイベント受付定義ファイル

ファイルイベント受付を使用する際に必要なパラメタを設定するためのファイルです。

ファイルイベント受付定義ファイルは，ファイルイベント受付の追加時に，サービスプラットフォームが提供するテンプレートファイル（cscurecpfileevent.properties）を編集して利用できるため，新規に作成する必要はありません。

注意事項

ファイルイベント受付定義ファイルの設定を省略すると，テンプレートファイルの各デフォルト値が使用されます。ただし，監視サブフォルダについてはデフォルト値がないため，ファイルイベント受付定義ファイルで設定（監視サブフォルダの指定）を省略しないでください。ファイルイベント受付定義ファイルの設定については，マニュアル「サービスプラットフォームリファレンス」の「3.12.1　ファイルイベント受付定義ファイル」を参照してください。

2.7.4　ファイルイベント受付を追加する

ファイルイベント受付を新規に追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのビジネスプロセスで右クリックして［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

受付種別のドロップダウンリストから「ファイルイベント受付」を選択します。

［次へ］ボタンをクリックすると，ファイルイベント受付の追加に必要な情報を入力するダイアログが表示されます。

［受付名］を指定します。

ファイルイベント受付の名称を1〜40バイトで指定します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。ユーザ定義受付定義画面（基本）が表示されます。

ファイルイベント受付の定義情報を設定します。

ファイルイベント受付の設定項目について次の表に示します。

表2‒27　ファイルイベント受付のユーザ定義受付定義画面（基本）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付情報

受付名

設定した受付名が表示されます。

◎

受付ID

受付IDが表示されます。必要に応じて変更します。

◎

デフォルトオペレーション名

「FileEvent」で固定です。

◎

オペレーション

「FileEvent」で固定です。

◎

オペレーション情報

通信モデル

「同期」または「非同期」を設定します。

◎

要求電文

［any型を使う］チェックボックス

チェックしません。

−

受付

電文フォーマット

urecp_fileevent_request.xsdが指定されています。

◎

サービス部品

［使う］チェックボックス

チェックしません。

−

応答電文

［any型を使う］チェックボックス

チェックしません。

−

受付

電文フォーマット

urecp_fileevent_response.xsdが指定されています。

◎※

サービス部品

［使う］チェックボックス

チェックしません。

−

（凡例）

◎：必ず設定します。

−：該当しません。

注※

通信モデルで「非同期」を指定した場合，応答電文は使用できないため非活性になり，設定できません。

ユーザ定義受付（詳細）タブをクリックします。

ユーザ定義受付定義画面（詳細）が表示されます。

ファイルイベント受付の定義情報を設定します。

ファイルイベント受付の設定項目について次の表に示します。

表2‒28　ファイルイベント受付のユーザ定義受付定義画面（詳細）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付制御情報

独自定義ファイル

次の独自定義ファイルが表示されます。必要に応じて変更します。

cscurecpfileevent.properties※1

◎

EARファイル

次のEARファイルが設定されていることを確認します。

cscmsg_urecp_fileevent.ear※2

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

設定されているcscurecpfileevent.propertiesはテンプレートファイルです。必要に応じてcscurecpfileevent.propertiesを選択して［編集］ボタンをクリックし，独自定義ファイルの内容を修正してください。cscurecpfileevent.propertiesの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.12.1　ファイルイベント受付定義ファイル」を参照してください。

注※2

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥fileevent¥lib」です。

2.8　Kafka受付の定義

この節では，開発環境でのKafka受付の定義方法について説明します。

2.8.1　Kafka受付の定義の流れ

Kafka受付の流れを次に示します。

図2‒9　Kafka受付の定義の流れ

Kafka受付を定義する場合の作業について次に説明します。

(1)　Kafka受付の電文フォーマットの作成

Kafka受付で使用する要求電文フォーマットおよび応答電文フォーマットを作成します。

電文フォーマットの作成方法については，「2.8.2　Kafka受付の電文フォーマットを作成する」を参照してください。

(2)　Kafka受付の定義ファイルの作成

Kafka受付で使用する定義ファイルを作成します。Kafka受付で使用する定義ファイルの作成方法については，「2.8.3　Kafka受付の定義ファイルを作成する」を参照してください。

(3)　Kafka受付の追加

実行環境でKafka受付を追加します。追加方法については，「2.8.4　Kafka受付を追加する」を参照してください。

(4)　Kafka受付の保存

追加および定義済みのKafka受付をリポジトリに保存します。Kafka受付の保存手順については，「2.13　ユーザ定義受付の保存」を参照してください。

(5)　アクティビティの設定

Kafka受付の要求電文／応答電文フォーマット用のボディ変数とヘッダ変数をビジネスプロセスのアクティビティに設定します。

アクティビティの設定方法については，「2.8.5　アクティビティを設定する」を参照してください。

(6)　Kafka受付の削除

不要になったKafka受付は，必要に応じて削除できます。

Kafka受付の削除については，「2.16　ユーザ定義受付の削除」を参照してください。

2.8.2　Kafka受付の電文フォーマットを作成する

Kafka受付では要求電文フォーマットを使用します。応答電文フォーマットの設定は不要です。

Kafka受付で使用する要求電文フォーマットの形式と作成方法について説明します。

(1)　ヘッダ電文の電文フォーマット

Kafka受付のヘッダ電文の電文フォーマットは，サービスプラットフォームが提供するスキーマを使用します。そのため，ヘッダ電文の定義ファイルの作成は不要です。

サービスプラットフォームが提供する電文フォーマットのXMLスキーマは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥kafka¥schema」に格納されています。

Kafka受付の要求電文フォーマットの形式を次に示します。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/kafka/request」です。

表2‒29　Kafka受付のヘッダ電文の要求電文フォーマット

タグ名

種別

出現回数

説明

<request>

−

1回

−

<record>

−

1回

レコードの情報

<topic>

string

1回

レコードが格納されているトピックのトピック名が設定されます。

<headers>

−

0または1回

ヘッダ一覧が設定されます。

ヘッダが設定されている場合だけ出現します。

<header>

−

1回以上

headers要素がある場合だけ出現します。

<key>

string

1回

ヘッダのキーが設定されます。

header要素がある場合だけ出現します。

<value>

string

0または1回

ヘッダの値が設定されます。

header要素がある場合だけ出現します。ただし，値がnullの場合は出現しません。

また，空のバイト配列が設定されていた場合は，空要素となります。

<key>

string

0または1回

レコードのキーです。レコードのキーがnullの場合は，出現しません。また，キーがバイト配列で，かつ空のバイト配列が設定されていた場合は，空要素となります。

<partition>

int

1回

レコードが格納されているパーティションIDです。

<offset>

long

1回

レコードのオフセットです。

<timestamp>

long

1回

レコードに設定されているタイムスタンプです。

（凡例）

−：該当する項目はありません。

(2)　ボディ電文の電文フォーマット

Kafka受付のボディ電文の電文フォーマットについては，スキーマの形式は任意です。ボディ電文の電文種別に合わせてスキーマを作成する必要があります。

ボディ電文は，次の電文形式を使用できます。

XML形式

バイナリ形式

any

JSON-XML変換を行う場合は，ボディ電文の電文フォーマットをJSON変換ツールで生成する必要があります。JSON変換ツールの詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「13.　JSON変換ツールを使用したデータ変換」を参照してください。

2.8.3　Kafka受付の定義ファイルを作成する

Kafka受付では，次の定義ファイルを作成します。

Kafka受付定義ファイル

Kafka受付やKafkaインバウンドアダプタの動作を定義するファイルです。Kafka受付の配備時，Kafka受付の起動時，およびcsccmctlコマンドの実行時に読み込まれます。

Kafka受付定義ファイルは，Kafka受付の追加時に，サービスプラットフォームが提供するテンプレートファイル（cscurecpkafka.properties）を編集して利用します。そのため，Kafka受付定義ファイルの作成は不要です。

JSON-XML変換定義ファイル

JSON-XML変換時の動作を設定するファイルです。JSON-XML変換を行う場合だけ作成します。

2.8.4　Kafka受付を追加する

Kafka受付を新規に追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのビジネスプロセスで右クリックして［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

受付種別のドロップダウンリストから「Kafka受付」を選択します。

［次へ］ボタンをクリックすると，Kafka受付の追加に必要な情報を入力するダイアログが表示されます。

［受付名］を指定します。

Kafka受付の名称を1〜40バイトで指定します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。ユーザ定義受付定義画面（基本）が表示されます。

Kafka受付の定義情報を設定します。

Kafka受付の設定項目について次の表に示します。

表2‒30　Kafka受付のユーザ定義受付定義画面（基本）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付情報

受付名

設定した受付名が表示されます。

◎

受付ID

受付IDが表示されます。必要に応じて変更します。

◎

デフォルトオペレーション名

「Receive」で固定です。

◎

オペレーション

「Receive」で固定です。

◎

オペレーション情報

通信モデル

「非同期」を設定します。

◎

要求電文

［any型を使う］チェックボックス

任意の形式の要求電文（ボディ）を使用する場合はチェックします。

○

受付

電文フォーマット

［any型を使う］チェックボックスをチェックしていない場合は，任意の電文フォーマットファイルを指定します。

［any型を使う］チェックボックスをチェックしている場合は，電文フォーマットファイルを指定する必要はありません。

○

サービス部品

［使う］チェックボックス

必要に応じてチェックします。

○

応答電文

［any型を使う］チェックボックス

チェックしません。

−

受付

電文フォーマット

設定しません。

−

サービス部品

［使う］チェックボックス

チェックしません。

−

（凡例）

◎：必ず設定します。

○：任意で設定します。

−：該当しません。

ユーザ定義受付（詳細）タブをクリックします。

ユーザ定義受付定義画面（詳細）が表示されます。

Kafka受付の定義情報を設定します。

Kafka受付の設定項目について次の表に示します。

表2‒31　Kafka受付のユーザ定義受付定義画面（詳細）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付制御情報

独自定義ファイル

次の独自定義ファイルが表示されます。必要に応じて変更します。

cscurecpkafka.properties※1

JSON-XML変換を行う場合は，必要に応じてJSON-XML変換定義ファイル（csc_json_converter.properties※2）を指定します。

◎

EARファイル

次のEARファイルが設定されていることを確認します。

cscmsg_urecp_kafka.ear※3

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

設定されているcscurecpkafka.propertiesはテンプレートファイルです。必要に応じてcscurecpkafka.propertiesを選択して［編集］ボタンをクリックし，独自定義ファイルの内容を修正してください。cscurecpkafka.propertiesの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.14.1　Kafka受付定義ファイル」を参照してください。

注※2

JSON-XML変換定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.18.1　JSON-XML変換定義ファイル」を参照してください。

注※3

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥kafka¥lib」です。

2.8.5　アクティビティを設定する

Kafka受付を定義したあとに，ビジネスプロセス定義画面で受付アクティビティを設定します。

アクティビティの設定では，要求電文用の変数を定義したあと，受付アクティビティに定義した変数を割り当てます。

(1)　変数の定義

［変数・相関セット一覧］ダイアログで次の変数を定義します。

要求電文（ヘッダ）の変数

要求電文（ボディ）の変数

変数の定義手順について説明します。

(a)　要求電文（ヘッダ）の変数

要求電文（ヘッダ）の変数の定義手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

［変数名］に任意の名称を指定します。

［種別］ドロップダウンリストから「XML」を選択します。

［電文フォーマット］の［参照］ボタンをクリックします。

電文フォーマットを指定するダイアログが表示されます。

次のファイルを指定します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥kafka¥schema¥urecp_kafka_header_request.xsd

［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

変数が追加されます。

(b)　要求電文（ボディ）の変数

要求電文（ボディ）の変数の定義手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

［変数名］に任意の名称を指定します。

［種別］ドロップダウンリストから「XML」を選択します。

［電文フォーマット］の［取込］ボタンをクリックします。

［電文フォーマットの取込］ダイアログが表示されます。

［受付名］をチェックし，ドロップダウンリストからユーザ定義受付定義画面で設定したKafka受付の名称を選択します。

［オペレーション名］ドロップダウンリストからKafka受付に設定したオペレーションを選択します。

変数に応じて［電文種別］ドロップダウンリストで［要求電文（ボディ）］を選択します。

［電文フォーマット］に任意の名称を入力します。

［OK］ボタンをクリックします。

［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

変数が追加されます。

(2)　変数の割り当て

受付アクティビティに追加した変数を割り当てる手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の受付アクティビティをダブルクリックします。

［受付アクティビティ］ダイアログが表示されます。

［アクティビティ名］に任意の名称を入力します。

［オペレーション名］の［取込］ボタンをクリックします。

［オペレーション名の取込］ダイアログが表示されます。

［受付名］に該当するKafka受付の名称を設定し，［オペレーション名］に取り込み対象となるオペレーション名を設定します。

［OK］ボタンをクリックします。

［ボディ割当変数］ドロップダウンリストから，定義した要求電文（ボディ）の変数を選択します。

［ヘッダ割当変数］の［設定］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが表示されます。

［追加］ボタンをクリックします。

［割当変数］セルのドロップダウンリストから，定義した要求電文（ヘッダ）の変数を選択します。

［ルート要素］セルのドロップダウンリストからルート要素を選択します。

［OK］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが閉じます。

［受付アクティビティ］ダイアログで［OK］ボタンをクリックします。

2.9　スケジュール駆動受付の定義

この節では，開発環境でのスケジュール駆動受付の定義方法について説明します。

2.9.1　スケジュール駆動受付の定義の流れ

スケジュール駆動受付の流れを次に示します。

図2‒10　スケジュール駆動受付の定義の流れ

スケジュール駆動受付を定義する場合の作業について次に説明します。

(1)　スケジュール駆動受付の電文フォーマットの作成

スケジュール駆動受付で使用する要求電文フォーマットを作成します。

電文フォーマットの作成方法については，「2.9.2　スケジュール駆動受付の電文フォーマットを作成する」を参照してください。

(2)　スケジュール駆動受付の定義ファイルの作成

スケジュール駆動受付で使用する定義ファイルを作成します。スケジュール駆動受付で使用する定義ファイルの作成方法については，「2.9.3　スケジュール駆動受付の定義ファイルを作成する」を参照してください。

(3)　スケジュール駆動受付の追加

実行環境でスケジュール駆動受付を追加します。追加，および定義情報の設定方法については，「2.9.4　スケジュール駆動受付を追加する」を参照してください。

(4)　スケジュール駆動受付の保存

追加および定義済みのスケジュール駆動受付をリポジトリに保存します。スケジュール駆動受付の保存手順については，「2.13　ユーザ定義受付の保存」を参照してください。

(5)　スケジュール駆動受付の削除

不要になったスケジュール駆動受付は，必要に応じて削除できます。

スケジュール駆動受付の削除については，「2.16　ユーザ定義受付の削除」を参照してください。

2.9.2　スケジュール駆動受付の電文フォーマットを作成する

スケジュール駆動受付では要求電文フォーマットを使用します。応答電文フォーマットの設定は不要です。

スケジュール駆動受付の要求電文フォーマットは，サービスプラットフォームが提供するスキーマを使用します。そのため，電文フォーマットの作成は不要です。

(1)　要求電文の電文フォーマット

スケジュール駆動受付の要求電文フォーマットの形式について説明します。

名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/schedule/request」です。

表2‒32　スケジュール駆動受付の要求電文フォーマット

タグ名

種別

出現回数

説明

<request>

−

1回

−

<request-id>

string

0または1回

スケジュール駆動受付が作成したリクエストIDが設定されます。スケジュール駆動受付定義ファイルの「scdrecp.create.work-dir」にtrueを設定した場合だけ出現します。

<cscCorrelationID>

string

1回

スケジュール駆動受付が作成したクライアント相関IDが設定されます。

<receptionName>

string

1回

スケジュール駆動受付の受付名が設定されます。

<receptionID>

string

1回

スケジュール駆動受付の受付IDが設定されます。

<eventOccurrenceTime>

string

1回

イベントの発生時刻がローカル時刻で設定されます。

「yyyyMMdd_HHmmssSSS」の形式で設定します。

（凡例）

−：該当する項目はありません。

2.9.3　スケジュール駆動受付の定義ファイルを作成する

スケジュール駆動受付では，次の定義ファイルを作成します。

スケジュール駆動受付定義ファイル

スケジュール駆動受付の動作を定義するファイルです。スケジュール駆動受付のデプロイ時，スケジュール駆動受付の起動時，およびcsccmctlコマンドの実行時に読み込まれます。

スケジュール駆動受付定義ファイルは，スケジュール駆動受付の追加時に，サービスプラットフォームが提供するテンプレートファイル（cscurecpschedule.properties）を編集して利用します。そのため，スケジュール駆動受付定義ファイルの作成は不要です。

スケジュール駆動受付コンフィグファイル

スケジュール駆動受付のコンフィグファイルです。スケジュール駆動受付のセットアップ後に，スケジュール駆動受付に関する構成情報の変更に使用します。変更頻度が高い情報を変更できます。スケジュール駆動受付の開始時に読み込まれます。

スケジュール駆動受付共通コンフィグファイル

すべてのスケジュール駆動受付で共通して定義できるスケジュール駆動受付コンフィグファイルです。

2.9.4　スケジュール駆動受付を追加する

スケジュール駆動受付を新規に追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのビジネスプロセスで右クリックして［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

受付種別のドロップダウンリストから「スケジュール駆動受付」を選択します。

［次へ］ボタンをクリックすると，スケジュール駆動受付の追加に必要な情報を入力するダイアログが表示されます。

［受付名］を指定します。

スケジュール駆動受付の名称を1〜40バイトで指定します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。ユーザ定義受付定義画面（基本）が表示されます。

スケジュール駆動受付の定義情報を設定します。

スケジュール駆動受付の設定項目について次の表に示します。

表2‒33　スケジュール駆動受付のユーザ定義受付定義画面（基本）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付情報

受付名

設定した受付名が表示されます。

◎

受付ID

受付IDが表示されます。必要に応じて変更します。

◎

デフォルトオペレーション名

「Schedule」で固定です。

◎

オペレーション

「Schedule」で固定です。

◎

オペレーション情報

通信モデル

「非同期」を設定します。

◎

要求電文

［any型を使う］チェックボックス

チェックしません。

−

受付

電文フォーマット

urecp_schedule_request.xsdを指定します。

◎

サービス部品

［使う］チェックボックス

必要に応じてチェックします。

○

応答電文

［any型を使う］チェックボックス

チェックしません。

−

受付

電文フォーマット

設定しません。

−

サービス部品

［使う］チェックボックス

チェックしません。

−

（凡例）

◎：必ず設定します。

○：任意で設定します。

−：該当しません。

ユーザ定義受付（詳細）タブをクリックします。

ユーザ定義受付定義画面（詳細）が表示されます。

スケジュール駆動受付の定義情報を設定します。

スケジュール駆動受付の制御情報の設定項目について次の表に示します。

表2‒34　スケジュール駆動受付のユーザ定義受付定義画面（詳細）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付制御情報

独自定義ファイル

次の独自定義ファイルが表示されます。必要に応じて変更します。

cscurecpschedule.properties※1

◎

EARファイル

次のEARファイルが設定されていることを確認します。

cscmsg_urecp_schedule.ear※2

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

設定されているcscurecpschedule.propertiesはテンプレートファイルです。必要に応じてcscurecpschedule.propertiesを選択して［編集］ボタンをクリックし，独自定義ファイルの内容を修正してください。cscurecpschedule.propertiesの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.15.1　スケジュール駆動受付定義ファイル」を参照してください。

注※2

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥schedule¥lib」です。

2.10　gRPC受付の定義

この節では，開発環境でのgRPC受付の定義方法について説明します。

2.10.1　gRPC受付の定義の流れ

gRPC受付の流れを次に示します。

図2‒11　gRPC受付の定義の流れ

gRPC受付を定義する場合の作業について次に説明します。

(1)　gRPC受付の追加

実行環境でgRPC受付を追加します。追加方法については，「2.10.2　gRPC受付を追加する」を参照してください。

(2)　gRPC受付の保存

追加および定義済みのgRPC受付をリポジトリに保存します。gRPC受付の保存手順については，「2.13　ユーザ定義受付の保存」を参照してください。

(3)　フォルト電文フォーマットの修正

gRPC受付を作成したあと，必要に応じてフォルト電文フォーマットのXMLスキーマファイルを修正し，再登録できます。

フォルト電文フォーマットの修正方法については，「2.10.3　フォルト電文フォーマットを修正する」を参照してください。

(4)　アクティビティの設定

gRPC受付の要求電文／応答電文フォーマット用のボディ変数とヘッダ変数をビジネスプロセスのアクティビティに設定します。

アクティビティの設定方法については，「2.10.4　アクティビティを設定する」を参照してください。

(5)　gRPC受付の削除

不要になったgRPC受付は，必要に応じて削除できます。

gRPC受付の削除については，「2.16　ユーザ定義受付の削除」を参照してください。

2.10.2　gRPC受付を追加する

gRPC受付を新規に追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのビジネスプロセスで右クリックして［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

受付種別のドロップダウンリストから「gRPC受付」を選択します。

［次へ］ボタンをクリックすると，gRPC受付の追加に必要な情報を入力するダイアログが表示されます。

受付名，proto_path，protoファイルを入力します。

受付名には，任意の受付名を入力します。

proto_pathには，protoファイルが格納されたフォルダのパスを指定します。

protoファイルには，protoファイル名を絶対パスで指定します。

protoファイルを設定する際の注意事項については，マニュアル「サービスプラットフォーム 解説」の「2.13.1(3)(c)　protoファイル使用時の注意事項」を参照してください。

［次へ］ボタンをクリックします。

gRPC Service名，RPCメソッド名を選択します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。ユーザ定義受付定義画面（基本）が表示されます。

gRPC受付の定義情報を設定します。

gRPC受付の設定項目について次の表に示します。

表2‒35　gRPC受付のユーザ定義受付定義画面（基本）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付情報

受付名

設定した受付名が表示されます。必要に応じて変更します。

◎

受付ID

受付IDが表示されます。必要に応じて変更します。

◎

要求電文

ボディ

電文フォーマット

cscformatN.xsdが指定されています。

−

応答電文

ボディ

電文フォーマット

cscformatN.xsdが指定されています。

−

フォルト電文

フォルト名

フォルト名が表示されます。

−

電文フォーマット

urecp_grpc_fault.xsdが指定されています。

○

（凡例）

◎：必ず設定します。

○：任意で設定します。

−：該当しません。

ユーザ定義受付（詳細）タブをクリックします。

ユーザ定義受付定義画面（詳細）が表示されます。

gRPC受付の定義情報を設定します。

gRPC受付の設定項目について次の表に示します。

表2‒36　gRPC受付のユーザ定義受付定義画面（詳細）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付制御情報

独自定義ファイル

次の独自定義ファイルが表示されます。必要に応じて変更します。

cscurecpgrpc.properties※1

◎

protoファイル

次のzipファイルが設定されていることを確認します。

proto.zip※2

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

設定されているcscurecpgrpc.propertiesはテンプレートファイルです。必要に応じてcscurecpgrpc.propertiesを選択して［編集］ボタンをクリックし，独自定義ファイルの内容を修正してください。cscurecpgrpc.propertiesの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.17.1　gRPC受付定義ファイル」を参照してください。

注※2

protoファイルの詳細については，マニュアル「サービスプラットフォーム 解説」の「2.13.1(3)(b)　protoファイルの出力」を参照してください。

2.10.3　フォルト電文フォーマットを修正する

gRPC受付では，gRPCのメッセージ内容※に沿ったフォルト電文フォーマットを提供しています。このフォルト電文フォーマット（XMLスキーマファイル）は，gRPC受付を作成したときに，ユーザ定義受付定義画面（基本）のフォルト電文フォーマットに自動的に設定されます。

注※

gRPCを利用した通信では，google.rpc.Statusのメッセージの処理方式によってエラー処理を行っています。google.rpc.Statusのメッセージ内容，およびエラー処理については，Google社のgoogle.rpc.Statusに関するサイトを参照してください。

gRPC受付を作成したあと，必要に応じてフォルト電文フォーマットのXMLスキーマファイルを修正し，再登録できます。再登録することで，XMLスキーマファイルの記述を簡略化できます。

(1)　フォルト電文フォーマットを修正する手順

XMLスキーマファイルを修正する手順を次に示します。

次のXMLスキーマファイルを任意の場所にコピーします。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥gRPC¥schema¥urecp_grpc_fault.xsd

コピーしたXMLスキーマファイルをテキストエディタで開きます。

XMLスキーマファイルに定義されている，/fault/status/details要素以下に定義されている次の要素のうち，使用しない要素を削除します。

retry-info

debug-info

quota-failure

error-info

precondition-failure

bad-request

request-info

resource-info

help

localized-message

additional-message

処理に必要な要素を削除した場合の動作は保証されません。

これらの要素は，Google社が提供するgoogle/rpc/error_details.protoの内容に対応しています。google/rpc/error_details.protoの内容については，Google社のgoogle/rpc/error_details.protoに関するサイトを参照してください。

なお，additional-messageは，google/rpc/error_details.protoに定義されていない任意の型のメッセージを格納する場合に使用します。

使用しない要素（子要素を含む）を削除したXMLスキーマファイルを保存します。

修正したXMLスキーマファイルを，ユーザ定義受付定義画面（基本）の［フォルト電文］に設定します。

修正したXMLスキーマファイル以外を設定した場合，動作は保証されません。

(2)　フォルト電文フォーマットの形式

gRPC受付のフォルト電文フォーマットの形式について説明します。

名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/grpc/fault」です。

表2‒37　gRPC受付のフォルト電文フォーマット

タグ名

種別

出現回数

説明

<fault>

−

1回

−

<status>

−

1回

ステータス情報を指定します。

<code>

文字列

1回

ステータスコード※を指定します。

<message>

文字列

0〜1回

開発者向けのエラーメッセージを指定します。

設定値は英字で設定してください。英字以外の値を指定した場合の動作は保証されません。

<details>

−

0〜1回

詳細エラーのメッセージのリストを指定します。子要素として「error_details.proto」のメッセージ構造体に応じた要素が出現します。

<retry-info>

−

0回以上

メッセージ構造体「RetryInfo」の定義内容を指定します。

<retry-delay>

文字列

0〜1回

引数「retry_delay」が設定されます。

<seconds>

文字列

0〜1回

引数「retry_delay」の秒を指定します。

設定値は「-315,576,000,000〜315,576,000,000」の範囲で指定してください。

<nanos>

文字列

0〜1回

引数「retry_delay」のナノ秒を指定します。設定値は「-999,999,999〜999,999,999」の範囲で指定してください。

<debug-info>

−

0回以上

メッセージ構造体「DebugInfo」の定義内容を指定します。

<stack-entries>

文字列

0回以上

引数「stack_entries」が設定されます。

<detail>

文字列

0〜1回

引数「detail」が設定されます。

<quota-failure>

−

0回以上

メッセージ構造体「QuotaFailure」の定義内容を指定します。

<violation>

−

0回以上

メッセージ構造体「Violation」の定義内容を指定します。

<subject>

文字列

0〜1回

引数「subject」が設定されます。

<description>

文字列

0〜1回

引数「description」が設定されます。

<error-info>

−

0回以上

メッセージ構造体「ErrorInfo」の定義内容を指定します。

<reason>

文字列

0〜1回

引数「reason」を指定します。

設定値は，63文字以内の「A-Z」「0-9」「_」の範囲の文字列を指定してください。範囲外の値を指定した場合の動作は保証されません。

<domain>

文字列

0〜1回

引数「domain」が設定されます。

<metadata>

−

0回以上

引数「metadata」が設定されます。

<key>

文字列

1回

メタデータのキーを指定します。キーの省略（空文字含む）はできません。

設定値は，64文字以内の「a-z」「A-Z」「0-9」「-」「_」の範囲の文字列を指定してください。範囲外の値を指定した場合の動作は保証されません。

<value>

文字列

1回

メタデータの値を指定します。

<precondition-failure>

−

0回以上

メッセージ構造体「PreconditionFailure」の定義内容を指定します。

<violation>

−

0回以上

メッセージ構造体「Violation」の定義内容を指定します。

<type>

文字列

0〜1回

引数「type」が設定されます。

<subject>

文字列

0〜1回

引数「subject」が設定されます。

<description>

文字列

0〜1回

引数「description」が設定されます。

<bad-request>

−

0回以上

メッセージ構造体「BadRequest」の定義内容を指定します。

<field-violation>

−

0回以上

メッセージ構造体「FieldViolation」の定義内容を指定します。

<field>

文字列

0〜1回

引数「field」が設定されます。

<description>

文字列

0〜1回

引数「description」が設定されます。

<request-info>

−

0回以上

メッセージ構造体「RequestInfo」の定義内容を指定します。

<request-id>

文字列

0〜1回

引数「request_id」が設定されます。

<serving-data>

文字列

0〜1回

引数「serving_data」が設定されます。

<resource-info>

−

0回以上

メッセージ構造体「ResourceInfo」の定義内容を指定します。

<resource-type>

文字列

0〜1回

引数「resource_type」が設定されます。

<resource-name>

文字列

0〜1回

引数「resource_name」が設定されます。

<owner>

文字列

0〜1回

引数「owner」が設定されます。

<description>

文字列

0〜1回

引数「description」が設定されます。

<help>

−

0回以上

メッセージ構造体「Help」の定義内容を指定します。

<link>

−

0回以上

メッセージ構造体「Link」の定義内容を指定します。

<description>

文字列

0〜1回

引数「description」が設定されます。

<url>

文字列

0〜1回

引数「url」が設定されます。

<localized-message>

−

0回以上

メッセージ構造体「LocalizedMessage」の定義内容を指定します。

<locale>

文字列

0〜1回

引数「locale」を指定します。

設定値は，IETFのBCP47に準拠してください。IETFのBCP47に準拠していない場合の動作は保証されません。

<message>

文字列

0〜1回

引数「message」が設定されます。

<additional-message>

−

0回以上

「error_details.proto」のメッセージ構造体に定義されていないメッセージの定義内容を指定します。Any型のメッセージとして扱われます。

<type-url>

文字列

1回

メッセージのタイプ（URL/resource name）を指定します。

<value>

文字列

1回

メッセージの値をBase64エンコードしたデータを指定します。

<metadata>

−

0回以上

gRPCクライアントに送信するメタデータを指定します。

<key>

文字列

1回

gRPCクライアントに送信するメタデータのキーを指定します。キーの省略（空文字含む）はできません。

バイナリ形式で送信する場合，この要素値は「-bin」で終了してください。

<value>

文字列

1回

メタデータのキーに対する値を指定します。

テキスト形式の場合，0x20および0x21-0x7Eの範囲の文字列が指定できます。ただし，空白（0x20）を値の最初または最後に置くことはできません。

指定できない値を指定した場合の動作は保証されません。

バイナリ形式の場合，Base64でエンコードした値を設定します。

（凡例）

−：該当しません。

注※

フォルト電文に設定できるステータスコードを次に示します。次に示すステータスコード以外の値が設定された場合，リクエストがエラーとなります。

・CANCELLED

・UNKNOWN

・INVALID_ARGUMENT

・DEADLINE_EXCEEDED

・NOT_FOUND

・ALREADY_EXISTS

・PERMISSION_DENIED

・RESOURCE_EXHAUSTED

・FAILED_PRECONDITION

・ABORTED

・OUT_OF_RANGE

・UNIMPLEMENTED

・INTERNAL

・UNAVAILABLE

・DATA_LOSS

・UNAUTHENTICATED

2.10.4　アクティビティを設定する

gRPC受付を定義したあとに，ビジネスプロセス定義画面で受付アクティビティおよび応答アクティビティを設定する方法について説明します。

アクティビティの設定では，要求電文，応答電文，およびフォルト電文の変数を定義したあと，受付アクティビティおよび応答アクティビティに定義した変数を割り当てます。

(1)　変数の定義

［変数・相関セット一覧］ダイアログで次の変数を定義します。

要求電文（ヘッダ）の変数

応答電文（ヘッダ）の変数

要求電文（ボディ）の変数

応答電文（ボディ）の変数

フォルト電文の変数

変数の定義手順について説明します。

(a)　要求電文（ヘッダ）および応答電文（ヘッダ）の変数

要求電文（ヘッダ）および応答電文（ヘッダ）の変数の定義手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

［変数名］に任意の名称を指定します。

［種別］ドロップダウンリストから「XML」を選択します。

［電文フォーマット］の［参照］ボタンをクリックします。

電文フォーマットを指定するダイアログが表示されます。

変数に応じて次のファイルを指定します。

要求電文（ヘッダ）の変数

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥gRPC¥schema¥urecp_grpc_header_metadata_request.xsd

応答電文（ヘッダ）の変数

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥gRPC¥schema¥urecp_grpc_header_metadata_response.xsd

［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

変数が追加されます。

(b)　要求電文（ボディ），応答電文（ボディ），およびフォルト電文の変数

要求電文（ボディ），応答電文（ボディ），およびフォルト電文の変数の定義手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

［変数名］に任意の名称を指定します。

［種別］ドロップダウンリストから「XML」を選択します。

［電文フォーマット］の［取込］ボタンをクリックします。

［電文フォーマットの取込］ダイアログが表示されます。

［受付名］をチェックし，ドロップダウンリストからユーザ定義受付定義画面で設定したgRPC受付の名称を選択します。

［オペレーション名］ドロップダウンリストからgRPC受付に設定したオペレーションを選択します。

変数に応じて［電文種別］ドロップダウンリストで次のように選択します。

要求電文（ボディ）の変数の場合

［要求電文（ボディ）］を選択します。

応答電文（ボディ）の変数の場合

［応答電文（ボディ）］を選択します。

フォルト電文の変数の場合

［フォルト電文］を選択します。

［電文フォーマット］に任意の名称を入力します。

［OK］ボタンをクリックします。

［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

変数が追加されます。

(2)　変数の割り当て

受付アクティビティおよび応答アクティビティに追加した変数を割り当てる手順を次に示します。

(a)　受付アクティビティの場合

受付アクティビティに，追加した要求電文の変数を割り当てる手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の受付アクティビティをダブルクリックします。

［受付アクティビティ］ダイアログが表示されます。

［アクティビティ名］に任意の名称を入力します。

［オペレーション名］の［取込］ボタンをクリックします。

［オペレーション名の取込］ダイアログが表示されます。

［受付名］に該当するgRPC受付の名称を設定し，［オペレーション名］に取り込み対象となるオペレーション名を設定します。

［OK］ボタンをクリックします。

［ボディ割当変数］ドロップダウンリストから，定義した要求電文（ボディ）の変数を選択します。

［ヘッダ割当変数］の［設定］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが表示されます。

［追加］ボタンをクリックします。

［割当変数］セルのドロップダウンリストから，定義した要求電文（ヘッダ）の変数を選択します。

［ルート要素］セルのドロップダウンリストからルート要素を選択します。

［OK］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが閉じます。

［受付アクティビティ］ダイアログで［OK］ボタンをクリックします。

(b)　応答アクティビティの場合

応答アクティビティに，追加した応答電文の変数を割り当てる手順を次に示します。フォルト応答用の応答アクティビティについては，「(c) フォルト応答用の応答アクティビティの場合」を参照してください。

ビジネスプロセス定義画面のキャンバス上の応答アクティビティをダブルクリックします。

［応答アクティビティ］ダイアログが表示されます。

［アクティビティ名］に任意の名称を入力します。

［オペレーション名］の［取込］ボタンをクリックします。

［オペレーション名の取込］ダイアログが表示されます。

［ユーザ定義受付から取込］ラジオボタンを選択し，［受付名］を選択します。

［オペレーション名］にgRPC受付に設定したオペレーション名を設定します。

［OK］ボタンをクリックします。

［ボディ割当変数］ドロップダウンリストから，定義した応答電文（ボディ）の変数を選択します。

［ヘッダ割当変数］の［設定］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが表示されます。

［追加］ボタンをクリックします。

［割当変数］セルのドロップダウンリストから，定義した応答電文（ヘッダ）の変数を選択します。

［ルート要素］セルのドロップダウンリストからルート要素を選択します。

［OK］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが閉じます。

［応答アクティビティ］ダイアログで［OK］ボタンをクリックします。

(c)　フォルト応答用の応答アクティビティの場合

フォルト応答用の応答アクティビティに，追加したフォルト電文の変数を割り当てる手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の応答アクティビティをダブルクリックします。

［応答アクティビティ］ダイアログが表示されます。

［アクティビティ名］に任意の名称を入力します。

［オペレーション名］の［取込］ボタンをクリックします。

［オペレーション名の取込］ダイアログが表示されます。

［受付名］を選択し，［オペレーション名］にgRPC受付に設定したオペレーション名を設定します。

［OK］ボタンをクリックします。

［ボディ割当変数］ドロップダウンリストから，定義したフォルト電文の変数を選択します。

［フォルト名］にgRPC受付で定義されたフォルト名を入力します。

［応答アクティビティ］ダイアログで［OK］ボタンをクリックします。

(3)　gRPC受付のヘッダ電文フォーマット

gRPC受付で使用するヘッダ電文フォーマットの形式について説明します。

(a)　要求電文のヘッダ電文フォーマット

gRPC受付の要求電文のヘッダ電文フォーマットは，サービスプラットフォームが提供するスキーマを使用します。そのため，ヘッダ電文の定義ファイルの作成は不要です。

サービスプラットフォームが提供する電文フォーマットのXMLスキーマは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥gRPC¥schema」に格納されています。

gRPC受付の要求電文フォーマットの形式を次に示します。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/grpc/header/metadata_request」です。

表2‒38　gRPC受付のヘッダ電文の要求電文フォーマット

タグ名

種別

出現回数

説明

<grpc-metadata-request>

−

1回

−

<metadata>

−

0回以上

gRPCクライアントから送信されたメタデータが設定されます。

<key>

string

1回

gRPCクライアントから送信されたメタデータのキーが設定されます。

バイナリ形式の場合，この要素値は「-bin」で終了します。

<value>

string

1回

メタデータのキーに対する値が設定されます。

バイナリ形式の場合，Base64でエンコードした値を設定します。

（凡例）

−：該当する項目はありません。

(b)　応答電文のヘッダ電文フォーマット

gRPC受付の応答電文のヘッダ電文フォーマットは，サービスプラットフォームが提供するスキーマを使用します。そのため，ヘッダ電文の定義ファイルの作成は不要です。

サービスプラットフォームが提供する電文フォーマットのXMLスキーマは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥gRPC¥schema」に格納されています。

gRPC受付の応答電文フォーマットの形式を次に示します。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/grpc/header/metadata_response」です。

表2‒39　gRPC受付のヘッダ電文の応答電文フォーマット

タグ名

種別

出現回数

説明

<grpc-metadata-response>

−

1回

−

<metadata>

−

0回以上

gRPCクライアントに送信するメタデータが設定されます。

<key>

string

1回

gRPCクライアントに送信するメタデータのキーが設定されます。キーに指定できる値は半角英数字とアンダーバー（_），ハイフン（-），ピリオド（.）です。キーの省略はできません。また，指定値の大文字・小文字は区別しません。

バイナリ形式で送信する場合，この要素値は「-bin（大文字・小文字を区別する）」で終了します。ただし，「-bin」だけを指定することはできません。

<value>

string

1回

メタデータのキーに対する値が設定されます。

テキスト形式の場合の，指定できる値は「0x20」，および「0x21-0x7E」の範囲の文字列です。指定できる値以外を指定した場合は，動作は保証されません。空白（0x20）は，値の最初または最後に置くことはできません。

バイナリ形式の場合，Base64でエンコードした値を設定します。

（凡例）

−：該当する項目はありません。

2.11　WSDLの作成

ユーザ定義受付を利用してサービス部品を呼び出すときのインターフェース情報を定義するWSDLファイルを作成します。

ここでは，WSDLファイルの作成方法について説明します。

2.11.1　フォルトが発生した場合にフォルト電文を返す例

サービス部品の呼び出しでフォルトが発生したあと，サービスリクエスタにフォルト電文を返す場合を例に，WSDLファイルの作成方法について説明します。

(1)　ビジネスプロセスの例

WSDLの作成の例として使用するビジネスプロセスを次の図に示します。

図2‒12　WSDLの作成の例として使用するビジネスプロセス

サービスリクエスタがビジネスプロセスにサービス部品の実行を要求します。

サービス部品の実行要求では，XMLの要求電文（ボディ）が送付されます。

ビジネスプロセスはXMLの要求電文を受付1という受付アクティビティで受け取ります。このときのオペレーション名はoperation1です。

受付1には変数RequestMessageを割り当て，要求電文を規定する電文フォーマットとしてRequest.xsdが指定されています。

ビジネスプロセスからサービス部品を呼び出します。フォルトが発生した場合は項番10.でフォルトが返されます。

ビジネスプロセスが，サービス部品の実行結果をXMLの応答電文として構成し，応答1という応答アクティビティで返します。

応答1には変数ResponseMessageを割り当て，応答電文を規定する電文フォーマットとしてResponse.xsdが指定されています。

サービスリクエスタへの応答が返されます。

サービスリクエスタへの応答では，XMLの応答電文（ボディ）が送付されます。

項番5.でフォルトが発生した場合，応答2という応答アクティビティからfault1というフォルトが返されます。

応答2には変数FaultMessageを割り当て，フォルト電文を規定する電文フォーマットとしてFault.xsdが指定されています。

サービスリクエスタにフォルト電文が送付されます。

(2)　電文フォーマットの内容の例

「図2-12　WSDLの作成の例として使用するビジネスプロセス」に示すビジネスプロセスで利用する電文フォーマットの例を次に示します。

Request.xsd

XMLスキーマソース

文字列の値を持つ単一の要素<Request1>を規定する要求電文用の電文フォーマットです。

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.example.org/request"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="Request1" type="xsd:string" />
</xsd:schema>

この電文フォーマットの規定に従って送付されるXML

<Request1>Sample request message</Request1>

Response.xsd

XMLスキーマソース

boolean値を持つ単一の要素<Response1>を規定する応答電文用の電文フォーマットです。

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.example.org/response"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="Response1" type="xsd:boolean" />
</xsd:schema>

この電文フォーマットの規定に従って送付されるXML

<Response1>true</Response1>

Fault.xsd

XMLスキーマソース

<Fault1>という要素を規定し，さらにその子要素としてint値を持つ要素<param1>を規定するフォルト電文用の電文フォーマットです。

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.example.org/service"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:svc="http://www.example.org/service">
  <xsd:element name="Fault1" type="svc:SampleData"/>
  <xsd:complexType name="SampleData">
    <xsd:sequence>
      <xsd:element name="param1" type="xsd:int"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

この電文フォーマットの規定に従って送付されるXML

<Fault1>
  <param1>123</param1>
</Fault1>

(3)　WSDLの作成例

ここでは，SOAP1.1を利用する場合を想定して，「(1)　ビジネスプロセスの例」に示すビジネスプロセスに合わせたWSDLの作成例を示します。

WSDLの形式に関する条件や注意事項については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.1　Webサービスを利用したサービス部品の適用範囲」およびこのマニュアルの「2.11.3　SOAP受付のWSDL作成時の注意事項」を参照してください。

WSDLの作成例は「Sample_Reception.wsdl」とします。Sample_Reception.wsdlの概要を次に示します。

「(1)　ビジネスプロセスの例」に示す内容を前提としています。

ユーザ定義受付はオペレーション単位に作成することもできますが，Sample_Reception.wsdlは，1つのユーザ定義受付にすべてのオペレーション含むときのWSDLです。

作成するWSDLの通信スタイルは「document」スタイルを推奨しています。そのため，Sample_Reception.wsdlは「document」スタイルのWSDLとなっています。

WSDLの作成例「Sample_Reception.wsdl」を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
 targetNamespace="http://www.example.org/service"
 xmlns:svc="http://www.example.org/service"
 xmlns:req="http://www.example.org/request"
 xmlns:res="http://www.example.org/response"
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
    <xsd:schema targetNamespace="http://www.example.org/request">
      <xsd:element name="Request1" type="xsd:string" />
    </xsd:schema>
    <xsd:schema targetNamespace="http://www.example.org/response">
      <xsd:element name="Response1" type="xsd:boolean" />
    </xsd:schema>
    <xsd:schema targetNamespace="http://www.example.org/service">
      <xsd:element name="Fault1" type="svc:SampleData"/>
      <xsd:complexType name="SampleData">
        <xsd:sequence>
          <xsd:element name="param1" type="xsd:int"/>
        </xsd:sequence>
      </xsd:complexType>
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="ReqMsg1">
    <wsdl:part element="req:Request1" name="reqParam"/>
  </wsdl:message>
  <wsdl:message name="ResMsg1">
    <wsdl:part element="res:Response1" name="resParam"/>
  </wsdl:message>
  <wsdl:message name="FltMsg1">
    <wsdl:part element="svc:Fault1" name="fltParam"/>
  </wsdl:message>
  <wsdl:portType name="SamplePortType">
    <wsdl:operation name="operation1">
      <wsdl:input message="svc:ReqMsg1"/>
      <wsdl:output message="svc:ResMsg1"/>
      <wsdl:fault message="svc:FltMsg1" name="Fault1"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="SampleBinding" type="svc:SamplePortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="operation1">
      <soap:operation soapAction=""/>
      <wsdl:input>
        <soap:body/>
      </wsdl:input>
      <wsdl:output>
        <soap:body/>
      </wsdl:output>
      <wsdl:fault name="Fault1">
        <soap:fault name="Fault1"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="SampleService">
    <wsdl:port binding="svc:SampleBinding" name="UserInfo">
      <soap:address location="http://localhost:80/SampleService/services/UserInfo" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

この作成例「Sample_Reception.wsdl」は，次の作業を行って作成します。

(a)　オペレーションとフォルト名のリストアップ

ビジネスプロセスの受付アクティビティ，および応答アクティビティで定義されている同期のオペレーションをリストアップします。また，フォルト名が定義されている応答アクティビティがある場合は，フォルト名もリストアップします。

作成例ではオペレーションは「operation1」が該当します。また，フォルト名は「Fault1」が該当します。

(b)　割当変数の電文フォーマット定義ファイルのリストアップ

受付アクティビティ，および応答アクティビティが使用している割当変数の電文フォーマット定義ファイルをリストアップします。

作成例では，「Request.xsd」，「Response.xsd」，および「Fault.xsd」が該当します。

注意事項

リストアップした電文フォーマット定義ファイルの中に，同じ名前空間のスキーマが複数存在する場合，1つのスキーマに集約する必要があります。

このとき，次の2つの条件を満たす場合，割当変数の電文フォーマット定義ファイルを名前の重複がなくなるよう変更してください。

　・スキーマの中の要素について名前の重複がある。

　・その要素の内容が異なる。

なお，割当変数の電文フォーマット定義ファイルが複数ファイルの場合（外部のXMLファイルを参照している場合），外部のXMLファイルのスキーマも含めて要素の重複がなくなるよう変更してください。

また，それぞれのスキーマの属性が相反する値を持つ場合，値の変更による影響を考慮してスキーマを集約してください。

リストアップした電文フォーマット定義ファイルの中に，targetNamespace属性を持たないスキーマ（カメレオンスキーマ）がある場合，割当変数の電文フォーマット定義ファイルは，targetNamespace属性を指定したスキーマに変更してください。

リストアップしたフォルト電文の電文フォーマット定義ファイルのルート要素が複合型でない場合，割当変数の電文フォーマット定義ファイルのルート要素を，複合型になるように変更してください。

フォルト電文のルート要素の名前空間は，wsdl:definitions要素の名前空間と一致させる必要があります。

このため，次の2つの条件を満たす場合，その割当変数の電文フォーマットファイルを変更してください。

　・フォルト電文が複数存在する。

　・ルート要素の名前空間が異なる。

異なるオペレーションのフォルト電文同士の名前空間が異なる場合，オペレーションごとにWSDLファイルを分けて作成し，ユーザ定義受付を複数作成して対応できます。

(c)　WSDLファイルのひな形の作成（wsdl:definitions要素の定義）

WSDLファイルのひな形として，XML宣言およびwsdl:definitions要素を定義します。wsdl:definitions要素には，次の表に示す属性を追加します。

表2‒40　wsdl:definitions要素に追加する属性

属性

意味

値

個数

targetNamespace

サービス部品の名前空間URI

任意のURIを定義できます。ただし，フォルト電文がある場合には，フォルト電文の電文フォーマット定義ファイルのxsd:schema要素が持つtargetNamespace属性値と同じURIを定義します。

1

xmlns:svc

サービス部品のプリフィックス宣言

targetNamespace属性と同じ値を定義します。

1

xmlns:req

要求電文の電文フォーマットプリフィックス宣言

要求電文の電文フォーマット定義ファイルのxsd:schema要素が持つtargetNamespace属性値と同じURIを定義します。

1

xmlns:res

応答電文の電文フォーマットプリフィックス宣言

応答電文の電文フォーマット定義ファイルのxsd:schema要素が持つtargetNamespace属性値と同じURIを定義します。

1

xmlns:soap

SOAPのプリフィックス宣言

既定の値「http://schemas.xmlsoap.org/wsdl/soap/」を定義します。

1

xmlns:wsdl

WSDLのプリフィックス宣言

既定の値「http://schemas.xmlsoap.org/wsdl/」を定義します。

1

xmlns:xsd

XMLスキーマのプリフィックス宣言

既定の値「http://www.w3.org/2001/XMLSchema」を定義します。

1

wsdl:definitions要素の定義例を次の図に示します。

図2‒13　wsdl:definitions要素の定義例

複数のオペレーションを使用する場合

作成例（Sample_Reception.wsdl）では，オペレーションを1つだけ使用していますが，複数のオペレーションを使用する場合，複数の要求電文，応答電文を扱うことになります。これらの電文が異なる複数の名前空間を使用している場合には，次の表に示すように，それぞれのプリフィックス宣言をwsdl:definitions要素に定義します。

表2‒41　wsdl:definitions要素に追加する属性（複数のオペレーションを使用する場合）

属性

意味

値

xmlns:reqN(N>0)

要求電文が複数の名前空間に分かれる場合のプリフィックス宣言

要求電文の電文フォーマット定義ファイルのxsd:schema要素が持つtargetNamespace属性値と同じURIを定義します。

例

http://www.example.org/request1

xmlns:resN(N>0)

応答電文が複数の名前空間に分かれる場合のプリフィックス宣言

応答電文の電文フォーマット定義ファイルのxsd:schema要素が持つtargetNamespace属性値と同じURIを定義します。

例

http://www.example.org/response1

定義した内容はwsdl:message要素の子要素であるwsdl:part要素のelement属性に定義します。wsdl:message要素の定義については，「(e)　wsdl:message要素の定義」を参照してください。

複数のオペレーションを使用する場合の定義例を次の図に示します。

図2‒14　wsdl:definitions要素の定義例（複数のオペレーションを使用する場合）

(d)　wsdl:types要素の定義

wsdl:types要素とその下位要素，および属性を定義します。

「(c)　WSDLファイルのひな形の作成（wsdl:definitions要素の定義）」で定義したwsdl:definitions要素の子要素として，wsdl:types要素を定義します。

「(b)　割当変数の電文フォーマット定義ファイルのリストアップ」でリストアップした電文フォーマット定義ファイルのxsd:schema要素をtargetNamespace属性で分類し，それぞれのtargetNamespaceの値ごとに1つずつxsd:schema要素を定義します。

手順2.で定義したxsd:schema要素の属性として，電文フォーマット定義ファイルのxsd:schema要素が持つすべての属性を追加します。

手順2.で定義したxsd:schema要素の子要素として，電文フォーマット定義ファイルのxsd:schema要素が持つすべての子要素を追加します。

複数のフォルト電文があり，名前空間が異なる場合，フォルト電文の名前空間をwsdl:definitions要素のtargetNamespace属性の値に変更します。

wsdl:types要素以下に定義する要素と属性を次の表に示します。

表2‒42　wsdl:types要素以下に定義する要素と属性

要素

属性

意味

値

個数

wsdl:types

−

型定義要素

−

1

xsd:schema

−

スキーマ要素

−

1〜電文フォーマット定義ファイルが使う名前空間の数

targetNamespace

名前空間属性

電文のtargetNamespaceと同じ値を定義します。

1

xsd:schemaの属性

属性

電文の属性と同じ値を定義します。

1〜属性の数

xsd:schemaの子要素

−

電文の内容

電文が持つxsd:schema要素のすべての子要素をコピーします。

1〜同一名前空間を使用する電文フォーマットのxsd:schema要素の子要素の数

（凡例）

−：該当しません。

wsdl:types要素の定義例を次の図に示します。

図2‒15　wsdl:types要素の定義例

(e)　wsdl:message要素の定義

wsdl:message要素とその下位要素，および属性を定義します。

「(c)　WSDLファイルのひな形の作成（wsdl:definitions要素の定義）」で定義したwsdl:definitions要素の子要素としてwsdl:message要素を定義します。

wsdl:message要素はWSDLで定義するオペレーションが持つすべての要求電文，応答電文，およびフォルト電文の数だけ定義します。

作成例では，オペレーションが1つあります。そのオペレーションには，要求電文が1つ，応答電文が1つ，フォルト電文が1つあるので，wsdl:message要素を3つ定義します。

wsdl:message要素にname属性を定義します。

name属性の値は，ファイル内で一意な値になるよう，ほかのwsdl:message要素のname属性とは異なる値を定義します。

作成例では，operation1の要求電文にはReqMsg1，応答電文にはResMsg1と定義しています。フォルト電文は個数に合わせてFltMsgN（Nは1以上）とします。

wsdl:message要素の子要素として，wsdl:part要素を1つずつ定義します。

wsdl:part要素にname属性とelement属性を定義します。

name属性には任意の文字列を指定します。

element属性の値には，「(d)　wsdl:types要素の定義」でコピーしたxsd:schema要素の子要素から，ルート要素を選択して指定します。「表2-40　wsdl:definitions要素に追加する属性」に示すプリフィックスとルート要素名を使用してQNameで指定します。

wsdl:message要素以下に定義する要素と属性を次の表に示します。

表2‒43　wsdl:message要素以下に定義する要素と属性

要素

属性

意味

値

個数

wsdl:message

−

メッセージ定義要素

−

1

name

メッセージ名属性

ほかのwsdl:message要素のname属性とは異なる一意の文字列を定義します。

1

wsdl:part

−

メッセージパート定義要素

−

1

name

メッセージパート名属性

任意の文字列※を定義します。

1

element

要素参照属性

該当する電文フォーマットファイルのルート要素を定義します。

1

（凡例）

−：該当しません。

注※

使用できる文字種には制限があります。使用できる文字種については，「2.11.3(2)　WSDL定義で使用できる文字」を参照してください。

wsdl:message要素の定義例を次の図に示します。

図2‒16　wsdl:message要素の定義例

(f)　wsdl:portType要素の定義

wsdl:portType要素とその下位要素，および属性を定義します。

「(c)　WSDLファイルのひな形の作成（wsdl:definitions要素の定義）」で定義したwsdl:definitions要素の子要素として，wsdl:portType要素を1つ定義します。

wsdl:portType要素にname属性を定義します。

name属性の値には，任意の文字列を指定できます。

wsdl:portType要素の子要素として，wsdl:operation要素を定義します。

wsdl:operation要素は，「(a)　オペレーションとフォルト名のリストアップ」でリストアップしたオペレーションの数だけ定義します。

wsdl:operation要素にname属性を定義します。

name属性の値には，「(a)　オペレーションとフォルト名のリストアップ」でリストアップしたオペレーションのオペレーション名を指定します。

作成例では，wsdl:operation要素を1つ定義し，name属性は「operation1」とします。

wsdl:operation要素の子要素として，wsdl:input要素，wsdl:output要素，およびwsdl:fault要素を定義します。

wsdl:input要素，wsdl:output要素，wsdl:fault要素の順序で定義します。

フォルト電文用の応答アクティビティが存在しない場合，wsdl:fault要素は省略できます。フォルト電文用の応答アクティビティが複数存在する場合，その数だけ定義します。

作成例では，wsdl:input要素，wsdl:output要素，およびwsdl:fault要素を1つずつ定義します。

wsdl:input要素およびwsdl:output要素にmessage属性を定義します。

message属性の値には，「(e)　wsdl:message要素の定義」で定義したwsdl:message要素のname属性の値をQNameで指定します。

wsdl:fault要素にname属性とmessage属性を定義します。

name属性の値には，「(a)　オペレーションとフォルト名のリストアップ」でリストアップしたフォルト名を指定します。

message属性の値には，「(e)　wsdl:message要素の定義」で定義したwsdl:message要素のname属性の値をQNameで指定します。

wsdl:portType要素以下に定義する要素と属性を次の表に示します。

表2‒44　wsdl:portType要素以下に定義する要素と属性

要素

属性

意味

値

個数

wsdl:portType

−

ポートタイプ定義要素

−

1

name

ポートタイプ名属性

任意の文字列※を定義します。

1

wsdl:operation

−

オペレーション定義要素

−

1〜オペレーションの個数

name

オペレーション名属性

オペレーション名を定義します。

1

wsdl:input

−

要求メッセージ定義要素

−

1

message

メッセージ参照属性

「(e)　wsdl:message要素の定義」で定義したwsdl:message要素のname属性値をQNameで指定します。

1

wsdl:output

−

応答メッセージ定義要素

−

1

message

メッセージ参照属性

「(e)　wsdl:message要素の定義」で定義したwsdl:message要素のname属性値をQNameで指定します。

1

wsdl:fault

−

フォルトメッセージ定義要素

−

1〜フォルトの個数

name

フォルトメッセージ名属性

フォルト名を定義します。

1

message

フォルトメッセージ参照属性

「(e)　wsdl:message要素の定義」で定義したwsdl:message要素のname属性値をQNameで指定します。

1

（凡例）

−：該当しません。

注※

使用できる文字種には制限があります。使用できる文字種については，「2.11.3(2)　WSDL定義で使用できる文字」を参照してください。

wsdl:portType要素の定義例を次の図に示します。

図2‒17　wsdl:portType要素の定義例

(g)　wsdl:binding要素の定義

wsdl:binding要素とその下位要素，および属性を定義します。

「(c)　WSDLファイルのひな形の作成（wsdl:definitions要素の定義）」で定義したwsdl:definitions要素の子要素として，wsdl:binding要素を定義します。

wsdl:binding要素にname属性とtype属性を定義します。

name属性の値には，任意の文字列を指定できます。

type属性の値には，「(f)　wsdl:portType要素の定義」で定義したwsdl:portType要素のname属性の値をQNameで指定します。

wsdl:binding要素の子要素として，soap:binding要素を定義します。

soap:binding要素にtransport属性を定義します。

transport属性の値は固定値です。「http://schemas.xmlsoap.org/soap/http」と定義します。

wsdl:binding要素の子要素として，wsdl:operation要素を定義します。

wsdl:operation要素は，「(a)　オペレーションとフォルト名のリストアップ」でリストアップしたオペレーションの数だけ定義します。

wsdl:operation要素にname属性を定義します。

name属性の値には，「(f)　wsdl:portType要素の定義」で定義したwsdl:portType要素の子要素であるwsdl:operation要素のname属性の値と同じ値を指定します。

wsdl:operation要素の子要素として，soap:operation要素を定義します。

soap:operation要素にsoapAction属性を指定します。

soapAction属性の値は空にします。

wsdl:operation要素の子要素として，wsdl:input要素，wsdl:output要素，およびwsdl:fault要素を定義します。

wsdl:input要素，wsdl:output要素，wsdl:fault要素の順序で定義します。

フォルト電文用の応答アクティビティが存在しない場合，wsdl:fault要素は省略できます。フォルト電文用の応答アクティビティが複数存在する場合，その数だけ定義します。

作成例では，wsdl:input要素，wsdl:output要素，およびwsdl:fault要素を1つずつ定義します。

wsdl:input要素とwsdl:output要素の子要素として，soap:body要素を定義します。

soap:body要素には，値は指定しません。

wsdl:fault要素にname属性を定義します。

name属性の値には，「(f)　wsdl:portType要素の定義」で定義したwsdl:operation要素の子要素であるwsdl:fault要素のname属性の値と同じ値を指定します。

wsdl:fault要素の子要素として，soap:fault要素を定義します。

soap:fault要素にname属性を定義します。

name属性の値には，親要素であるwsdl:fault要素のname属性と同じ値を指定します。

wsdl:binding要素以下に定義する要素と属性を次の表に示します。

表2‒45　wsdl:binding要素以下に定義する要素と属性

要素

属性

意味

値

個数

wsdl:binding

−

バインディング定義要素

−

1

name

バインディング名属性

任意の文字列※を定義します。

1

type

ポートタイプ参照属性

「(f)　wsdl:portType要素の定義」で定義したwsdl:portTypeのname属性値をQNameで指定します。

1

soap:binding

−

SOAPバインディング定義要素

−

1

transport

SOAPバインディング伝送形態定義属性

「http://schemas.xmlsoap.org/soap/http」を定義します（固定値）。

1

wsdl:operation

−

オペレーション定義要素

−

1〜オペレーションの個数

name

オペレーション名属性

オペレーション名を定義します。

「(f)　wsdl:portType要素の定義」で定義したwsdl:operation要素の子要素であるwsdl:fault要素のname属性の値と同じ値を指定します。

1

soap:operation

−

SOAPバインディングオペレーション定義要素

−

1

soapAction

SOAPActionヘッダ定義属性

−

1

wsdl:input

−

要求メッセージ定義要素

−

1

soap:body

−

SOAPバインディングBody要素定義要素

−

1

wsdl:output

−

応答メッセージ定義要素

−

1

soap:body

−

SOAPバインディングBody要素定義要素

−

1

wsdl:fault

−

フォルトメッセージ定義要素

−

1〜フォルトの個数

name

フォルトメッセージ名属性

フォルト名を定義します。

1

soap:fault

−

SOAPバインディングFault要素定義要素

−

1

name

SOAPバインディング名前属性

フォルト名を定義します。

1

（凡例）

−：該当しません。

注※

使用できる文字種には制限があります。使用できる文字種については，「2.11.3(2)　WSDL定義で使用できる文字」を参照してください。

wsdl:binding要素の定義例を次の図に示します。

図2‒18　wsdl:binding要素の定義例

style属性およびuse属性を使用する場合

wsdl:binding要素以下にstyle属性およびuse属性を使用して，documentまたはliteralを明示することもできます。

図2‒19　wsdl:binding要素の定義例（style属性およびuse属性を使用する場合）

(h)　wsdl:service要素の定義

wsdl:service要素とその下位要素，および属性を定義します。

「(c)　WSDLファイルのひな形の作成（wsdl:definitions要素の定義）」で定義したwsdl:definitions要素の子要素として，wsdl:service要素を定義します。

wsdl:service要素にname属性を定義します。

name属性の値には，任意の文字列を指定できます。

wsdl:service要素の子要素として，wsdl:port要素を1つ定義します。

wsdl:port要素にname属性とbinding属性を定義します。

name属性の値には，任意の文字列を指定できます。

binding属性の値には，「(g)　wsdl:binding要素の定義」で定義したwsdl:binding要素のname属性の値をQNameで指定します。

wsdl:port要素の子要素として，soap:address要素を1つ定義します。

soap:address要素にlocation属性を定義します。

location属性の値には，仮の値として「http://localhost:80/SampleService/services/<PortName>」を指定します。

<PortName>には，手順4.で定義したname属性と同じ値を指定してください。

ポイント

WSDLを作成した段階では，サービスロケーションの値（wsdl:port要素内のsoap-address要素のlocation属性値）は決定していません。このため，仮の値を設定します。この値は，サービスプラットフォームが提供しているSOAP通信基盤およびJAX-WSエンジンでエラーにならない値です。

サービスロケーションの値は，ユーザ定義ファイルを含むHCSCコンポーネントを配備定義したあとに確定します。WSDLを編集して，確定したサービスロケーションの値を設定してから，WSDLを基にサービスリクエスタを作成してください。WSDLの編集の詳細については，マニュアル「サービスプラットフォーム開発ガイド 基本開発編」の「9.7.2　WSDLを編集する」を参照してください。

wsdl:service要素以下に定義する要素と属性を次の表に示します。

表2‒46　wsdl:service要素以下に定義する要素と属性

要素

属性

意味

値

個数

wsdl:service

−

サービス定義要素

−

1

name

サービス名属性

任意の文字列※を定義します。

1

wsdl:port

−

ポート定義要素

−

1

name

ポート名属性

任意の文字列※を定義します。

1

binding

バインディング参照属性

「(g)　wsdl:binding要素の定義」で定義したwsdl:binding要素のname属性値をQNameで指定します。

1

soap:address

−

SOAPバインディングアドレス定義要素

−

1

location

サービス位置定義属性

仮の値として，

「http://localhost:80/SampleService/services/<PortName>」を定義します。

<PortName>には，wsdl:port要素のname属性と同じ値を指定します。

1

（凡例）

−：該当しません。

注※

使用できる文字種には制限があります。使用できる文字種については，「2.11.3(2)　WSDL定義で使用できる文字」を参照してください。

wsdl:service要素の定義例を次の図に示します。

図2‒20　wsdl:service要素の定義例

複数のwsdl:portを使用する場合

作成例（Sample_Reception.wsdl）では，1つのwsdl:port要素にすべてを定義していますが，複数のwsdl:port要素を使用して，それぞれにオペレーションを定義することもできます。

複数のwsdl:port要素を使用する場合の定義例を次の図に示します。

図2‒21　wsdl:service要素の定義例（複数のwsdl:portを使用する場合）

2.11.2　サービスアダプタの接続先情報を動的に変更する例

接続先情報ファイルを使用することで，サービスアダプタの接続先情報を動的に変更できます。

ここでは，SOAP受付およびサービスアダプタを使用したSOAP通信を行う場合を使って，接続先情報ファイルの使用例を説明します。

(1)　ビジネスプロセスの例

接続先情報ファイルの使用方法の例として使用するビジネスプロセスを次の図に示します。

図2‒22　接続先情報ファイルを使用するビジネスプロセスの例

サービスリクエスタがビジネスプロセスにサービス部品の実行を要求します。

サービスリクエスタから送付する要求電文内のヘッダ電文に接続先URLを設定します。

ビジネスプロセスはXMLの要求電文を受付アクティビティで受け取ります。

ビジネスプロセスがヘッダ要求データおよび要求データを生成します。

ヘッダ要求データの接続先URLを，データ変換アクティビティなどで接続先URL変数に設定します。

ビジネスプロセスは接続先URL変数から接続先URLを取得して，サービス部品を呼び出します。

ビジネスプロセスが，サービス部品の実行結果をXMLの応答電文として構成し，応答アクティビティで返します。

サービスリクエスタへの応答が返されます。

サービスリクエスタへの応答では，XMLの応答電文が送付されます。

(2)　SOAP受付を生成するWSDLの作成例

SOAP受付を生成するWSDLの作成例を次に示します。

なお，この例では，接続先となるサービス部品のURLをSOAPヘッダで送付しています。

(3)　データ変換アクティビティの設定例

「図2-22　接続先情報ファイルを使用するビジネスプロセスの例」に示すビジネスプロセスで使用するデータ変換アクティビティの設定例を次に示します。

ここでは，変換元に「ヘッダ要求データ」を，変換先に「接続先情報」を指定しています。

図2‒23　データ変換アクティビティの設定例

また，変換のマッピングは，次の図に示すとおりに定義します。

図2‒24　変換のマッピングの設定例

(4)　接続先情報の設定

「図2-22　接続先情報ファイルを使用するビジネスプロセスの例」に示すビジネスプロセスで使用する接続先情報の設定例を次に示します。なお，接続先情報は，サービス呼出アクティビティのヘッダ割当変数に設定します。ここで設定した情報が，サービスアダプタで参照できる情報になります。

図2‒25　接続先情報の設定例（サービス呼出アクティビティの設定）

各サービスアダプタの接続先情報ファイルの格納先を次に示します。

DBアダプタ用の接続先情報ファイルの格納先

<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥connection¥connection_db_adapter.xsd

SOAPアダプタの接続先情報ファイルの格納先

<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥connection¥connection_soap_adapter.xsd

TP1アダプタ用の接続先情報ファイルの格納先

<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥connection¥connection_tp1_adapter.xsd

注意事項

サービスアダプタの接続先情報を動的に変更する場合，サービスプラットフォームで提供している接続先情報ファイルを使用してください。提供している接続先情報ファイルを使用しなかった場合，動作は保証されません。

2.11.3　SOAP受付のWSDL作成時の注意事項

SOAP1.1モードを利用する場合で，SOAP受付のWSDLを作成するときの注意事項とWSDL定義で使用できる文字について説明します。

SOAP1.1/1.2併用モードを利用する場合の注意事項については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.1　Webサービスを利用したサービス部品の適用範囲」のWSDLの定義時と使用時の注意（SOAP1.1/1.2併用モード）に関する説明を参照してください。

(1)　WSDL作成時の注意事項（SOAP受付）

SOAP受付の場合，WSDLを作成するときに次の点に注意する必要があります。

wsdl:types要素以下にあるすべてのXMLスキーマの名前空間（targetNamespace）に，有効な値を指定してください。

XMLスキーマは，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」の「12.2.4　XML Schemaのサポート範囲」に記載されているXMLスキーマのサポート範囲内で定義してください。

wsdl:import要素は指定できません。

style属性が「document」の場合，soap:body要素にnamespace属性を指定しないでください。

style属性が「rpc」の場合，soap:body要素にnamespace属性を指定してください。

soap:header要素は指定できません。

soap:fault要素のname属性の値は，その親のwsdl:fault要素のname属性の値と一致させてください。また，namespace属性を指定しないでください。

(2)　WSDL定義で使用できる文字

WSDL定義では，RFC3986で規定されている非予約文字と日本語を使用できます。ここでは，WSDL定義で使用できる文字，および使用する文字に関する注意事項を示します。

(a)　「document/literal」の場合

半角英数字（A〜Z，a〜z，0〜9），アンダーバー（_），および次に示す文字を使用できます。

全角ひらがな，全角カタカナ

全角ギリシャ文字，全角ロシア文字など

繰り返し符号（「ゝ」，「ゞ」，「々」）

漢字（JIS X 0208 の第一水準，第二水準に含まれる範囲）

WSDLのデータ型がanyURIの属性については，次の文字も使用できます。

ハイフン（-）

ピリオド（.）

チルダ（~）

(b)　「rpc/literal」の場合

半角英数字（A〜Z，a〜z，0〜9）およびアンダーバー（_）を使用できます。WSDLのデータ型がanyURIの属性については，次の文字も使用できます。

ハイフン（-）

ピリオド（.）

チルダ（~）

2.12　ユーザ定義受付の内容の確認

ユーザ定義受付を追加したあとには，定義された内容を確認してください。ユーザ定義受付の内容は，ユーザ定義受付定義画面で確認できます。ユーザ定義受付定義画面は，ユーザ定義受付追加ウィザードでユーザ定義受付を追加したあとに表示されます。

ユーザ定義受付定義画面を任意のタイミングで表示したい場合は，次の手順で表示させてください。

ツリービューのサービス定義一覧で，ユーザ定義受付をダブルクリックします。

ユーザ定義受付定義画面が表示されます。

ユーザ定義受付定義画面の詳細については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.5　ユーザ定義受付定義画面」を参照してください。

ユーザ定義受付定義画面では，ユーザ定義受付の定義内容を確認して，受付アクティビティおよび応答アクティビティの定義と不整合になっていないか確認してください。不整合になっている場合，受付アクティビティまたは応答アクティビティの定義を変更してください。

2.13　ユーザ定義受付の保存

ユーザ定義受付定義画面で編集中のユーザ定義受付を編集途中や編集終了時に保存できます。ユーザ定義受付の内容はリポジトリに保存されます。

ユーザ定義受付を保存する手順を次に示します。

方法1

Eclipseのメニューから，［ファイル］−［保存］を選択します。

方法2

Eclipseのメニューから，［ファイル］−［すべて保管］を選択します。

方法3

Eclipseのツールバーの，［保存］アイコンをクリックします。

方法4

ユーザ定義受付定義画面で，［Ctrl］キー＋［S］キーを押します。

なお，ユーザ定義受付定義画面を閉じてユーザ定義受付の定義を終了する場合に，ユーザ定義受付が保存されていないときは，リソース保管ダイアログが表示されます。リソース保管ダイアログでは，保存されていないユーザ定義受付の定義を保存できます。

注意事項

不正なデータが入力されている場合，ユーザ定義受付を保存できないことがあります。その場合，表示されているメッセージに従って対処してください。

2.14　ユーザ定義受付の検証

サービスプラットフォームでは，作成したユーザ定義受付の内容が妥当かどうか検証できます。

2.14.1　検証内容

ユーザ定義受付の検証での検証内容と対処を次の表に示します。

表2‒47　ユーザ定義受付の検証内容と対処

項番

検証内容

エラーになった場合の対処

1

ユーザ定義受付のオペレーション名と一致するオペレーション名がビジネスプロセス内に定義されているか。

ビジネスプロセスの受付アクティビティおよびユーザ定義受付のオペレーション名を見直し，一致するオペレーション名を定義します。

2

ユーザ定義受付のオペレーションの通信モデル（同期／非同期）と，ビジネスプロセスのオペレーションの通信モデル（同期／非同期）が一致しているか。

ビジネスプロセスの受付アクティビティおよびユーザ定義受付の定義を見直し，オペレーションの通信モデル（同期／非同期）を合わせます。

3

ユーザ定義受付に対応する受付アクティビティ，および応答アクティビティ（フォルト電文用を含む）の割当変数の種別がメッセージ型か。

ビジネスプロセスの定義を見直し，該当するアクティビティの割当変数をユーザ定義受付に対応する変数に変更します。

4

ユーザ定義受付に対応する応答電文用（フォルト電文用は含まない）の応答アクティビティが存在するか。

ビジネスプロセスの定義を見直し，ユーザ定義受付のオペレーションに対応する応答アクティビティを定義します。

5

ユーザ定義受付のオペレーションのフォルト名と一致するフォルト名がビジネスプロセスの応答アクティビティに存在するか。

ビジネスプロセスおよびユーザ定義受付の定義を見直し，次のどちらかの対処をします。

ユーザ定義受付のオペレーションのフォルト名に対応する応答アクティビティを定義します。

ユーザ定義受付のオペレーションから不要なフォルトの定義を削除します。この場合，一度ユーザ定義受付を削除し，フォルトの定義を削除したWSDLファイルからもう一度ユーザ定義受付を作成します。

6

ユーザ定義受付のオペレーションに存在しないフォルト名がビジネスプロセスの応答アクティビティに定義されていないか。

ビジネスプロセスおよびユーザ定義受付の定義を見直し，次のどちらかの対処をします。

ユーザ定義受付のオペレーションで定義されていないフォルトに対応する応答アクティビティを削除します。

ユーザ定義受付のオペレーションにフォルトの定義を追加します。この場合，一度ユーザ定義受付を削除し，フォルトの定義を追加したWSDLファイルからもう一度ユーザ定義受付を作成します。

2.14.2　検証方法

ユーザ定義受付の検証は，ビジネスプロセスを検証するときにあわせて実施されます。ビジネスプロセスを検証すると，検証対象のビジネスプロセス内のユーザ定義受付が検証されます。

ビジネスプロセスの検証方法の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.11.2　検証方法」を参照してください。

また，ユーザ定義受付の検証結果は，ビジネスプロセスの検証結果と同様に，コンソールビューに表示されます。検証結果の表示の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.11.3　検証内容の表示」を参照してください。

2.15　ユーザ定義受付の情報の変更

ユーザ定義受付定義画面で，受付名，受付ID，およびコンテキストルートを変更できます。

ユーザ定義受付の情報を変更する手順を次に示します。

ツリービューのサービス定義一覧で，ユーザ定義受付をダブルクリックします。

ユーザ定義受付定義画面が表示されます。

［ユーザ定義受付情報］の［受付名］，［受付ID］，および［コンテキストルート］のテキストボックスに，変更後の値を入力します。

ユーザ定義受付定義画面および入力できる値については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.5　ユーザ定義受付定義画面」を参照してください。

2.16　ユーザ定義受付の削除

ユーザ定義受付を削除します。なお，次のユーザ定義受付は削除できません。

すでに公開されているビジネスプロセスが持つユーザ定義受付（呼出先固定）

サービスとして公開されているユーザ定義受付（呼出先選択）

以前のバージョンのビジネスプロセスで作成したユーザ定義受付

2.16.1　1つのユーザ定義受付を削除する場合

1つのユーザ定義受付を削除する手順について，次に示します。

方法1

ツリービューのサービス定義一覧で，削除するユーザ定義受付を右クリックします。

対象のユーザ定義受付のポップアップメニューが表示されます。

ポップアップメニューから［削除］を選択します。

確認ダイアログが表示されます。

［はい］ボタンをクリックします。

指定したユーザ定義受付がビジネスプロセスから削除されます。

方法2

ツリービューのサービス定義一覧で，削除するユーザ定義受付を選択します。

［Delete］キーを押します。

確認ダイアログが表示されます。

［はい］ボタンをクリックします。

指定したユーザ定義受付がビジネスプロセスから削除されます。

2.16.2　複数のユーザ定義受付（呼出先固定）を同時に削除する場合

複数のユーザ定義受付（呼出先固定）を同時に削除する手順について，次に示します。

ツリービューのサービス定義一覧で，ユーザ定義受付（呼出先固定）を削除するビジネスプロセスを右クリックします。

サービス一覧のポップアップメニューが表示されます。

ポップアップメニューから［ユーザ定義受付（呼出先固定）削除］を選択します。

［ユーザ定義受付削除］ダイアログが表示されます。［ユーザ定義受付削除］ダイアログの入力・表示内容の詳細については，マニュアル「サービスプラットフォーム リファレンス」の「1.7.1　ユーザ定義受付削除ダイアログ」を参照してください。

削除するユーザ定義受付（呼出先固定）のチェックボックスをチェックします。

［OK］ボタンをクリックします。

指定したユーザ定義受付（呼出先固定）がビジネスプロセスから削除されます。

注意事項

ビジネスプロセスを削除すると，削除したビジネスプロセスに含まれるユーザ定義受付も削除されます。

3　サービスアダプタの定義

この章では，各種サービスアダプタの定義について説明します。

3.1　サービスアダプタの定義の手順

ここでは，サービスアダプタの定義の手順について説明します。

3.1.1　定義の流れ

サービスアダプタの定義の流れを次の図に示します。

図3‒1　サービスアダプタの定義の流れ

サービスアダプタの定義に関する作業について次に説明します。

(1)　サービスアダプタの追加

サービスアダプタを追加するには，次のどちらかの方法を利用します。

新規追加する場合

ウィザードを利用してサービスアダプタを新規に追加します。アダプタには，標準で使用するサービスアダプタと，ユーザが必要に応じて使用する汎用カスタムアダプタがあります。

サービスアダプタを新規に追加するウィザードは，サービスアダプタが呼び出すサービス部品の種類（Webサービス，SessionBean，MDB（WS-RまたはDBキュー）など）によって異なります。

サービスアダプタを新規に追加する方法の詳細については，「3.2.1　SOAPアダプタを新規に追加する」を参照してください。

サービスアダプタには次の種類があります。

SOAPアダプタ

SessionBeanアダプタ

MDB（WS-R）アダプタ

MDB（DBキュー）アダプタ

DBアダプタ

TP1アダプタ

ファイルアダプタ

Object Accessアダプタ

Message Queueアダプタ

FTPアダプタ

ファイル操作アダプタ

メールアダプタ

HTTPアダプタ

コマンドアダプタ

SFTPアダプタ

Kafkaアダプタ

gRPCアダプタ

汎用カスタムアダプタ

それぞれのサービスアダプタを新規に追加する方法の詳細は，次に示す個所を参照してください。

種別

参照個所

SOAPアダプタ

3.2.1　SOAPアダプタを新規に追加する

SessionBeanアダプタ

3.2.2　SessionBeanアダプタを新規に追加する

MDB（WS-R）アダプタ

3.2.3　MDB（WS-R）アダプタを新規に追加する

MDB（DBキュー）アダプタ

3.2.4　MDB（DBキュー）アダプタを新規に追加する

DBアダプタ

3.2.5　DBアダプタを新規に追加する

TP1アダプタ

3.2.6　TP1アダプタを新規に追加する

ファイルアダプタ

3.2.7　ファイルアダプタを新規に追加する

Object Accessアダプタ

3.2.8　Object Accessアダプタを新規に追加する

Message Queueアダプタ

3.2.9　Message Queueアダプタを新規に追加する

FTPアダプタ

3.2.10　FTPアダプタを新規に追加する

ファイル操作アダプタ

3.2.11　ファイル操作アダプタを新規に追加する

メールアダプタ

3.2.12　メールアダプタを新規に追加する

HTTPアダプタ

3.2.13　HTTPアダプタを新規に追加する

コマンドアダプタ

3.2.14　コマンドアダプタを新規に追加する

SFTPアダプタ

3.2.15　SFTPアダプタを新規に追加する

Kafkaアダプタ

3.2.16　Kafkaアダプタを新規に追加する

gRPCアダプタ

3.2.17　gRPCアダプタを新規に追加する

汎用カスタムアダプタ

3.2.18　汎用カスタムアダプタを新規に追加する

定義済みのサービスアダプタを利用する場合

定義済みのサービスアダプタを複製してサービスアダプタを追加できます。定義済みのサービスアダプタを複製すると，同じ定義内容のサービスアダプタが追加されます。複製したサービスアダプタの定義内容を編集することもできます。

定義済みのサービスアダプタを利用してサービスアダプタを追加する方法の詳細については，「3.2.19　定義済みサービスアダプタを利用してサービスアダプタを追加する」を参照してください。

(2)　サービスアダプタの内容の定義

サービスアダプタ定義画面でサービスアダプタの内容を定義します。

定義の方法および定義の内容の詳細については，「3.3　サービスアダプタの内容の定義」を参照してください。サービスアダプタ定義画面の詳細については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

(3)　サービスアダプタの保存

編集したサービスアダプタの定義情報は，必要に応じてリポジトリに保存する必要があります。

サービスアダプタの定義情報の保存方法と保存されるタイミングについては，「3.4　サービスアダプタの保存」を参照してください。

(4)　サービスアダプタの検証

定義したサービスアダプタの整合性を検証します。サービスアダプタの定義中や定義が終わったあとなど，任意のタイミングで検証できます。

検証方法の詳細については，「3.6　サービスアダプタの検証」を参照してください。

(5)　サービスアダプタの編集

定義済みのサービスアダプタは，必要に応じて定義内容を編集して変更できます。

サービスアダプタの編集方法の詳細については，「3.5　サービスアダプタの編集」を参照してください。

(6)　サービスアダプタの削除

不要になったサービスアダプタは，必要に応じて削除できます。

サービスアダプタの削除方法については，「3.7　サービスアダプタの削除」を参照してください。

3.2　サービスアダプタの追加

サービスアダプタを追加します。

サービスアダプタを新規に追加する場合，アダプタ追加ウィザードを利用します。また，すでに作成されているサービスアダプタを利用して新規に追加することもできます。

注意事項

警告メッセージが表示された場合は，マニュアル「アプリケーションサーバ メッセージ(構築／運用／開発用)」の次の個所を参照して，表示されたメッセージの内容を確認してください。

「KDCCC」で始まる警告メッセージが表示された場合

「5.2　KDCCC0001からKDCCC9999までのメッセージ」

「KDJW」で始まる警告メッセージが表示された場合

「10.　KDJW（Component Containerが出力するメッセージ）」

3.2.1　SOAPアダプタを新規に追加する

SOAPアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

ドロップダウンリストから「Webサービス」を選択します。

［次へ］ボタンをクリックします。

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

サービス名とWSDLファイルを指定します。

WSDLファイルの指定は，次のどちらかを選択します。

ファイル

WSDLファイルをパスで指定します。

「ファイル」ラジオボタンを選択し，拡張子が「.wsdl」のファイルを絶対パスで指定します。相対パス（例：wsdldir¥wsdlfile.wsdl）やUNC形式（例：¥¥mypc¥wsdldir¥wsdlfile.wsdl）で指定しないでください。

URL

WSDLをURLで指定します。

「URL」ラジオボタンを選択し，テキストボックスに参照先のURLを指定します。

［次へ］ボタンをクリックします。

ポートを指定するダイアログが表示されます。

［次へ］ボタンをクリックしたときに，「WSDLファイルの解析に失敗しました。」というメッセージが表示された場合，WSDLファイルにエラーがあります。

WSDLの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.1　Webサービスを利用したサービス部品の適用範囲」を参照してください。

ドロップダウンリストでポートを選択します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でSOAPアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(1)　SOAPアダプタの場合」を参照してください。

3.2.2　SessionBeanアダプタを新規に追加する

SessionBeanアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

ドロップダウンリストから「SessionBean」を選択します。

［次へ］ボタンをクリックします。

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

サービス名とEARファイルを入力します。

EARファイルには，拡張子が「.ear」のファイルを絶対パスで指定します。

［次へ］ボタンをクリックします。

SessionBeanを指定するダイアログが表示されます。

ドロップダウンリストでSessionBeanを選択します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でSessionBeanアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(2)　 SessionBeanアダプタの場合」を参照してください。

3.2.3　MDB（WS-R）アダプタを新規に追加する

MDB（WS-R）アダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

ドロップダウンリストから「MDB/WS-R」を選択します。

［次へ］ボタンをクリックします。

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

サービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でMDB（WS-R）アダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(3)　 MDB（WS-R）アダプタの場合」を参照してください。

3.2.4　MDB（DBキュー）アダプタを新規に追加する

MDB（DBキュー）アダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

ドロップダウンリストから「MDB/DBキュー」を選択します。

［次へ］ボタンをクリックします。

MDB（DBキュー）アダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でMDB（DBキュー）アダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(4)　MDB（DBキュー）アダプタの場合」を参照してください。

3.2.5　DBアダプタを新規に追加する

DBアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

ドロップダウンリストから「DBアダプタ」を選択します。

［次へ］ボタンをクリックすると，DBアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名は，サービスリクエスタからHCSCサーバを呼ぶ際に必要になる識別情報です。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でDBアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(5) DBアダプタの場合」を参照してください。

3.2.6　TP1アダプタを新規に追加する

TP1アダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

［サービスアダプタ定義追加］ダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「TP1アダプタ」を選択します。

［次へ］ボタンをクリックします。

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

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でTP1アダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(6)　TP1アダプタの場合」を参照してください。

3.2.7　ファイルアダプタを新規に追加する

ファイルアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「ファイルアダプタ」を選択します。

［次へ］ボタンをクリックすると，ファイルアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でファイルアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(7)　ファイルアダプタの場合」を参照してください。

3.2.8　Object Accessアダプタを新規に追加する

Object Accessアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「Object Accessアダプタ」を選択します。

［次へ］ボタンをクリックすると，Object Accessアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でObject Accessアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(8)　Object Accessアダプタの場合」を参照してください。

3.2.9　Message Queueアダプタを新規に追加する

Message Queueアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「Message Queueアダプタ」を選択します。

［次へ］ボタンをクリックすると，Message Queueアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でMessage Queueアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(9)　Message Queueアダプタの場合」を参照してください。

3.2.10　FTPアダプタを新規に追加する

FTPアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「FTPアダプタ」を選択します。

［次へ］ボタンをクリックすると，FTPアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でFTPアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(10)　FTPアダプタの場合」を参照してください。

3.2.11　ファイル操作アダプタを新規に追加する

ファイル操作アダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「ファイル操作アダプタ」を選択します。

［次へ］ボタンをクリックすると，ファイル操作アダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，サービスアダプタ定義画面が表示され，この画面でファイル操作アダプタを定義します。オペレーションごとの設定内容は，次の個所を参照してください。

ファイル変換オペレーションの場合

3.3.19(11)(a)　ファイル変換オペレーション

ファイル複製オペレーションの場合

3.3.19(11)(b)　ファイル複製オペレーション

ファイル移動オペレーションの場合

3.3.19(11)(c)　ファイル移動オペレーション

ファイル・フォルダ削除オペレーションの場合

3.3.19(11)(d)　ファイル・フォルダ削除オペレーション

ファイル圧縮オペレーションの場合

3.3.19(11)(e)　ファイル圧縮オペレーション

ファイル伸張オペレーションの場合

3.3.19(11)(f)　ファイル伸張オペレーション

ファイル一覧取得オペレーションの場合

3.3.19(11)(g)　ファイル一覧取得オペレーション

ファイル一覧書き込みオペレーションの場合

3.3.19(11)(h)　ファイル一覧書き込みオペレーション

ファイル読み込みオペレーションの場合

3.3.19(11)(i)　ファイル読み込みオペレーション

ファイル書き込みオペレーションの場合

3.3.19(11)(j)　ファイル書き込みオペレーション

3.2.12　メールアダプタを新規に追加する

メールアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「メールアダプタ」を選択します。

［次へ］ボタンをクリックすると，メールアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でメールアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(12)　メールアダプタの場合」を参照してください。

3.2.13　HTTPアダプタを新規に追加する

HTTPアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「HTTPアダプタ」を選択します。

［次へ］ボタンをクリックすると，HTTPアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でHTTPアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(13)　HTTPアダプタの場合」を参照してください。

3.2.14　コマンドアダプタを新規に追加する

コマンドアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「コマンドアダプタ」を選択します。

［次へ］ボタンをクリックすると，コマンドアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でコマンドアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(14)　コマンドアダプタの場合」を参照してください。

注意事項

コマンドアダプタの利用は，Service Coordinator 09-71-01以降が前提です。

3.2.15　SFTPアダプタを新規に追加する

SFTPアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「SFTPアダプタ」を選択します。

［次へ］ボタンをクリックすると，SFTPアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でSFTPアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(15)　SFTPアダプタの場合」を参照してください。

3.2.16　Kafkaアダプタを新規に追加する

Kafkaアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「Kafkaアダプタ」を選択します。

［次へ］ボタンをクリックすると，Kafkaアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名には，任意のサービス名を入力します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でKafkaアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(16)　Kafkaアダプタの場合」を参照してください。

3.2.17　gRPCアダプタを新規に追加する

gRPCアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「gRPCアダプタ」を選択します。

［次へ］ボタンをクリックすると，gRPCアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名，proto_path，protoファイルを入力します。

サービス名には，任意のサービス名を入力します。

proto_pathには，protoファイルが格納されたフォルダのパスを指定します。

protoファイルには，protoファイル名を絶対パスで指定します。

protoファイルを設定する際の注意事項については，マニュアル「サービスプラットフォーム 解説」の「2.13.1(3)(c)　protoファイル使用時の注意事項」を参照してください。

［次へ］ボタンをクリックします。

gRPC Serviceの指定のドロップダウンリストから使用するgRPCサービスを選択します。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面でgRPCアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(17)　gRPCアダプタの場合」を参照してください。

3.2.18　汎用カスタムアダプタを新規に追加する

汎用カスタムアダプタを新規に追加する方法を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

ドロップダウンリストから「汎用カスタムアダプタ」を選択します。

［次へ］ボタンをクリックすると，汎用カスタムアダプタの追加に必要な情報を入力するダイアログが表示されます。

サービス名を入力します。

サービス名は，サービスリクエスタからHCSCサーバを呼ぶ際に必要になる識別情報です。

EARファイルを入力します。

EARファイルには，拡張子が「.ear」のファイルを絶対パスで指定します。

指定するEARファイルは，「3.3.18(6)　EARファイルの作成」で作成したファイルです。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。

サービスアダプタ定義画面が表示され，この画面で汎用カスタムアダプタを定義します。サービスアダプタ定義画面での設定については，「3.3.19(18)　汎用カスタムアダプタの場合」を参照してください。

3.2.19　定義済みサービスアダプタを利用してサービスアダプタを追加する

すでに定義されているサービスアダプタを複製して，サービスアダプタを追加できます。

ツリービューのサービス定義一覧で，複製するサービスアダプタを選択して右クリックします。

サービス一覧のポップアップメニューが表示されます。

ポップアップメニューから「複製」を選択します。

選択したサービスアダプタの複製が作成されます。複製されたサービスアダプタのサービス名やサービスIDなどは，システム内で競合しないよう，自動的に別の情報が割り当てられます。

3.3　サービスアダプタの内容の定義

サービスリクエスタから受け付けた要求は，クラスタ（または単一のHCSCサーバ）内に配備されるサービスアダプタを特定することで，サービス部品へ送ることができます。サービス部品には，そのサービス部品に対応したサービスアダプタが必要です。この節では，サービスアダプタの定義方法について説明します。

3.3.1　SOAPアダプタを定義する

SOAPアダプタの定義方法について説明します。SOAPアダプタは，サービスアダプタ定義画面で定義できます。

(1)　サービス部品の電文フォーマット

Webサービスの場合，WSDLから作成された電文フォーマット定義ファイルが，サービス部品の電文フォーマット定義ファイルとなります。そのため，要求電文および応答電文ともに，サービス部品の電文フォーマットを設定する必要はありません。

サービス部品の電文フォーマットの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.3.2　サービス部品電文を作成する（Webサービスの場合）」を参照してください。

(2)　データ変換

サービスリクエスタの電文の形式と，サービスアダプタが呼び出すサービス部品の電文の形式が異なる場合，データ変換が必要です。

要求電文のデータ変換を行う場合，サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し，データ変換定義画面でデータ変換を定義します。応答電文のデータ変換を行う場合，サービス部品から返される電文に標準電文を設定し，データ変換定義画面でデータ変換を定義します。

データ変換の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

注意事項

SOAPアダプタでデータ変換を定義する場合，電文フォーマットのルート要素には次の要素を選択してください。

document/literalの場合

要求電文：<wsdl:operation><wsdl:input>が参照する<wsdl:message><wsdl:part>のelement属性が示す要素

応答電文：<wsdl:operation><wsdl:output>が参照する<wsdl:message><wsdl:part>のelement属性が示す要素

rpc/literalの場合

要求電文：「オペレーション名」と同じ名前の要素

応答電文：「オペレーション名＋"Response"」と同じ名前の要素

(3)　ベーシック認証の設定

対象となるサービス部品がユーザ認証を必要とするWebサーバ上にある場合は，ベーシック認証（ユーザ名およびパスワード）の設定が必要になります。

(4)　サービスアダプタ定義画面の表示

サービスアダプタを定義するために，サービスアダプタ定義画面を表示します。サービスアダプタ定義画面は，ツリービューのサービス定義一覧から，該当するサービスアダプタを選択し，ダブルクリックすると表示されます。

(5)　サービスアダプタ定義画面での操作

SOAPアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］，［サービスID］，［アドレス］，および［最大インスタンス数］を必要に応じて編集します。

サービス部品制御情報の［オペレーション］のドロップダウンリストから，編集したいオペレーションを選択します。

オペレーション情報に表示されている内容を確認します。

サービス部品制御情報の［システム例外をフォルトに変換する］チェックボックスを必要に応じてチェックします。

要求電文について，手順7.から手順23.までを実施します。

次に示す操作をします。

要求電文にSOAPヘッダ情報を定義する場合

手順8.〜14.を実施して，手順15.に進みます。

要求電文にSOAPヘッダ情報を定義しない場合

手順15.に進みます。

要求電文の［ヘッダ］タブをクリックします。

［ルート要素］のドロップダウンリストからヘッダ情報のルート要素を選択します。

［名前空間］には選択したルート要素の名前空間が表示され，［電文フォーマット］にはヘッダ情報として使用する電文フォーマットのファイル名が表示されます。必要に応じてヘッダ情報のルート要素を追加してください。

次に示す操作をします。

ヘッダ情報のルート要素を追加する場合

手順11.〜13.を実施して，手順14.に進みます。

ヘッダ情報のルート要素を追加しない場合

手順14.に進みます。

［ルート要素］の［追加］ボタンをクリックします。

［電文フォーマットファイルの選択］ダイアログが表示されます。

ヘッダ情報として使用する電文フォーマットを選択して［開く］ボタンをクリックします。

［ヘッダ情報の追加］ダイアログが表示されます。

［ルート要素］のドロップダウンリストから追加するヘッダ情報のルート要素を選択して［OK］ボタンをクリックします。

追加したルート要素は，要求電文の［ヘッダ］タブの［ルート要素］に追加されます。追加位置は，ドロップダウンリストの末尾になります。

電文フォーマットの［表示］ボタンをクリックします。

ヘッダ情報として使用する電文のフォーマットが表示されます。必要に応じて電文フォーマットを確認してください。

要求電文の［ボディ］タブをクリックします。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

なお，外部のXMLスキーマを参照している電文フォーマットを設定する場合，必ずルートスキーマに当たるファイルを設定してください。ルートスキーマから参照される外部のXMLスキーマファイルは，自動的に取り込まれます。

指定できる電文フォーマットの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

標準電文の［表示］ボタンをクリックします。

標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

サービス部品電文の［表示］ボタンをクリックします。

サービス部品電文のフォーマットが表示されます。必要に応じてサービス部品電文のフォーマットを確認してください。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順21.〜23.を実施して，手順24.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順24.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。

なお，初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

また，電文フォーマットを変更した場合は，電文フォーマットの変更を反映するかを確認するダイアログが表示されます。電文フォーマットを変更した場合の手順は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.2　電文フォーマットを変更した場合の定義手順」を参照してください。

標準電文とサービス部品電文の内容をマッピングします。

応答電文についても同様に，手順7.から手順23.までを実施します。

サービスアダプタ定義（詳細）タブをクリックします。

サービス部品がユーザ認証を必要とするWebサーバ上にあるかどうかで，次に示す操作をします。

ユーザ認証が必要な場合

手順27.〜29.を実施します。

ユーザ認証が不要な場合

以降の手順は不要です。

ベーシック認証の［使う］チェックボックスをチェックします。

ユーザ名およびパスワードの欄に，ベーシック認証のために必要なユーザ名およびパスワードを入力します。

パスワード（確認）欄に，パスワードの欄で入力したパスワードと同じパスワードを入力します。

(6)　クライアント定義ファイルの設定

クライアント定義ファイルは，クライアント（サービスリクエスタ）側の動作を制御するためのファイルです。クライアント定義ファイルは，必要に応じて，次のどちらかの方法で設定します。

テンプレートファイルを編集する

新規に作成してテンプレートファイルに上書き設定する

クライアント定義ファイルの設定は任意です。クライアント定義ファイルを設定しない場合はテンプレートファイルの内容がそのまま使用されます。

(a)　設定手順（テンプレートファイルを編集する場合）

テンプレートファイルを編集する場合の設定手順を示します。

サービスアダプタ定義画面（詳細）の［クライアント定義ファイル］で，［編集］ボタンをクリックします。

クライアント定義ファイルを編集するためのエディタが起動します。

エディタ上でクライアント定義ファイルを編集します。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(b)　設定手順（新規に作成してテンプレートファイルを上書きする場合）

新規に作成してテンプレートファイルを上書きする場合の設定手順を示します。

テキストエディタなどで，「c4webcl.properties」というファイル名称でクライアント定義ファイルを作成します。

「c4webcl.properties」はすべて小文字で入力します。

サービスアダプタ定義画面（詳細）の［クライアント定義ファイル］で，［参照］ボタンをクリックし，作成したクライアント定義ファイルを指定します。

(c)　設定内容

クライアント定義ファイルの設定内容は，SOAP1.1モードを使用する場合とSOAP1.1/1.2併用モードを使用する場合とでは異なります。それぞれの場合の設定内容を示します。

SOAP1.1モードを使用する場合

クライアント定義ファイルの設定内容については，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」の「10.3　クライアント定義ファイルの設定」を参照してください。

次の表に，SOAP1.1モードを使用する場合のクライアント定義ファイル編集時の注意事項を示します。

表3‒1　クライアント定義ファイルの作成に関する注意事項（SOAP1.1モード）

設定項目

キー名称

設定値

（デフォルト値）

注意事項

多重参照

c4web.common.do_multirefs

false

デフォルト値以外の値を指定した場合の動作は保証されません。

データ型定義

c4web.common.send_xsi_types

true

文字参照形式オプション

c4web.common.character_reference

false

HTTPセッションの維持

c4web.application.app_maintainsession

false

サービスアダプタのHTTPヘッダ引き継ぎ機能※を使用して，「JSESSIONID」のCookie情報を送受信する場合は，trueを設定してください。

SOAPヘッダの名前修飾チェックオプション

c4web.common.enable_soapheader_check

true

このオプションは，falseとして動作します。

トレースファイル，アプリケーションログのプリフィックス

c4web.logger.log_file_prefix

サービスID

値は必ずサービスIDに変更されるため，設定する必要はありません。

注※

サービスアダプタのHTTPヘッダ引き継ぎ機能を使用して，HTTPヘッダおよびCookie情報を引き継ぐ方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「付録F　サービスアダプタを利用したHTTPヘッダおよびCookie情報の引き継ぎ」を参照してください。

SOAP1.1/1.2併用モードを使用する場合

クライアント定義ファイルの設定内容については，マニュアル「サービスプラットフォーム リファレンス」の「3.6.2　クライアント定義ファイル」を参照してください。

3.3.2　SessionBeanアダプタを定義する

SessionBeanアダプタの定義方法について説明します。SessionBeanアダプタは，サービスアダプタ定義画面で定義できます。

(1)　サービス部品の電文フォーマット

SessionBeanの場合，EARファイルから自動作成された電文フォーマット定義ファイルが，サービス部品の電文フォーマット定義ファイルとなります。そのため，サービス部品の電文フォーマットを設定する必要はありません。

(2)　データ変換

サービスリクエスタの電文の形式と，サービスアダプタが呼び出すサービス部品の電文の形式が異なる場合，データ変換が必要です。

要求電文のデータ変換を行う場合，サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し，データ変換定義画面でデータ変換を定義します。応答電文のデータ変換を行う場合，サービス部品から返される電文に標準電文を設定し，データ変換定義画面でデータ変換を定義します。

データ変換の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(3)　JNDI名前空間に登録されている呼び出すサービス部品の名称の指定

サービスアダプタ定義画面では，JNDI名前空間に登録されている呼び出すサービス部品の名称を指定します。リモート呼び出しとなるようにアドレスを指定してください。サービス部品（SessionBean）のローカル呼び出しはできません。指定例を次に示します。

正しい例（myhostはリモートホスト名を表します）

corbaname::myhost:900#HITACHI_EJB/SERVERS/J2EEServer/EJB/slsbsmpl/MyAdder

誤った例

corbaname::localhost:900#HITACHI_EJB/SERVERS/J2EEServer/EJB/slsbsmpl/MyAdder

corbaname::127.0.0.1:900#HITACHI_EJB/SERVERS/J2EEServer/EJB/slsbsmpl/MyAdder

corbaname::HITACHI_EJB/SERVERS/J2EEServer/EJB/slsbsmpl/MyAdder

JNDI名前空間に登録されている名称については次の個所を参照してください。

マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「2.　ネーミング管理」

マニュアル「アプリケーションサーバ 機能解説 基本・開発編(EJBコンテナ)」の「2.5　EJBコンテナのJNDI名前空間へのリファレンス登録」

(4)　ユーザ定義クラス（JARファイル）の設定

SessionBeanの場合，スタブを利用してサービス部品を呼び出すために，ユーザ定義クラス（JARファイル）を設定する必要があります。

なお，サービスアダプタ定義画面（SessionBeanの詳細画面）でJARファイルを設定するとき，選択するファイルの拡張子は，すべて小文字の「jar」としてください。

また，JARファイルとして次に示すファイル名は設定しないでください。

csmsvcadpdef.jar

cscmsg_adpejb.jar

上記のファイル名を設定した場合，警告メッセージが表示されます。警告メッセージが表示された場合，上記のファイル名をユーザ定義クラスから削除します。そのあと，上記のファイル名を変更して，再度設定してください。

(5)　RMI-IIOPスタブおよびインターフェースの取得

J2EEサーバのcjgetstubsjarコマンドを使ってRMI-IIOPスタブおよびインターフェースを取得します。cjgetstubsjarコマンドの詳細について，マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjgetstubsjar（アプリケーションのRMI-IIOPスタブおよびインタフェースの取得）」を参照してください。

(6)　サービスアダプタ定義画面での操作

SessionBeanアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］，［サービスID］，および［最大インスタンス数］を必要に応じて編集します。

サービス部品制御情報の［アドレス］を指定します。

［アドレス］には，JNDI名前空間に登録されている呼び出すサービス部品の名称を取得して，入力します。JNDI名前空間に登録されている名称については次の個所を参照してください。

マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「2.　ネーミング管理」

マニュアル「アプリケーションサーバ 機能解説 基本・開発編(EJBコンテナ)」の「2.5　EJBコンテナのJNDI名前空間へのリファレンス登録」

サービス部品制御情報の［オペレーション］のドロップダウンリストから，編集したいオペレーションを選択します。

オペレーション情報に表示されている内容を確認します。

サービス部品制御情報の［システム例外をフォルトに変換する］チェックボックスを必要に応じてチェックします。

要求電文について，手順8.から手順16.までを実施します。

次に示す操作をします。

標準電文のフォーマットを指定する場合

手順9.〜11.を実施して，手順12.に進みます。

標準電文のフォーマットを指定しない場合

手順12.に進みます。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

なお，外部のXMLスキーマを参照している電文フォーマットを設定する場合，必ずルートスキーマに当たるファイルを設定してください。ルートスキーマから参照される外部のXMLスキーマファイルは，自動的に取り込まれます。

指定できる電文フォーマットの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

標準電文の［表示］ボタンをクリックします。

標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

サービス部品電文の［表示］ボタンをクリックします。

サービス部品電文のフォーマットが表示されます。必要に応じてサービス部品電文のフォーマットを確認してください。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順14.〜16.を実施して，手順17.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順17.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。

なお，初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

また，電文フォーマットを変更した場合は，電文フォーマットの変更を反映するかを確認するダイアログが表示されます。電文フォーマットを変更した場合の手順は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.2　電文フォーマットを変更した場合の定義手順」を参照してください。

標準電文とサービス部品電文の内容をマッピングします。

応答電文についても同様に，手順8.から手順16.までを実施します。

サービスアダプタ定義（詳細）タブをクリックします。

［追加］ボタンをクリックして，該当するユーザ定義クラスを追加します。

ユーザ定義クラスは，「3.3.2(5)　RMI-IIOPスタブおよびインターフェースの取得」で取得したスタブおよびインターフェースのJARファイルを指定します。

(7)　クライアント定義ファイルの設定

Webサービスと同様に，クライアント（サービスリクエスタ）側の動作を制御するクライアント定義ファイルを設定します。

クライアント定義ファイルは，必要に応じて，次のどちらかの方法で設定します。

テンプレートファイルを編集する

新規に作成してテンプレートファイルに上書き設定する

クライアント定義ファイルの設定は任意です。クライアント定義ファイルを設定しない場合はテンプレートファイルの内容がそのまま使用されます。

(a)　設定手順（テンプレートファイルを編集する場合）

テンプレートファイルを編集する場合の設定手順を示します。

サービスアダプタ定義画面（詳細）の［クライアント定義ファイル］で，［編集］ボタンをクリックします。

クライアント定義ファイルを編集するためのエディタが起動します。

エディタ上でクライアント定義ファイルを編集します。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(b)　設定手順（新規に作成してテンプレートファイルを上書きする場合）

新規に作成してテンプレートファイルを上書きする場合の設定手順を示します。

テキストエディタなどで，「c4webcl.properties」というファイル名称でクライアント定義ファイルを作成します。

「c4webcl.properties」はすべて小文字で入力します。

サービスアダプタ定義画面（詳細）の［クライアント定義ファイル］で，［参照］ボタンをクリックし，作成したクライアント定義ファイルを指定します。

(c)　設定内容

クライアント定義ファイルの設定内容については，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」の「10.3　クライアント定義ファイルの設定」を参照してください。

なお，SessionBeanアダプタの場合，クライアント定義ファイルに設定できる項目とできない項目があります。SessionBeanアダプタの場合に設定できるクライアント定義ファイルの項目を次の表に示します。

表3‒2　クライアント定義ファイルの設定項目

キー名称

内容

設定可否

c4web.logger.log_level

トレースファイル出力の重要度

○

c4web.logger.aplog_level

アプリケーションログ出力の重要度

○

c4web.logger.aplog_error_record

異常発生時のアプリケーションログ出力

○

c4web.logger.log_file_dir

トレースファイルおよびアプリケーションログの出力先ディレクトリ

○

c4web.logger.log_file_num

トレースファイルの面数

○

c4web.logger.log_file_size

トレースファイルのサイズ

○

c4web.logger.aplog_file_num

アプリケーションログの面数

○

c4web.logger.aplog_file_size

アプリケーションログのサイズ

○

c4web.logger.log_file_prefix

トレースファイル，アプリケーションログのプリフィックス

×※

c4web.common.do_multirefs

多重参照（実行時オプション）

×

c4web.common.send_xsi_types

データ型定義（実行時オプション）

×

c4web.application.app_maintainsession

HTTPセッションの維持（実行時オプション）

×

c4web.application.proxy_host

プロキシサーバのホスト名（実行時オプション）

×

c4web.application.non_proxy_hosts

プロキシサーバを使用しないホスト名群（実行時オプション）

×

c4web.application.proxy_port

プロキシサーバのポート番号（実行時オプション）

×

c4web.application.proxy_user

プロキシサーバの認証ユーザID（実行時オプション）

×

c4web.application.proxy_password

プロキシサーバの認証ユーザIDに対応するパスワード（実行時オプション）

×

c4web.common.enable_soapheader_check

SOAPヘッダの名前修飾チェックオプション（実行時オプション）

×

c4web.application.socket_write_timeout

クライアントのソケットの書き込みタイムアウト値（実行時オプション）

×

c4web.application.socket_read_timeout

クライアントのソケットの読み込みタイムアウト値（実行時オプション）

×

c4web.application.socket_connect_timeout

クライアントのソケットの接続タイムアウト値（実行時オプション）

×

c4web.attachment.file_body_encoding

ボディエンコーディング種別

×

c4web.attachment.attachment_temp_directory

退避先ディレクトリ

×

c4web.attachment.attachment_file_delete_by_date

不要退避ファイルの経過日数

×

c4web.common.prf_trace_level

性能解析トレース出力オプション

○

（凡例）

○：設定できます。

×：設定できません。設定した場合は無視されます。

注※

値は必ずサービスIDに変更されるため，設定する必要はありません。

3.3.3　MDB（WS-R）アダプタを定義する

MDB（WS-R）アダプタの定義方法について説明します。MDB（WS-R）アダプタは，サービスアダプタ定義画面で定義できます。

(1)　キュー情報およびメッセージ種別の取得

サービス部品がMDB（WS-R）の場合，サービス部品のキュー情報およびメッセージ種別を開発者から取得する必要があります。取得した情報は，サービスアダプタを定義するときに使用します。

取得する情報は次のとおりです。

キュー名称

宛先のアドレス（サービスアダプタとサービス部品との間でネットワーク通信をする場合）

ベーシック認証のためのユーザ名およびパスワード（サービスアダプタとサービス部品との間でネットワーク通信をし，かつベーシック認証を使用する場合）

メッセージ種別

(2)　サービス部品の電文フォーマット

MDB（WS-R）の場合，サービス部品の電文フォーマットを作成して，設定する必要があります。

サービス部品の電文フォーマットの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.3.4　サービス部品電文を作成する（MDB（WS-RまたはDBキュー）の場合）」を参照してください。

(3)　データ変換

サービスリクエスタの電文の形式と，サービスアダプタが呼び出すサービス部品の電文の形式が異なる場合，データ変換が必要です。

データ変換を行う場合，サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し，データ変換定義画面でデータ変換を定義します。

データ変換の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(4)　呼出しの設定

利用するサービス部品の呼出し方法を設定できます。リモート呼出しまたはローカル呼出しを選択できます。リモート呼出しを選択した場合，最大メッセージ数を設定します。また必要に応じて，ベーシック認証を設定します。

(5)　最大メッセージ数の設定

サービス部品の呼出し方法としてリモート呼出しを設定した場合，一度に処理できる電文の数を初期値から変更した数に設定できます。設定できる値は1〜65535です。

(6)　ベーシック認証の設定

サービス部品の呼出し方法としてリモート呼出しを設定した場合で，MDB（WS-R）のメッセージ転送でユーザ認証を必要とするときは，ベーシック認証（ユーザ名およびパスワード）の設定が必要になります。

注意事項

MDB（WS-R）アダプタでは，ベーシック認証のユーザ名またはパスワードは，16バイト以内の半角英数字で設定してください。

(7)　サービスアダプタ定義画面での操作

MDB（WS-R）アダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］，［サービスID］，および［最大インスタンス数］を必要に応じて編集します。

サービス部品制御情報の［アドレス］を指定します。

［アドレス］には，「3.3.3(1)　キュー情報およびメッセージ種別の取得」で取得したキュー名称を入力します。

オペレーション情報に表示されている内容を確認します。

サービス部品制御情報の［システム例外をフォルトに変換する］チェックボックスを必要に応じてチェックします。

要求電文について次に示す操作をします。

標準電文のフォーマットを指定する場合

手順7.〜9.を実施して，手順10.に進みます。

標準電文のフォーマットを指定しない場合

手順10.に進みます。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

なお，外部のXMLスキーマを参照している電文フォーマットを設定する場合，必ずルートスキーマに当たるファイルを設定してください。ルートスキーマから参照される外部のXMLスキーマファイルは，自動的に取り込まれます。

指定できる電文フォーマットの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

標準電文の［表示］ボタンをクリックします。

標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

サービス部品電文の［参照］ボタンをクリックして，［電文フォーマット］にサービス部品電文のフォーマットを指定します。

サービス部品電文の［表示］ボタンをクリックします。

サービス部品電文のフォーマットが表示されます。必要に応じて指定したサービス部品電文のフォーマットを確認してください。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順13.〜15.を実施して，手順16.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順16.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。

なお，初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

また，電文フォーマットを変更した場合は，電文フォーマットの変更を反映するかを確認するダイアログが表示されます。電文フォーマットを変更した場合の手順は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.2　電文フォーマットを変更した場合の定義手順」を参照してください。

標準電文とサービス部品電文の内容をマッピングします。

サービスアダプタ定義（詳細）タブをクリックします。

［JMSメッセージ種別］のドロップダウンリストから，JMSメッセージ種別を選択します。

［呼出し設定］でサービス部品の呼出方法を選択します。

［リモート呼出し］ラジオボタンを選択した場合

手順19.に進みます。

［ローカル呼出し］ラジオボタンを選択した場合

手順27.に進みます。

［最大メッセージ数］に，サービス部品が送信できる電文の数を指定します。

［宛先URL］に「3.3.3(1)　キュー情報およびメッセージ種別の取得」で取得した，宛先のアドレスを入力します。

サービス部品がユーザ認証を必要とするかどうかで，次に示す操作をします。

ユーザ認証が必要な場合

手順22.〜24.を実施して，手順25.に進みます。

ユーザ認証が不要な場合

手順25.に進みます。

ベーシック認証の［使う］チェックボックスをチェックします。

ユーザ名およびパスワードの欄に，ベーシック認証のために必要なユーザ名およびパスワードを入力します。

パスワード（確認）欄に，パスワードの欄で入力したパスワードと同じパスワードを入力します。

転送キュー作成先RDエリア名を必要に応じて入力します。

［順序保証］チェックボックスを必要に応じてチェックします。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

3.3.4　MDB（DBキュー）アダプタを定義する

MDB（DBキュー）アダプタの定義方法について説明します。MDB（DBキュー）アダプタは，サービスアダプタ定義画面で定義できます。

(1)　キュー名称の取得

サービス部品がMDB（DBキュー）の場合，サービス部品のキュー名称を開発者から取得する必要があります。キュー名称は，サービスアダプタを定義するときに使用します。

(2)　サービス部品の電文フォーマット

MDB（DBキュー）の場合，サービス部品の電文フォーマットを作成して，設定する必要があります。

サービス部品の電文フォーマットの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.3.4　サービス部品電文を作成する（MDB（WS-RまたはDBキュー）の場合）」を参照してください。

(3)　データ変換

サービスリクエスタの電文の形式と，サービスアダプタが呼び出すサービス部品の電文の形式が異なる場合，データ変換が必要です。

データ変換を行う場合，サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し，データ変換定義画面でデータ変換を定義します。

データ変換の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(4)　サービスアダプタ定義画面での操作

MDB（DBキュー）アダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］，［サービスID］，および［最大インスタンス数］を必要に応じて編集します。

サービス部品制御情報の［アドレス］を指定します。

［アドレス］には，共用キューを使用する場合の登録先キュー名を入力します。共用キューを使用する場合の登録先キュー名については，マニュアル「Reliable Messaging」の「8.3.19　hrmmkque（送信用共用キューの作成）」を参照してください。

サービス部品制御情報の［オペレーション］のドロップダウンリストから，編集したいオペレーションを選択します。

オペレーション情報に表示されている内容を確認します。

サービス部品制御情報の［システム例外をフォルトに変換する］チェックボックスを必要に応じてチェックします。

要求電文について次に示す操作をします。

標準電文のフォーマットを指定する場合

手順8.〜10.を実施して，手順11.に進みます。

標準電文のフォーマットを指定しない場合

手順11.に進みます。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

なお，外部のXMLスキーマを参照している電文フォーマットを設定する場合，必ずルートスキーマに当たるファイルを設定してください。ルートスキーマから参照される外部のXMLスキーマファイルは，自動的に取り込まれます。

指定できる電文フォーマットの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

標準電文の［表示］ボタンをクリックします。

標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

サービス部品電文の［参照］ボタンをクリックして，［電文フォーマット］にサービス部品電文のフォーマットを指定します。

サービス部品電文の［表示］ボタンをクリックします。

サービス部品電文のフォーマットが表示されます。必要に応じて指定したサービス部品電文のフォーマットを確認してください。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順14.〜16.を実施して，手順17.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順17.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。

なお，初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

また，電文フォーマットを変更した場合は，電文フォーマットの変更を反映するかを確認するダイアログが表示されます。電文フォーマットを変更した場合の手順は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.2　電文フォーマットを変更した場合の定義手順」を参照してください。

標準電文とサービス部品電文の内容をマッピングします。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

3.3.5　DBアダプタを定義する

DBアダプタの定義方法について説明します。

(1)　SQLオペレーション定義ファイルの作成

SQLオペレーション定義ファイルは，実行環境でDBアダプタを介してアクセスするデータベースの情報や，SQLの実行形式を定義するファイルです。DBアダプタ用のXMLフォーマット定義ファイルを作成するときの基となるファイルです。

SQLオペレーション定義ファイルの作成方法を次に説明します。

SQLオペレーション定義ファイルは，テキストエディタなどを使用してXML文書形式で作成します。XML文書で使用できない「<」，「>」，「&」などの文字を使用する場合，エスケープするか，CDATAセクションを利用する必要があります。

要素，属性およびテキストデータは，W3CのXMLの仕様に従って指定します。

なお，XML名前空間名は使用できません。

作成するXML文書の詳細を説明します。

●ファイル名

SQLオペレーション定義ファイルのファイル名は，次の形式で指定します。

csa_sql_<任意の名称>.xml

●構造

SQLオペレーション定義ファイルの構造を次に示します。

図3‒2　SQLオペレーション定義ファイルの構造

●SQLオペレーション定義ファイルの形式

SQLオペレーション定義ファイルの形式を次に示します。なお，斜体の文字は可変値を表します。

<?xml version="XMLのバージョン" encoding="文字コード"?>
<DBadapter_SQL_OPERATION dba_separate_transaction="トランザクション分離オプション" sqloperation_chk＝"SQL命令チェックオプション">
    <DATABASE_DATA>
        <DB_NAME dynamic="接続先の動的変更オプション">データベース参照名</DB_NAME>
        <DB_TYPE>データベース種別</DB_TYPE>
    </DATABASE_DATA>
    <SQL_DATA encoding="文字バイナリデータのエンコード・デコード形式">
        <SQL識別子 out_maxOccurs="検索結果出力最大件数">
            SQL命令 <引数要素名 dba_inf＝"引数の種別" data_type="データ型"/>
        </SQL識別子>
            ：
    </SQL_DATA>
    <MULTI_SQL_DATA>
        <MAX_SQL_NO>1回のサービス部品実行要求で実行するSQL文の最大個数</MAX_SQL_NO>
    </MULTI_SQL_DATA>
</DBadapter_SQL_OPERATION>

SQLオペレーション定義ファイルで定義する内容について次に説明します。

XML宣言

XMLのバージョンには，XMLの言語仕様に従ってXMLのバージョンを指定します。文字コードにはUTF-8を指定してください。なお，文字コードの指定は省略できます。省略した場合の値は「UTF-8またはUTF-16」になります。

<?xml version="XMLのバージョン" encoding="文字コード"?>

ルート要素（要素名：DBadapter_SQL_OPERATION）

SQLオペレーション定義ファイルのルート要素です。

<DBadapter_SQL_OPERATION dba_separate_transaction="Y|N" sqloperation_chk＝"Y|N">
    :
</DBadapter_SQL_OPERATION>

dba_separate_transaction

DBアダプタのトランザクションをビジネスプロセスとは別に開始するかどうかを指定します。トランザクションを分離する場合はYを，分離しない場合はNを指定します。指定を省略した場合は，HCSCサーバランタイム定義ファイルの「dba-separate-transaction」の値が有効となります。この属性と，HCSCサーバランタイム定義ファイルに「dba-separate-transaction」の両方が指定してある場合は，この属性の指定値が優先されます。

なお，この属性にYを指定する場合は，事前にDBアダプタのアプリケーション統合属性ファイルのtrans-attribute要素の指定値を「Required」から「RequiresNew」に変更してください。

sqloperation_chk

DBアダプタで実行するSQL命令の制限をするかどうかを指定します。SQL命令をSELECTとINSERTに制限する場合はYを，SQL命令でSELECTとINSERTに加えてUPDATEとDELETEを実行する場合はNを指定します。指定を省略した場合は，Yが指定されているときと同じ動作となります。

データベース情報（要素名：DATABASE_DATA）

下位の要素（DB_NAMEおよびDB_TYPE）で，データベースの情報を指定します。

<DATABASE_DATA>
    データベース参照名
    データベース種別
</DATABASE_DATA>

データベース参照名（要素名：DB_NAME）

DB Connectorのデータベース参照名を指定します。

DBアダプタ実行時に，ここで指定した値を元にアプリケーション統合属性ファイルのリソース参照を検索するため，アプリケーション統合属性ファイルのres-ref-name要素指定値と同じ値を指定してください。

dynamic属性にYが設定されている場合はこの要素の値は省略できます。また，この要素の値がすでに設定されていた場合は指定を無視します。

<DB_NAME dynamic="Y|N">データベース参照名</DB_NAME>

dynamic

接続先を動的に変更するかどうかを指定します。

接続先を動的に変更する場合はYを，動的に変更しない場合はNを指定します。指定を省略した場合は，Nが指定されたときと同じ動作になります。

データベース種別（要素名：DB_TYPE）

データベースの種別として次のどれかを指定します。

HIRDB

DBMSとしてHiRDBを使用する場合（DB ConnectorとしてDBConnector_DABJ_CP/XA.rarを使用する場合）に指定します。

HIRDB-TYPE4

DBMSとしてHiRDBを使用する場合（DB ConnectorとしてDBConnector_HiRDB_Type4_CP/XA.rarを使用する場合）に指定します。

ORACLE

DBMSとしてOracleを使用する場合（DB ConnectorとしてDBConnector_DABJ_CP/XA.rarを使用する場合）に指定します。

ORACLE-THIN

DBMSとしてOracleを使用する場合（DB ConnectorとしてDBConnector_Oracle_CP/XA.rarを使用する場合）に指定します。

MYSQL

DBMSとしてMySQLを使用する場合（DB ConnectorとしてDBConnector_MySQL_CP.rarを使用する場合）に指定します。J2EEサーバの互換モードが推奨モードの場合は，Amazon Aurora MySQLも使用できます。

POSTGRESQL

DBMSとしてPostgreSQLを使用する場合（DB ConnectorとしてDBConnector_PostgreSQL_CP.rarを使用する場合）に指定します。J2EEサーバの互換モードが推奨モードの場合は，Amazon Aurora PostgreSQLも使用できます。

<DB_TYPE>データベース種別</DB_TYPE>

SQL情報（要素名：SQL_DATA）

下位の要素（SQL識別子およびSQL実行文）で，実行するSQLの情報を指定します。

<SQL_DATA encoding="hexBinary|base64Binary">
    SQL識別子
        SQL実行文
</SQL_DATA>

encoding

バイナリデータのエンコード・デコード形式を指定します。

hexBinary形式でエンコードまたはデコードする場合はhexBinaryを，base64Binary形式でエンコードまたはデコードする場合はbase64Binaryを指定します。指定を省略した場合は，hexBinaryが指定されたときと同じ動作になります。

なお，この属性が有効になるのは，data_type属性に次のデータ型が指定された場合だけです。

・HiRDBの場合：LONGVARBINARY

・Oracleの場合：VARBINARY，LONGVARBINARY，BLOB

・MySQLの場合：BINARY，VARBINARY，LONGBARBINARY

・PostgreSQLの場合：BINARY

注意事項

バイナリデータをデータ変換する場合，SQLオペレーション定義ファイルのencoding属性に指定した値とバイナリフォーマット定義ファイルに指定したエンコード・デコード形式を合わせてください。形式が異なる場合の動作は保証されません。

参考

09-50より前の環境からDBアダプタをバージョンアップした場合に，エンコード・デコード形式をbase64binaryに変更する手順を次に示します。

開発環境でバイナリフォーマット定義ファイルを再作成します。

SQLオペレーション定義ファイルを修正（エンコード・デコード形式を設定）します。

修正したSQLオペレーション定義ファイルを使用してcsamkxmlsコマンドでXMLスキーマを生成します。

XMLスキーマとバイナリフォーマット定義ファイルを開発環境でDBアダプタに設定します。

開発環境でマッピング定義を再設定します。

開発環境で修正したSQLオペレーション定義ファイルをDBアダプタに設定します。

DBアダプタを再配備します。

SQL識別子（要素名：任意((1〜256文字))）

実行するSQLを識別するための要素です。この要素を省略した場合，SQL文を実行しません。下位の引数要素でSQL実行文を指定します。属性としてout_maxOccursを指定できます。また，実行するSQL命令の数にあわせて複数回指定できます。

なお，SQL識別子の名称として「DBadapter」および「DBA_MULTI_SQL」は指定できません。

<SQL識別子 out_maxOccurs="検索結果出力最大件数">
    SQL実行文
</SQL識別子>
    ：

out_maxOccurs

検索結果の最大出力件数を指定します。省略した場合は1000が設定されます。0を指定した場合は，2147483647が設定されます。

SQL実行文

SQL実行文を指定します。SQLの構文は，利用するデータベースの仕様に従います。SQL実行文の表や列の名称およびデータなどの可変部分（引数要素）を指定します。

なお，SQL文の終わりを示すセミコロン（;）は必要ありません。

SQL命令 <引数要素名 dba_inf＝"引数の種別" data_type="データ型"/>

なお，SQL実行文の先頭は，「SELECT△」または次のどれかを指定します（△は半角スペース）。

「INSERT△」

「UPDATE△」

「DELETE△」

ただし，「SELECT△」，または「INSERT△」，「UPDATE△」，「DELETE△」のどれかの直後に引数要素がある場合，「△」（半角スペース）は省略できます。

指定内容を次に示します。

SQL命令

指定できるSQL命令はSELECT，またはINSERT，UPDATE，DELETEです。

SELECTで検索できるデータ型について，次の表に示します。

表3‒3　SELECTで検索できるデータ型（HiRDBの場合）

HiRDBのデータ型

検索の可否

HiRDB Type4 JDBC Driverの場合

INT〔EGER〕

○

SMALLINT

○

〔LARGE〕 DEC〔IMAL〕

NUMERIC

○

FLOAT

DOUBLE PRECISION

○

SMALLFLT

REAL

○

CHAR〔ACTER〕

○

VARCHAR

CHAR〔ACTER〕VARYING

○

NCHAR

NATIONAL CHAR

○

NVARCHAR

NATIONAL CHAR〔ACTER〕VARYING

NCHAR VARYING

○

MCHAR

○

MVARCHAR

○

DATE

○

TIME

○

TIMESTAMP

○

INTERVAL YEAR TO DAY

−

INTERVAL HOUR TO SECOND

−

BLOB

BINARY LARGE OBJECT

○

BINARY

○

BOOLEAN

−

（凡例）

○：SELECTで検索できます。

−：SELECTで検索できません。

注

〔 〕で囲まれた部分は省略できることを意味します。

表3‒4　SELECTで検索できるデータ型（Oracleの場合）

Oracleのデータ型

検索の可否

Oracle JDBC Thin Driverの場合

VARCHAR2

○

NVARCHAR2

○

NUMBER

○

LONG

○

DATE

○※

BINARY_FLOAT

−

BINARY_DOUBLE

−

TIMESTAMP

−

TIMESTAMP WITH TIME ZONE

−

TIMESTAMP WITH LOCAL TIME ZONE

−

INTERVAL YEAR TO MONTH

−

INTERVAL DAY TO SECOND

−

RAW

○

LONG RAW

○

ROWID

○

UROWID

−

CHAR

○

NCHAR

○

CLOB

○

NCLOB

○

BLOB

○

BFILE

−

ユーザ定義型（オブジェクト型）

−

ユーザ定義型（REFデータ型）

−

ユーザ定義型（VARRAY）

−

ユーザ定義型（ネストした表）

−

（凡例）

○：SELECTで検索できます。

−：SELECTで検索できません。

注※

サポート対象バージョンのOracle JDBC Thin Driverを利用する場合，論理J2EEサーバの定義でJVMの起動パラメタとして次の値を設定する必要があります。

-Doracle.jdbc.mapDateToTimestamp=false

起動パラメタの設定の詳細については，マニュアル「アプリケーションサーバ 運用管理ポータル操作ガイド」の「10.8.23　起動パラメタの設定（J2EEサーバ）」を参照してください。

表3‒5　SELECTで検索できるデータ型（MySQLの場合）

MySQLのデータ型

検索の可否

TINYINT

○

SMALLINT

△

MEDIUMINT

△

INT[EGER]

○

BIGINT

○

DECIMAL

○

NUMERIC

△

FLOAT

△

DOUBLE

○

BIT

○※1

DATE

○

TIMESTAMP

○

TIME

○

CHAR

○

VARCHAR

○

VARBINARY

○

TINYBLOB

△

BLOB

△

MEDIUMBLOB

△

LONGBLOB

△

TINYTEXT

△

TEXT

△

MEDIUMTEXT

△

LONGTEXT

△

DATETIME

△

ENUM

△

SET

△

JSON

△

BINARY

○

YEAR

−※2

WKT（Well-KnownText）形式

−※2

WKB（Well-KnownBinary）形式

−※2

（凡例）

○：SELECTで検索できます。

△：SELECTで検索できますが，data_typeは別の文字列を指定します。指定できるdata_typeは，「表3-9 data_typeに指定できるデータ型（MySQLの場合）」を参照してください。

−：SELECTで検索できません。

注※1

サイズが1の場合は使用できますが，1より大きなサイズの場合は使用できません。

注※2

SELECTで検索してもエラーにはなりません。ただし，検索結果は保証できません。

表3‒6　SELECTで検索できるデータ型（PostgreSQLの場合）

PostgreSQLのデータ型

検索の可否

smallint

○

integer

○

bigint

○

numeric

○

decimal

△

real

○

double precision

△

smallserial

△

serial

△

bigserial

△

varchar

○

character varying

△

char

○

character

△

text

△

bytea

△

timestamp [ without time zone ]

○

timestamp with time zone

△

date

○

time [ without time zone ]

○

time with time zone

△

boolean

△

bit

−※

money

−※

interval [ fields ] [ (p) ]

−

point

−

line

−

lseg

−

box

−

path

−

polygon

−

circle

−

cidr

−

inet

−

macaddr

−

macaddr8

−

bit varying (n)

−

tsvector

−

tsquery

−

uuid

−

xml

−

json

−

jsonb

−

pg_lsn

−

txid_snapshot

−

列挙型

−※

ドメイン型

−※

（凡例）

○：SELECTで検索できます。

△：SELECTで検索できますが，data_typeは別の文字列を指定します。指定できるdata_typeは，「表3-10 data_typeに指定できるデータ型（PostgreSQLの場合）」を参照してください。

−：SELECTで検索できません。

注※

SELECTで検索してもエラーにはなりません。ただし，検索結果は保証できません。

●ポイント

DBアダプタで検索できないデータ型でも，データベースが提供する関数（ファンクション）を使用して検索できるデータ型に変換できれば，検索できるようになります。

OracleのTIMESTAMP型（列名：c_ts）をTO_CHARファンクションでVARCHAR2型に変換して検索する場合の例を次に示します。

SELECT TO_CHAR(c_ts) FROM 表名

引数要素名

任意の引数要素の名称を指定します。複数の引数要素を同一名称で指定した場合，同じ引数として扱われます。同一名称の引数要素で，それぞれの属性dba_infおよびdata_typeに異なる値を設定した場合はエラーになります。

dba_inf＝"引数の種別"

引数の種別を指定します。

引数の種別の種類として指定できる内容を次に示します。

table

引数がデータベースに実在するテーブルの名称の場合に指定します。引数として利用するデータはstring型です。

column

引数がデータベースに実在する列の名称の場合に指定します。引数として利用するデータはstring型です。

data

引数がテーブルおよび列の名称以外のデータの場合に指定します。この値を指定した場合，引数として利用するデータのデータ型を属性data_typeに指定する必要があります。また，引数として利用するデータを表3-3および表3-4に示すJavaのデータ型またはクラスに変換して，SQL文に埋め込みます。引数として利用するデータを変換できない場合は，エラーとなります。

なお，この値を指定した場合，引数要素をINパラメタ（?パラメタまたはバインド変数）として扱います。SQL文中にINパラメタを指定できる個所は，利用するデータベースの仕様に従います。指定できない個所にINパラメタを定義した場合，エラーになります。なお，SQLの実行時に，引数要素は「?」に置き換えられて実行されます。

preset

引数がテーブルおよび列の名称以外のデータの場合に指定します。この値を指定した場合，引数として利用するデータをそのままSQL文に埋め込みます。引数として利用するデータはstring型です。

data_type="データ型"

属性dba_infにdataを指定した場合に，引数として利用するデータの型を指定します。データベースのデータ型とdata_typeに指定できるデータの型の対応を次の表に示します。

表3‒7　data_typeに指定できるデータ型（HiRDBの場合）

HiRDBのデータ型

data_typeに指定できるデータ型

引数として利用するデータの変換先のデータ型およびクラス

INT〔EGER〕

INTEGER

int

SMALLINT

SMALLINT

short

〔LARGE〕 DEC〔IMAL〕

NUMERIC

DECIMAL

java.math.BigDecimal

FLOAT

DOUBLE PRECISION

FLOAT

double

SMALLFLT

REAL

REAL

float

CHAR〔ACTER〕

CHAR

java.lang.String

NCHAR

NATIONAL CHAR

MCHAR

VARCHAR

CHAR〔ACTER〕VARYING

VARCHAR

java.lang.String

NVARCHAR

NATIONAL CHAR〔ACTER〕VARYING

NCHAR VARYING

MVARCHAR

DATE

DATE

java.sql.Date

TIME

TIME

java.sql.Time

TIMESTAMP

TIMESTAMP

java.sql.Timestamp

BLOB

BINARY LARGE OBJECT

LONGVARBINARY

byte[]

BINARY

LONGVARBINARY

byte[]

注

〔 〕で囲まれた部分は省略できることを意味します。

表3‒8　data_typeに指定できるデータ型（Oracleの場合）

Oracleのデータ型

data_typeに指定できるデータ型

引数として利用するデータの変換先のデータ型およびクラス

LONG

LONGVARCHAR

java.io.Reader

NUMBER

NUMERIC

java.math.BigDecimal

VARCHAR2

VARCHAR

java.lang.String

NVARCHAR2

−

ROWID

CHAR

CHAR

CHAR

NCHAR

−

CLOB

CLOB※1

Oracle JDBC Thin Driverの場合

java.io.Reader

NCLOB

−

DATE

DATE※2

java.sql.Date

TIME※3

java.sql.Time

TIMESTAMP※4

java.sql.Timestamp

RAW

VARBINARY

byte[]

LONG RAW

LONGVARBINARY

byte[]

BLOB

BLOB

byte[]

（凡例）

−：指定できません。

注※1

JDBCドライバのバージョンが10.2の場合にだけ指定できます。10.2以外のバージョンのJDBCドライバを使用した場合，データが破損するおそれがあります。

注※2

設定する値の形式が「yyyy-mm-dd」の場合に指定します。

注※3

設定する値の形式が「hh:mm:ss」の場合に指定します。

注※4

設定する値の形式が「yyyy-mm-dd hh:mm:ss」の場合に指定します。

表3‒9　data_typeに指定できるデータ型（MySQLの場合）

MySQLのデータ型

data_typeに指定できるデータ型

TINYINT

TINYINT

SMALLINT，MEDIUMINT，INT[EGER]

INTEGER

INT[EGER] (UNSIGNED)

BIGINT

BIGINT

BIGINT

BIGINT(UNSIGNED)

DECIMAL

DECIMAL

NUMERIC

DECIMAL

FLOAT

REAL

DOUBLE

DOUBLE

BIT

BIT

DATE

DATE

TIMESTAMP，DATETIME

TIMESTAMP

TIME

TIME

CHAR，ENUM，SET

CHAR

VARCHAR，TINYTEXT

VARCHAR

BINARY

BINARY

VARBINARY，TINYBLOB

VARBINARY

BLOB，MEDIUMBLOB，LONGBLOB

LONGVARBINARY

TEXT，MEDIUMTEXT，LONGTEXT，JSON

LONGVARCHAR

WKT（Well-KnownText）形式

−

WKB（Well-KnownBinary）形式

−

（凡例）

−：指定できません。

表3‒10　data_typeに指定できるデータ型（PostgreSQLの場合）

PostgreSQLのデータ型

data_typeに指定できるデータ型

bigint，bigserial

BIGINT

bit

−

bit varying [ (n) ]

−

boolean

BOOLEAN

box

−

bytea

BINARY

character [ (n) ]

CHAR

character varying [ (n) ]

VARCHAR

cidr

−

circle

−

date

DATE

double precision

DOUBLE

inet

−

integer

INTEGER

interval [ fields ] [ (p) ]

−

json

−

jsonb

−

line

−

lseg

−

macaddr

−

macaddr8

−

money

−

numeric [ (p, s) ]

DECIMAL

path

−

pg_lsn

−

point

−

polygon

−

real

REAL

smallint

SMALLINT

smallserial

SMALLINT

serial

INTEGER

text

VARCHAR

time [ (p) ] [ without time zone ]

TIME

time [ (p) ] with time zone

TIME

timestamp [ (p) ] [ without time zone ]

TIMESTAMP

timestamp [ (p) ] with time zone

TIMESTAMP

tsquery

−

tsvector

−

txid_snapshot

−

uuid

−

xml

−

（凡例）

−：指定できません。

複数SQL文実行情報（要素名：MULTI_SQL_DATA）

サービスリクエスタからの1回のサービス部品実行要求で複数のSQL文を実行する場合に，実行するSQL文の最大個数を，下位の要素（MAX_SQL_NO）で指定します。単一のSQL文を実行する場合には，この要素は省略できます。

<MULTI_SQL_DATA>
    実行するSQL文の最大個数
</MULTI_SQL_DATA>

実行するSQL文の最大個数（要素名：MAX_SQL_NO）

実行するSQL文の最大個数（サービスリクエスタからの要求電文のDBA_MULTI_SQL要素の最大出現回数）を，1〜2,147,483,647の範囲内で指定します。省略した場合の値は「1024」になります。

<MAX_SQL_NO>1回のサービス部品実行要求で実行するSQL文の最大個数</MAX_SQL_NO>

●作成例

SQLオペレーション定義ファイルの作成例を次に示します。

作成例の条件

データベース参照名：DB_SERVER1

スキーマ名：DBA

テーブル名：受注表

テーブル構成：

受注番号

（INTEGER）

得意先コード（CHAR）

商品コード

（CHAR）

受注個数

（INTEGER）

1

AA001

0001

5

2

AB002

0001

1

3

AA001

0102

3

4

XA005

0103

1

5

AA001

0105

1

実行するSQLの形式：

OPERATION1：SELECT * FROM DBA.受注表 WHERE <val1> <val2> <val3>
OPERATION2：SELECT <val1> SUM(<val2>) FROM DBA.受注表 GROUP BY <val3>
OPERATION3：INSERT INTO DBA.受注表 VALUES(<val1>,<val2>,<val3>,<val4>)

SQLオペレーション定義ファイルの作成例（単一のSQL文を実行する場合）

<?xml version="1.0" encoding="UTF-8" ?>
<DBadapter_SQL_OPERATION>
　　<DATABASE_DATA>
　　　　<DB_NAME>DB_SERVER1</DB_NAME>
　　　　<DB_TYPE>HIRDB</DB_TYPE>
　　</DATABASE_DATA>
　　<SQL_DATA>
　　　　<OPERATION1>
　　　　　　SELECT * FROM DBA.受注表 WHERE <val1 dba_inf="column"/>
　　　　　　　　<val2 dba_inf="preset"/>
　　　　　　　　<val3 dba_inf="data" data_type="CHAR"/>
　　　　</OPERATION1>
　　　　<OPERATION2>
　　　　　　SELECT <val1 dba_inf="column"/> SUM(<val2 dba_inf="column"/>)
　　　　　　　　FROM DBA.受注表 GROUP BY <val3 dba_inf="column"/>
　　　　</OPERATION2>
　　　　<OPERATION3>
　　　　　　INSERT INTO DBA.受注表
　　　　　　　　VALUES(<val1 dba_inf="data" data_type="INTEGER" />,
　　　　　　　　<val2 dba_inf="data" data_type="CHAR"/>,
　　　　　　　　<val3 dba_inf="data" data_type="CHAR"/>,
　　　　　　　　<val4 dba_inf="data" data_type="INTEGER"/>)
　　　　</OPERATION3>
　　</SQL_DATA>
</DBadapter_SQL_OPERATION>

SQLオペレーション定義ファイルの作成例（複数のSQL文を実行する場合）

次の例では，1回のサービス部品実行要求で実行するSQL文の最大個数を「10」にしています。

<?xml version="1.0" encoding="UTF-8" ?>
<DBadapter_SQL_OPERATION>
　　<DATABASE_DATA>
　　　　<DB_NAME>DB_SERVER1</DB_NAME>
　　　　<DB_TYPE>HIRDB</DB_TYPE>
　　</DATABASE_DATA>
　　<SQL_DATA>
　　　　<OPERATION1>
　　　　　　SELECT * FROM DBA.受注表 WHERE <val1 dba_inf="column"/>
　　　　　　　　<val2 dba_inf="preset"/>
　　　　　　　　<val3 dba_inf="data" data_type="CHAR"/>
　　　　</OPERATION1>
　　　　<OPERATION2>
　　　　　　SELECT <val1 dba_inf="column"/> SUM(<val2 dba_inf="column"/>)
　　　　　　　　FROM DBA.受注表 GROUP BY <val3 dba_inf="column"/>
　　　　</OPERATION2>
　　　　<OPERATION3>
　　　　　　INSERT INTO DBA.受注表
　　　　　　　　VALUES(<val1 dba_inf="data" data_type="INTEGER" />,
　　　　　　　　<val2 dba_inf="data" data_type="CHAR"/>,
　　　　　　　　<val3 dba_inf="data" data_type="CHAR"/>,
　　　　　　　　<val4 dba_inf="data" data_type="INTEGER"/>)
　　　　</OPERATION3>
　　</SQL_DATA>
　　<MULTI_SQL_DATA>
　　　　<MAX_SQL_NO>10</MAX_SQL_NO>
　　</MULTI_SQL_DATA>
</DBadapter_SQL_OPERATION>

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

DBアダプタの場合，WSDLが生成されないため，サービス部品の電文フォーマットも自動生成されません。そのため，サービス部品の電文フォーマット（DBアダプタ用のXMLフォーマット定義ファイル）を作成して，設定する必要があります。

(a)　DBアダプタ用のXMLフォーマット定義ファイルの作成

DBアダプタ用のXMLフォーマット定義ファイルを作成するには，「(1)　SQLオペレーション定義ファイルの作成」で作成したSQLオペレーション定義ファイルの名称を-oオプションに指定してcsamkxmlsコマンドを実行します。

●コマンドの実行例

csamkxmlsコマンドの実行形式を次に示します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥bin¥csamkxmls -o <SQLオペレーション定義ファイルの名称> -x <DBアダプタ用のXMLフォーマット定義ファイルの名称>

csamkxmlsコマンドの詳細については，マニュアル「サービスプラットフォーム リファレンス」の「csamkxmls（DBアダプタ用のXMLフォーマット定義ファイルの生成）」を参照してください。

注意事項

csamkxmlsコマンドを実行したとき，SQLオペレーション定義ファイルのファイルサイズが大きいと，「java.lang.OutOfMemoryError」のメッセージが表示されることがあります。

このエラーが表示された場合，環境変数HCSCDBA_XMXに，現在のJavaVMのメモリ割り当てサイズよりも大きい値を設定して，再度コマンドを実行してください。

環境変数HCSCDBA_XMXには，JavaVMのヒープサイズ（-Xmx）に設定される値（単位：Mbyte）を指定します。省略した場合，JavaVMのヒープサイズはJavaコマンドを実行する環境に依存します。

設定例

set HCSCDBA_XMX=64

注意事項

DBアダプタ用のXMLフォーマット定義ファイルは，SQLオペレーション定義ファイルで指定したSQL識別子の数だけフォーマットを含みます。単一のSQL文を実行する場合，データ変換を定義するときには，SQL識別子ごとにオペレーションを変更（サービスアダプタ定義画面でオペレーションを追加）して定義する必要があります。複数のSQL文を実行する場合，データ変換を定義するときには，SQL識別子ごとにオペレーションを変更して定義する必要はありません。

データ変換の定義については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。サービスアダプタ定義画面については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

(b)　DBアダプタ用のXMLフォーマット定義ファイルの作成例

DBアダプタ用のXMLフォーマット定義ファイルの作成例を次に示します。

図3‒3　（例1）SELECT文を使用し，WHERE句の値を引数化したい場合

図3‒4　（例2）SELECT文を使用し，取得する列名も引数化したい場合

図3‒5　（例3）SELECT文を使用し，WHERE句の列名や式も引数化したい場合

(3)　サービスアダプタ定義画面での操作

DBアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］および［サービスID］を必要に応じて編集します。

サービス名は，DBアダプタを追加したときに入力した名称から異なる名称に変更したい場合に入力してください。

サービスIDは，運用管理者がHCSCサーバの操作（オペレーション）を行うときに必要になる識別情報です。サービス名との関連がわかるような形で命名することを推奨します。

サービス部品制御情報の［追加］ボタンをクリックして，オペレーションを追加します。

オペレーション名は，サービスリクエスタからHCSCサーバを呼ぶときに必要になる識別情報です。

サービス部品制御情報の［システム例外をフォルトに変換する］チェックボックスを必要に応じてチェックします。

オペレーション情報の［通信モデル］のドロップダウンリストから，「同期」または「非同期」を選択します。

応答が必要な場合は「同期」を選択してください。

要求電文について，手順7.から手順16.までを実施します。

次に示す操作をします。

標準電文のフォーマットを指定する場合

手順8.〜10.を実施して，手順11.に進みます。

標準電文のフォーマットを指定しない場合

手順11.に進みます。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

指定できる電文フォーマットの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。なお，外部のXMLスキーマを参照している電文フォーマットは指定できません。

標準電文の［表示］ボタンをクリックします。

標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

サービス部品電文の［参照］ボタンをクリックして，［電文フォーマット］にサービス部品電文のフォーマットを指定します。

ここには，作成したDBアダプタ用のXMLフォーマット定義ファイルを指定します。

［電文フォーマット］に指定できる電文種別は，XML電文だけです。

サービス部品電文の［表示］ボタンをクリックします。

サービス部品電文のフォーマットが表示されます。必要に応じて指定したサービス部品電文のフォーマットを確認してください。

必要に応じて，データ変換定義を行います。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順14.〜16.を実施して，手順17.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順17.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。

なお，初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

また，電文フォーマットを変更した場合は，電文フォーマットの変更を反映するかを確認するダイアログが表示されます。電文フォーマットを変更した場合の手順は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.2　電文フォーマットを変更した場合の定義手順」を参照してください。

標準電文とサービス部品電文の内容をマッピングします。

手順5.の［通信モデル］で「同期」を選択した場合，応答電文についても同様に，手順7.から手順16.までを実施します。

サービスアダプタ定義（詳細）タブをクリックします。

サービスアダプタ（EJB-JARファイル）および独自定義ファイルの名称を確認します。

サービスアダプタ（EJB-JARファイル）の名称が「cscdba_ejb.jar」，独自定義ファイルの名称が「cscadapter_property.xml」であることを確認してください。

ユーティリティクラス（JARファイル）の設定は不要です。

独自定義ファイルの［追加］ボタンをクリックして，次のファイルを追加します。

SQLオペレーション定義ファイル

[csa_sql_<任意の名称>.xml]

(4)　アプリケーション統合属性ファイルの編集

サービスプラットフォームが提供するテンプレートファイルを利用して，アプリケーション統合属性ファイルを編集します。

アプリケーション統合属性ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「cscadapter_property.xml」を選択し，［編集］ボタンをクリックします。

アプリケーション統合属性ファイルを編集するためのエディタが起動します。

エディタ上でアプリケーション統合属性ファイルを編集します。

アプリケーション統合属性ファイルによるプロパティ設定については，マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「9.2　アプリケーション統合属性ファイルによるプロパティ設定」を参照してください。アプリケーション統合属性ファイルの詳細については，マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション／リソース定義)」の「3.1　アプリケーション統合属性ファイル」を参照してください。

アプリケーション統合属性ファイルに設定する項目について，次の表に示します。

表3‒11　アプリケーション統合属性ファイルの設定項目

タグ

説明

設定内容

変更

可否

設定例

<hitachi-application-all-property>

ルートタグ

−

否

−

　<ejb-jar>

EJBに関する情報の定義の開始タグ

−

否

−

　　<hitachi-session-bean-property>

SessionBeanの属性の定義の開始タグ

−

否

−

　　　<resource-ref>

リソース参照についての定義の開始タグ※1

−

否

−

　　　　<res-ref-name>

リソース参照名

SQLオペレーション定義ファイルの<DB_NAME>タグに指定したデータベース参照名

可

DB_SERVER1

　　　　<res-sharing-scope>

参照したリソースを共有するかどうかの指定

DBアダプタが参照するDB Connectorを共有するかどうかの指定

可

Shareable

　　　　<linked-to>

データソース表示名

DB Connectorのプロパティ定義（display-name）に指定したリソースアダプタの名称

可

DB_Connector_for_HiRDB_Type4_XAやDB_Connector_for_Oracle_XAなど※2

display-nameを変更した場合は変更後の名称。

　　　</resource-ref>

リソース参照についての定義の終了タグ

−

否

−

　　　<container-transaction>

コンテナのトランザクションについての定義の開始タグ

−

否

−

　　　　<trans-attribute>

メソッドに割り当てるトランザクション属性

トランザクションを引き継ぐRequired

可

Required※3

　　　</container-transaction>

コンテナのトランザクションについての定義の終了タグ

−

否

−

　　　<session-runtime>

runtimeの定義の開始タグ

−

否

−

　　　　<stateless>

statelessの定義の開始タグ

−

否

−

　　　　　<pooled-instance>

プール内のインスタンスについての定義の開始タグ

−

否

−

　　　　　　<minimum>

プール内のインスタンスの最小数

DBアダプタのインスタンスの最小数

可

0または1≦minimum≦maximum

　　　　　　<maximum>

プール内のインスタンスの最大数

DBアダプタのインスタンスの最大数

可

0（無制限）または1≦maximum≦maximum-sessions

　　　　　</pooled-instance>

プール内のインスタンスについての定義の終了タグ

−

否

−

　　　　</stateless>

statelessの定義の終了タグ

−

否

−

　　　</session-runtime>

runtimeの定義の終了タグ

−

否

−

　　</hitachi-session-bean-property>

SessionBeanの属性の定義の終了タグ

−

否

−

　</ejb-jar>

EJBに関する情報の定義の終了タグ

−

否

−

</hitachi-application-all-property>

ルートタグ

−

否

−

（凡例）

−：変更できません。

注※1

SQLオペレーション定義ファイルのdynamic属性にYが設定されている場合は，このタグおよびその子要素の定義を省略してください。

注※2

display-nameを変更した場合は，変更後の名称を指定してください。

注※3

ビジネスプロセスとは別にDBアダプタのトランザクションを開始する場合は，HCSCサーバランタイム定義ファイルのdba-separate-transactionプロパティにtrue，またはSQLオペレーション定義ファイルの「dba_separate_transaction」属性にYを設定し，かつアプリケーション統合属性ファイルの<trans-attribute>タグにRequiresNewを設定してください。

注意事項

表3-11で示した設定・変更できる項目以外は，設定・変更しないでください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(5)　データ変換

要求電文のデータ変換を行う場合，サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し，データ変換定義画面でデータ変換を定義します。応答電文のデータ変換を行う場合，サービス部品から返される電文に標準電文を設定し，データ変換定義画面でデータ変換を定義します。

(a)　データ変換が必要なケース

サービスリクエスタの電文の形式と，DBアダプタ電文の形式が異なる場合，データ変換が必要です。

次のような場合は，標準電文のフォーマットを指定してデータ変換を定義します。

DBアダプタに指定した電文フォーマット（XMLフォーマット定義ファイル）と異なる電文フォーマットでDBアダプタを呼びたい場合

DBアダプタに指定した電文フォーマット（XMLフォーマット定義ファイル）と異なる電文フォーマットでDBアダプタからの応答を受け取りたい場合

(b)　データ変換の定義

要求電文のデータ変換をする場合

サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し，データ変換定義画面でデータ変換を定義します。

要求電文については，DBアダプタに指定した電文フォーマット（XMLフォーマット定義ファイル）のDBA_IN_DATAと対応付けます。

応答電文のデータ変換をする場合

サービス部品から返される電文に標準電文を設定し，データ変換定義画面でデータ変換を定義します。

応答電文については，DBアダプタに指定した電文フォーマット（XMLフォーマット定義ファイル）のDBA_OUT_DATAと対応付けます。

データ変換の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(6)　EARファイルの入れ替え

DBアダプタの追加時にEARファイルを設定します。DBアダプタを追加したあとにEARファイルを修正する必要がある場合，DBアダプタのサービスアダプタ定義画面で，EARファイルを入れ替えます。

DBアダプタのサービスアダプタ定義画面で，EARファイルを入れ替える手順を次に示します。

ツリービューのサービス定義一覧で，EARファイルを入れ替えるDBアダプタをダブルクリックします。

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

画面下部の［サービスアダプタ定義（詳細）］タブをクリックします。

サービスアダプタ定義（詳細）画面が表示されます。

サービスアダプタ定義（詳細）画面で，［参照］ボタンをクリックします。

入れ替えるEARファイルを指定します。

(7)　サービスリクエスタの作成

DBアダプタに要求を出すサービスリクエスタは，要求電文を受け付ける標準受付の種類によって作成方法が異なります。それぞれの標準受付の種類ごとの作成方法を参照して作成してください。参照先を次の表に示します。

表3‒12　DBアダプタに要求を出すサービスリクエスタの作成方法

標準受付の種類

参照先

同期受付

Webサービス（SOAP1.1）

マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「9.2　標準の同期受付（Webサービス）に要求を出すサービスリクエスタ（SOAP通信基盤）」

Webサービス（SOAP1.2）

マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「9.3　標準の同期受付（Webサービス）に要求を出すサービスリクエスタ（JAX-WSエンジン）」

SessionBean

マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「9.4　標準の同期受付（SessionBean）に要求を出すサービスリクエスタ」

非同期

MDB（WS-R）

マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「9.5　標準の非同期受付（MDB（WS-R））に要求を出すサービスリクエスタ」

MDB（DBキュー）

マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「9.6　標準の非同期受付（MDB（DBキュー））に要求を出すサービスリクエスタ」

以降の項では，DBアダプタ電文の形式について説明します。

DBアダプタ用のサービスリクエスタの電文の形式が，DBアダプタ電文の形式と異なる場合，データ変換が必要です。データ変換の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(a)　要求電文の形式

要求電文は，XML文書形式で作成します。

要素，属性およびテキストデータは，W3CのXMLの仕様に従って指定します。XML文書で使用できない「<」，「>」，「&」などの文字を使用する場合，エスケープするか，CDATAセクションを利用する必要があります。

要求電文の形式は，単一のSQL文の実行を要求する場合と，複数のSQL文の実行を要求する場合とで異なります。

要求電文の形式を次に示します。なお，斜体の文字は可変値を表します。

単一のSQL文の実行を要求する場合

ルート要素（DBadapter要素）の下位要素としてSQL識別子要素を記述します。記述できるSQL識別子要素の数は，1つだけです。

<DBadapter>
  <SQL識別子 out_maxOccurs="検索結果出力最大件数">
    <DBA_IN_DATA>
      <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
        ：
    </DBA_IN_DATA>
  </SQL識別子>
</DBadapter>

複数のSQL文の実行を要求する場合

ルート要素（DBadapter要素）の下位要素としてDBA_MULTI_SQL要素を記述します。複数のDBA_MULTI_SQL要素を記述できます。記述できる数は，SQLオペレーション定義ファイルのMAX_SQL_NO要素に設定した値以下です。

<DBadapter>
  <DBA_MULTI_SQL>
    <SQL識別子 out_maxOccurs="検索結果出力最大件数">
      <DBA_IN_DATA>
        <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
          ：
      </DBA_IN_DATA>
    </SQL識別子>
  </DBA_MULTI_SQL>
    ：
</DBadapter>

(b)　要求電文の要素と属性

要求電文の要素と属性について次の表に示します。なお，要素および属性の指定は，SQLオペレーション定義ファイルの設定値に依存します。SQLオペレーション定義ファイルについては「(1)　SQLオペレーション定義ファイルの作成」を参照してください。

表3‒13　要求電文の要素と属性

要素名・属性名

種別

内容と設定値

設定値の型

省略可否

DBadapter

要素

ルート要素です。次の下位要素があります。

単一SQL文の実行要求の場合

下位要素はSQL識別子要素です。

複数SQL文の実行要求の場合

下位要素はDBA_MULTI_SQL要素です。

−

×

DBA_MULTI_SQL

要素

サービスリクエスタからの要求が，複数のSQL文を実行する要求であることを示す要素です。SQL識別子以降の下位要素で入力情報を設定します。

SQLオペレーション定義ファイルのMAX_SQL_NO要素に設定した値以内で複数記述できます。

注

単一のSQL文の実行を要求する場合，この要素は記述できません。

−

○

SQL識別子

要素

SQL識別子にはSQLオペレーション定義ファイルで指定したSQL識別子の名称を指定します。

DBA_IN_DATA以降の下位要素で，入力情報を設定します。

属性にout_maxOccursがあります。

−

○

　out_maxOccurs

属性

検索結果出力最大件数を指定します。0以上の値を指定します。

省略した場合

SQLオペレーション定義ファイルで指定したout_maxOccursの値が設定されます。

「0」を設定した場合

最大件数が2,147,483,647件に設定されます。

xsd:int

○

DBA_IN_DATA

要素

引数要素以降の下位要素で，SQLオペレーション定義ファイルで設定した引数要素のデータを設定します。

−

×

引数要素

要素

引数要素にはSQLオペレーション定義ファイルで指定した引数要素の名称を指定します。

この要素には，SQLオペレーション定義ファイルで指定した引数要素のデータが格納されます。

属性にnulldataがあります。

注

SQLオペレーション定義ファイルの設定で，該当するSQL識別子に引数要素がない場合，この要素は設定できません。

xsd:stringまたはdata_typeの設定値※

×

　nulldata

属性

SQLオペレーション定義ファイルで指定したdba_inf（引数の種別）が「data」の場合に，空要素のデータを「null」として扱うかどうかを指定します（dba_infが「data」以外の場合は，指定できません）。

「null」として扱う場合

「"Y"」を指定します。

「null」として扱わない場合

「"N"」を指定します。

なお，省略した場合，この属性には「"N"」が設定されます。

xsd:string

{Y｜N}

○

（凡例）

−：設定値はありません。

○：省略できます。

×：省略できません。

注※

格納する引数要素の型は，SQLオペレーション定義ファイルで，該当する引数要素に指定したdba_inf（引数の種別）によって異なります。dba_infがtable，columnまたはpresetの場合，xsd:string型になります。dba_infがdataの場合，data_type（データ型）の設定値に従ってください。data_typeの設定値と引数要素の型の対応については，「表3-14」および「表3-15」を参照してください。

また，dba_infがdataの場合，引数要素に格納するデータをシングルクォーテーション（'）で囲む必要はありません。

表3‒14　data_typeの設定値と引数要素の型の対応（HiRDBの場合）

data_typeの設定値

引数要素の型

INTEGER

xsd:int※

SMALLINT

xsd:short※

DECIMAL

xsd:string

FLOAT

xsd:double※

REAL

xsd:float※

CHAR

xsd:string

VARCHAR

xsd:string

DATE

xsd:date※

TIME

xsd:string

TIMESTAMP

xsd:string

LONGVARBINARY

xsd:hexBinary

xsd:base64Binary

注※

記述した型に加え，空要素の設定も許可されます。

表3‒15　data_typeの設定値と引数要素の型の対応（Oracleの場合）

data_typeの設定値

引数要素の型

NUMERIC

xsd:string

CHAR

xsd:string

VARCHAR

xsd:string

DATE

xsd:date※

TIME

xsd:string

TIMESTAMP

xsd:string

LONGVARCHAR

xsd:string

CLOB

xsd:string

VARBINARY

xsd:hexBinary

xsd:base64Binary

LONGVARBINARY

xsd:hexBinary

xsd:base64Binary

BLOB

xsd:hexBinary

xsd:base64Binary

注※

記述した型に加え，空要素の設定も許可されます。

表3‒16　data_typeの設定値と引数要素の型の対応（MySQLの場合）

data_typeの設定値

引数要素の型

TINYINT

xsd:short

INTEGER

xsd:int

BIGINT

xsd:long

REAL

xsd:double

DOUBLE

xsd:double

DECIMAL

xsd:string

BIT

xsd:boolean

CHAR

xsd:string

VARCHAR

xsd:string

LONGVARCHAR

xsd:string

VARBINARY

xsd:hexBinary

xsd:base64Binary

LONGVARBINARY

xsd:hexBinary

xsd:base64Binary

DATE

xsd:date

TIMESTAMP

xsd:string

TIME

xsd:string

表3‒17　data_typeの設定値と引数要素の型の対応（PostgreSQLの場合）

data_typeの設定値

引数要素の型

SMALLINT

xsd:short

INTEGER

xsd:int

BIGINT

xsd:long

REAL

xsd:double

DOUBLE

xsd:double

NUMERIC

xsd:string

BIT

xsd:boolean

BINARY

xsd:hexBinary

CHAR

xsd:string

VARCHAR

xsd:string

DATE

xsd:date

TIME

xsd:string

TIMESTAMP

xsd:string

なお，DBアダプタに送信する要求電文で設定する引数要素の値は，次の表のとおりに扱います。

表3‒18　DBアダプタに送信する要求電文での引数要素の扱い

要求電文の引数要素の値

SQLオペレーション定義ファイルの設定値

要求電文のnulldataの属性値

引数要素の扱い

dba_infの属性値

data_typeの属性値

空要素

data

−

"Y"または"△Y△"※

null

"Y"または"△Y△"以外（省略時も含む）

空文字列（""）

data以外

−

−

空文字列（""）

空要素以外

data

CHAR，VARCHAR，LONGVARCHAR，CLOB

−

値の前後の空白文字は削除しません。<引数要素>△ABC△</引数要素>は，空白文字を削除しないで"△ABC△"として扱います。

CHAR，VARCHAR，LONGVARCHAR，CLOB以外

−

値の前後の空白文字を削除します。<引数要素>△123△</引数要素>は，空白文字を削除して"123"として扱います。

data以外

−

−

値の前後の空白文字は削除しません。<引数要素>△ABC△</引数要素>は，空白文字を削除しないで"△ABC△"として扱います。

（凡例）

−：判定の材料ではありません。

△：1つ以上の空白文字（半角空白文字，改行文字，タブ文字）です。

注※

nulldataの属性値の前後の空白文字は無視します。

(c)　応答電文の形式

応答電文は，XML文書形式で出力されます。

なお，検索結果（列名など）にXML文書で使用できない「<」や「&」などの文字が含まれていた場合，「&lt;」や「&amp;」などにエスケープして応答電文に設定されます。そのため，データベースに格納されているデータをエスケープする必要はありません。

応答電文の形式は，単一のSQL文の実行要求に対する応答の場合と，複数のSQL文の実行要求に対する応答の場合とで異なります。

応答電文の形式を次に示します。なお，斜体の文字は可変値を表します。

単一のSQL文の実行要求に対する応答の場合

ルート要素（DBadapter要素）の下位要素としてSQL識別子要素が出力されます。

<DBadapter>
  <SQL識別子 out_maxOccurs="検索結果出力最大件数">
    <DBA_IN_DATA>
      <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
        :
    </DBA_IN_DATA>
    <DBA_OUT_DATA>
      <DBA_ResultSetNo>SQLリターン値</DBA_ResultSetNo>
      <DBA_ResultSetXmlNo>検索結果の件数</DBA_ResultSetXmlNo>
      <DBA_ResultSetName>
        <DBA_ResultColumnName cid="列番号">列の名称</DBA_ResultColumnName>
          :
      </DBA_ResultSetName>
      <DBA_ResultSet lid="行番号">
        <DBA_ResultColumn cid="列番号">該当行n列目の検索結果</DBA_ResultColumn>
          :
      </DBA_ResultSet>
        :
    </DBA_OUT_DATA>
  </SQL識別子>
</DBadapter>

複数のSQL文の実行要求に対する応答の場合

ルート要素（DBadapter要素）の下位要素としてDBA_MULTI_SQL要素が出力されます。要求電文で記述したDBA_MULTI_SQL要素と同数のDBA_MULTI_SQL要素が出力されます。

<DBadapter>
  <DBA_MULTI_SQL>
    <SQL識別子 out_maxOccurs="検索結果出力最大件数">
      <DBA_IN_DATA>
        <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
          :
      </DBA_IN_DATA>
      <DBA_OUT_DATA>
        <DBA_ResultSetNo>SQLリターン値</DBA_ResultSetNo>
        <DBA_ResultSetXmlNo>検索結果の件数</DBA_ResultSetXmlNo>
        <DBA_ResultSetName>
          <DBA_ResultColumnName cid="列番号">列の名称</DBA_ResultColumnName>
            :
        </DBA_ResultSetName>
        <DBA_ResultSet lid="行番号">
          <DBA_ResultColumn cid="列番号">該当行n列目の検索結果</DBA_ResultColumn>
            :
        </DBA_ResultSet>
          :
      </DBA_OUT_DATA>
    </SQL識別子>
  </DBA_MULTI_SQL>
    ：
</DBadapter>

なお，要求電文で入力情報が0（ゼロ）の場合，応答電文は次の形式で出力されます。

(d)　応答電文の要素と属性

応答電文の要素と属性について次の表に示します。

表3‒19　応答電文の要素と属性（DBアダプタ用のサービスリクエスタ）

要素名・属性名

種別

内容と設定値

格納される値の型

省略

DBadapter

要素

ルート要素です。次の下位要素があります。

単一SQL文の実行要求に対する応答の場合

下位要素としてSQL識別子要素が出力されます。

複数SQL文の実行要求に対する応答の場合

下位要素としてDBA_MULTI_SQL要素が出力されます。

−

×

DBA_MULTI_SQL

要素

サービスリクエスタからの複数のSQL文の実行要求に対する応答であることを示す要素です。SQL識別子以降の下位要素に入力情報（要求電文での設定情報）および出力情報（SQLの実行結果情報）が出力されます。

要求電文で記述したDBA_MULTI_SQL要素と同数のDBA_MULTI_SQL要素が出力されます。

−

×※1

SQL識別子

要素

下位の要素「DBA_IN_DATA」および「DBA_OUT_DATA」に，それぞれ入力情報（要求電文での設定情報）および出力情報（SQLの実行結果情報）が格納されます。

SQL識別子は，要求電文に設定したSQL識別子です。

なお，属性out_maxOccurs（検索結果出力最大件数）は，要求電文で設定した場合にだけ格納されます。

−

×

DBA_IN_DATA

要素

要求電文で設定した入力情報がこの要素の下位要素に格納されます。

−

×

DBA_OUT_DATA

要素

下位の要素にSQL実行時の出力情報が格納されます。実行したSQLによって，格納される出力情報が異なります。

INSERT，UPDATE，DELETEの場合

DBA_ResultSetNoが下位要素として格納されます。

SELECTの場合

次の要素が下位要素として格納されます。

DBA_ResultSetNo

DBA_ResultSetXmlNo

DBA_ResultSetName

DBA_ResultSet

−

×

DBA_ResultSetNo

要素

実行したSQLによって，格納される出力情報が異なります。

INSERT，UPDATE，DELETEの場合

更新した行数（PreparedStatementクラスのexecuteUpdateで取得した値）が格納されます。格納される要素の値が2,147,483,647を超えた場合に格納される値は，DB Connectorの使用するJDBCドライバのPreparedStatementクラスのexecuteUpdateの仕様に従います。

SELECTの場合

検索結果の件数が格納されます。

格納される要素の値が2,147,483,647を超えた場合，2,147,483,647が格納されます。

xsd:int

×

DBA_ResultSetXmlNo

要素

実行したSQLがSELECTの場合，実際の検索結果の件数（DBA_ResultSetNoの値）のうち，この応答電文に格納されている検索結果の件数が格納されます。

DBA_ResultSetNoの値が，要求電文またはSQLオペレーション定義ファイルのout_maxOccursに指定した値よりも大きい場合，out_maxOccursに指定した値が格納されます。

また，格納される要素の値が2,147,483,647を超えた場合，2,147,483,647が格納されます。

xsd:int

○

DBA_ResultSetName

要素

実行したSQLがSELECTの場合，検索結果の列の名称が，下位要素DBA_ResultColumnNameに格納されます。

なお，検索結果が0件の場合，この要素は格納されません。

−

△

DBA_ResultColumnName

要素

実行したSQLがSELECTの場合，該当する列の名称が格納されます。

なお，結果の列がデータベースの列の場合，「列名」の形式で設定されます。また，結果の列名が取得されない場合，SQLを発行した先のデータベースの仕様に従った名称が返されます。

属性にcidがあります。

xsd:string

△

　cid

属性

DBA_ResultColumnNameに格納される値の列番号を示します。

xsd:int

DBA_ResultSet

要素

実行したSQLがSELECTの場合，一行ごとの結果情報が，下位要素のDBA_ResultColumnに格納されます。なお，検索結果が0件の場合，この要素は格納されません。

属性にlidがあります。

−

△

　lid

属性

DBA_ResultSetに格納される値の行番号を示します。

また，格納される要素の値が2,147,483,647を超えた場合，2,147,483,647が格納されます。

xsd:int

DBA_ResultColumn

要素

該当する行（DBA_ResultSetで示される行）のn列目の検索結果が格納されます。※2

属性にcidおよびnulldataがあります。

xsd:string

△

　cid

属性

DBA_ResultColumnに格納される値の列番号を示します。

xsd:int

　nulldata

属性

DBA_ResultColumnに格納されたデータがnullであるかどうかを示します。

nullの場合「Y」が設定されます。nullでない場合，この属性は設定されません。

xsd:string

（凡例）

−：値は格納されません。

○：SQLがSELECTの場合にだけ出力されます。

△：SQLがSELECTの場合で，実行結果が1件以上のときに出力されます。

×：必ず出力されます。省略されません。

注※1

複数のSQL文の実行要求に対する応答の場合には必ず出力されます。単一のSQL文の実行要求に対する応答の場合には出力されません。

注※2

ResultSetクラスのgetStringで取得した値が格納されます。そのため，検索結果の書式はDB Connectorの使用するJDBCドライバのResultSetクラスのgetStringの仕様に従います。検索結果の書式を変更する場合，データベースが提供する関数（ファンクション）を使用して検索してください。

HiRDBのTIMESTAMP型（列名：c_ts）の書式をVARCHAR_FORMAT関数で変更する場合の例を次に示します。

SELECT VARCHAR_FORMAT(c_ts, 'YYYY-MONTH-DD HH:MI') FROM 表名

3.3.6　TP1アダプタを定義する

TP1アダプタの定義方法について説明します。

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

サービスリクエスタ，TP1アダプタ，およびサービスの間でやり取りされる電文フォーマットを作成します。電文フォーマットの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.　電文フォーマットの作成」を参照してください。

(2)　データ変換の定義

データ変換定義画面で，変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルを設定して，データ変換を定義します。

データ変換の定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(3)　サービスアダプタ定義画面での操作

TP1アダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］および［サービスID］を必要に応じて編集します。

サービス部品制御情報の［追加］ボタンをクリックして，オペレーションを追加します。

オペレーション情報の［通信モデル］のドロップダウンリストから，「同期」または「非同期」を選択します。

要求電文について，手順6.から手順15.までを実施します。

次に示す操作をします。

標準電文のフォーマットを指定する場合

手順7.〜9.を実施して，手順10.に進みます。

標準電文のフォーマットを指定しない場合

手順10.に進みます。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

指定できる電文フォーマットの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

標準電文の［表示］ボタンをクリックします。

電文フォーマットがXML形式の場合，標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

サービス部品電文の［参照］ボタンをクリックして，［電文フォーマット］にサービス部品電文のフォーマットを指定します。

サービス部品電文の［表示］ボタンをクリックします。

電文フォーマットがXML形式の場合，サービス部品電文のフォーマットが表示されます。必要に応じて指定したサービス部品電文のフォーマットを確認してください。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順13.〜15.を実施して，手順16.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順16.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

標準電文とサービス電文の内容をマッピングします。

応答電文についても，手順6.から手順15.までを実施します。

サービスアダプタ定義（詳細）タブをクリックします。

サービスアダプタ定義（詳細）画面が表示されます。

サービスアダプタ（EJB-JARファイル）の名称を確認します。

ユーティリティクラス（JARファイル）に次のユーティリティクラスが追加されていることを確認します。

adptp1pc.jar（プロトコルコンバータアーカイブファイル）

独自定義ファイルに次のファイルが追加されていることを確認します。

adptp1_config.xml（TP1アダプタ通信構成定義ファイル）

customadapter_properties.xml（TP1アダプタ環境定義ファイル）

(4)　TP1アダプタ環境定義ファイルの編集

TP1アダプタの環境定義に必要な情報は，XML形式のTP1アダプタ環境定義ファイルに定義します。

TP1アダプタ環境定義ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「customadapter_properties.xml」を選択し，［編集］ボタンをクリックします。

TP1アダプタ環境定義ファイルを編集するためのエディタが起動します。

エディタ上でTP1アダプタ環境定義ファイルを編集します。

TP1アダプタ環境定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.4.2　TP1アダプタ環境定義ファイル」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(5)　TP1アダプタ通信構成定義ファイルの編集

TP1アダプタの通信構成定義に必要な情報は，XML形式のTP1アダプタ通信構成定義ファイルに定義します。

TP1アダプタ通信構成定義ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「adptp1_config.xml」を選択し，［編集］ボタンをクリックします。

TP1アダプタ通信構成定義ファイルを編集するためのエディタが起動します。

エディタ上でTP1アダプタ通信構成定義ファイルを編集します。

TP1アダプタ通信構成定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.4.3　TP1アダプタ通信構成定義ファイル」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(6)　TP1アダプタの設定項目の反映

TP1アダプタを選択した状態で，「保存」メニューを選択すると設定項目を保存できます。このときに保存されるファイルがEARファイルです。EARファイルは運用環境から利用できます。

(7)　TP1アダプタ実行環境プロパティファイルの作成

TP1アダプタ実行環境プロパティファイルの作成方法について説明します。

TP1アダプタ実行環境プロパティファイルは，サンプルファイルを利用して作成します。サンプルファイルの格納先を次に示します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥TP1¥config¥templates¥adptp1.properties

TP1アダプタ実行環境プロパティファイルの作成手順を次に示します。

サンプルファイルをコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥TP1¥config

特定のHCSCサーバ用の定義の場合

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥TP1¥config¥<HCSCサーバ名>※

注※　サブディレクトリ<HCSCサーバ名>は，ユーザが作成してください。Windowsの場合，ディレクトリ名は大文字と小文字は区別しません。また，HCSCサーバ用のディレクトリには，HCSCサーバの管理者のアクセス権限を設定する必要があります。

サンプルファイルの名称を<サービスID>.propertiesに変更します。

定義内容を編集して保存します。

TP1アダプタ実行環境プロパティファイルは，TP1アダプタを開始する際に実行環境に反映されます。TP1アダプタ実行環境プロパティファイルの内容を変更する場合は，TP1アダプタを停止してから作業を行います。TP1アダプタを再開始すると，変更内容が実行環境に反映されます。

TP1アダプタ実行環境プロパティファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.7.1　TP1アダプタ実行環境プロパティファイル」を参照してください。

(8)　TP1/Client/J環境定義の設定

TP1アダプタのRPC通信およびMHPを接続先としたTCP/IP通信で使用するサービス要求方式によって，Service Architectで指定する環境定義の値が異なります。必ず各サービス要求方式に対応するTP1/Client/J環境定義を指定してください。

ここで説明する以外のTP1/Client/J環境定義については，マニュアル「サービスプラットフォーム 解説」の「付録A.1　TP1/Client/Jの機能」を参照してください。

TP1/Client/J環境定義は，TP1アダプタを開始する際に実行環境に反映されます。TP1/Client/J環境定義の内容を変更する場合は，TP1アダプタを停止してから作業を行います。TP1アダプタを再開始すると，変更内容が実行環境に反映されます。

(a)　リモートAPI機能を使用する場合

リモートAPI機能を使用する場合，RPC接続の確立方式および常設コネクションの管理方法によって，TP1/Client/Jで指定する環境定義の値が異なります。TP1アダプタの通信構成定義およびTP1/Client/J環境定義の対応を次の表に示します。

表3‒20　TP1アダプタの通信構成定義およびTP1/Client/J環境定義の対応

TP1/Client/J環境定義

TP1アダプタの通信構成定義

connect_mode：RAP

active_mode：STAND

active_mode：EACH

standcon_mode：MANUAL

standcon_mode：AUTO

standcon_mode要素は指定不要

dcnamuse

N（使用しない）

N（使用しない）

N（使用しない）

dcrapdirect

Y（使用する）

Y（使用する）

Y（使用する）

dcscddirect

N（使用しない）

N（使用しない）

N（使用しない）

dcrapautoconnect

N（使用しない）

Y（使用する）

N（使用しない）

（凡例）

：（コロン）は，要素および要素の指定値の対応を示します。例えば，「connect_mode：RAP」は，connect_mode要素にRAPを指定することを示します。

リモートAPI機能を使用する場合のTP1/Client/J環境定義を次の表に示します。

表3‒21　リモートAPI機能使用時のTP1/Client/J環境定義

TP1/Client/J環境定義

指定値

説明

dcnamuse

N（使用しない）

ネームサービス機能の使用の有無を指定します。

dcrapdirect

Y（使用する）

リモートAPI機能の使用の有無を指定します。

dcscddirect

N（使用しない）

スケジューラダイレクト機能の使用の有無を指定します。

dchost

ホスト名，rapリスナーのポート番号

rapリスナーが存在する接続先システムのホスト名およびrapリスナーのポート番号を指定します。dcrapportオペランドでrapリスナーのポート番号を指定している場合，ポート番号の指定は省略できます。

dcrapport

rapリスナーのポート番号

rapリスナーのポート番号を指定します。dchostオペランドでポート番号を指定する場合，このオペランドの指定は省略できます。

dcrapautoconnect※

Y｜N

rapサーバとの間の常設コネクションを自動的に確立させるかどうかを指定します。TP1アダプタの通信構成定義のstandcon_mode要素と指定値を対応させてください。

注※

dcrapautoconnectオペランドの指定による性能についてのメリットおよびデメリットを次の表に示します。

表3‒22　dcrapautoconnectオペランドの指定によるメリットおよびデメリット

dcrapautoconnectオペランドの指定値

メリット

デメリット

Y（オートコネクト）

接続先システムからコネクションを解放されても，サービス要求実行時に再確立を行います。

初回のサービス要求実行時にコネクションの確立を行うため性能劣化のおそれがあります。

N（非オートコネクト）

TP1アダプタ開始時にすべてのコネクションの確立を行います。初回のサービス要求実行時に，コネクションの確立をする必要なく通信できます。

確立するコネクションの数が多いとTP1アダプタの開始処理に時間が掛かります。

(b)　ネームサービス機能を使用する場合

ネームサービス機能を使用する場合，TP1アダプタの通信構成定義のconnect_mode要素にSTANDを指定します。ネームサービス機能を使用する場合のTP1/Client/J環境定義を次の表に示します。

表3‒23　ネームサービス機能使用時のTP1/Client/J環境定義

TP1/Client/J環境定義

指定値

説明

dcnamuse

Y（使用する）

ネームサービス機能の使用の有無を指定します。

dcrapdirect

N（使用しない）

リモートAPI機能の使用の有無を指定します。

dcscddirect

N（使用しない）

スケジューラダイレクト機能の使用の有無を指定します。

dchost

ホスト名，ネームサービスのポート番号

ネームサービスが存在する接続先システムのホスト名およびネームサービスのポート番号を指定します。dcnamportオペランドでネームサービスのポート番号を指定している場合，ポート番号の指定は省略できます。

dcnamport

ネームサービスのポート番号

ネームサービスのポート番号を指定します。dchostオペランドでポート番号を指定する場合，このオペランドの指定は省略できます。

(c)　スケジューラダイレクト機能を使用する場合

スケジューラダイレクト機能を使用する場合，TP1アダプタの通信構成定義のconnect_mode要素にSTANDを指定します。スケジューラダイレクト機能を使用する場合のTP1/Client/J環境定義を次の表に示します。

表3‒24　スケジューラダイレクト機能使用時のTP1/Client/J環境定義

TP1/Client/J環境定義

指定値

説明

dcnamuse

N（使用しない）

ネームサービス機能の使用の有無を指定します。

dcrapdirect

N（使用しない）

リモートAPI機能の使用の有無を指定します。

dcscddirect

Y（使用する）

スケジューラダイレクト機能の使用の有無を指定します。

dchost

ホスト名，スケジューラダイレクトサービスのポート番号

スケジューラダイレクトサービスが存在する接続先システムのホスト名およびスケジューラダイレクトサービスのポート番号を指定します。dcscdportオペランドでスケジューラダイレクトサービスのポート番号を指定している場合，ポート番号の指定は省略できます。

dcscdport

スケジューラダイレクトサービスのポート番号

スケジューラダイレクトサービスのポート番号を指定します。dchostオペランドでポート番号を指定する場合，このオペランドの指定は省略できます。

(d)　通信先を指定した接続をする場合

TP1アダプタで通信相手と通信先を指定した接続をする場合，TP1アダプタの通信構成定義のconnect_mode要素にSTATICを指定します。通信先を指定した接続をする場合のTP1/Client/J環境定義を次の表に示します。

表3‒25　通信先指定による接続時のTP1/Client/J環境定義

TP1/Client/J環境定義

指定値

説明

dcnamuse

N（使用しない）

ネームサービス機能の使用の有無を指定します。

dcrapdirect

N（使用しない）

リモートAPI機能の使用の有無を指定します。

dcscddirect

Y（使用する）

スケジューラダイレクト機能の使用の有無を指定します。

注意事項

次の表に示すオペランドの定義項目は使用されません。接続先のホスト名，ポート番号の情報は，TP1アダプタの通信構成定義のstatic_hostおよびstatic_port要素を使用します。また，dcrapautoconnectオペランドの定義は無効となります。

表3‒26　通信先指定による接続時に使用されないTP1/Client/J環境定義

TP1/Client/J環境定義

指定値

説明

dchost

ホスト名，スケジューラダイレクトサービスのポート番号

スケジューラダイレクトサービスが存在する接続先システムのホスト名，およびスケジューラダイレクトサービスのポート番号

dcscdport

スケジューラダイレクトサービスのポート番号

スケジューラダイレクトサービスのポート番号

(e)　MHPを接続先としたTCP/IP接続をする場合

TP1アダプタでMHPを接続先としたTCP/IP接続をする場合，TP1アダプタの通信構成定義のconnect_mode要素にTCPIPを指定します。MHPを接続先としたTCP/IP接続をする場合のTP1/Client/J環境定義を次の表に示します。

表3‒27　MHPを接続先としたTCP/IP接続のTP1/Client/J環境定義

TP1/Client/J環境定義

指定値

説明

dcsndhost

接続するMHPが存在するノードのホスト名

コネクションを確立して接続するMHPが存在するノードのホスト名を指定します。

dcsndport

接続するMHPのポート番号

コネクションを確立して接続するMHPのポート番号を指定します。

dcsndrcvtype

同期する場合（メッセージを送受信するための環境）

DCCLT_SNDRCV

同期しない場合（メッセージを一方送信するための環境）

DCCLT_ONEWAY_SND

TCP/IP通信機能の使用時に初期化する環境を指定します。

dcsockopenatrcv

Y（cltAssemReceiveメソッド実行時）

TCP/IP通信機能の使用時に，1コネクションで送受信する場合の，受信用ソケットを開設する契機を指定します。

必須の定義項目は，TP1アダプタの起動時に指定値が適切かどうかをチェックします。次の項目がチェックされます。

dcsndhostおよびdcsndportの指定が省略されていないか。

dcsndrcvtypeおよびdcsockopenatrcvに指定値以外の値が指定されていないか。

適切でない場合，エラーが出力され，アダプタの起動に失敗します。

3.3.7　ファイルアダプタを定義する

ファイルアダプタの定義方法について説明します。

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

ファイルアダプタで作成する電文フォーマットの内容について説明します。

(a)　ファイルアダプタの要求電文フォーマット

ファイル操作の実行を要求するための要求電文では，次の情報を送信します。

ファイル操作情報

ファイル書き込みデータ

●ファイル操作情報

ファイル操作情報は，ファイルにアクセスするために必要な情報です。ファイル操作情報の内容を次の表に示します。

表3‒28　ファイル操作情報

情報

説明

ファイル名

読み込みまたは書き込みが行われるファイル名です。絶対パスで指定します。ファイル名の長さは，UTF-8へ変換した際に1〜200バイトの範囲で指定できます。先頭と最後の空白文字は削除されます。Windowsの場合，パスの大文字と小文字は区別されません。

次のようなファイル名は指定できません。

相対パス，親ディレクトリ表現（「..¥」「../」），およびカレントディレクトリ表現（「.¥」「./」）を含むファイル名。

シンボリックリンクを含むファイル名。

Windowsの場合，UNC形式，NTFSのストリーム名，または予約デバイス名を含むファイル名。

読み込みモード

ファイル読み込み時のモードです。次のモードがあります。

一括

指定した値の前後の空白文字は削除されます。

書き込みモード

ファイル書き込み時のモードです。次のモードがあります。

新規

追加

指定した値の前後の空白文字は削除されます。

●ファイル書き込みデータ

XMLファイルまたはバイナリファイルへ書き込み要求をする場合に，要求電文に指定するユーザデータです。

要求電文の内容は，読み込みまたは書き込みを行うファイルの形式や種別によって異なります。このため，電文作成時にはファイル操作情報およびファイル書き込みデータのうち，必要な情報だけを電文に記述します。

XMLファイルの読み込みを行う場合に，要求電文に必要な情報を次の表に示します。

表3‒29　XMLファイル読み込み時の要求電文情報（XML電文）

情報

電文内のタグ名

指定値

省略時のデフォルト値

指定

ルート要素

ReadRequest

−

−

○

ファイルヘッダ要素

fileheader

−

−

○

ファイル名要素

filename

ファイル名

−

○

ファイルモード要素

filemode

all

all

×

（凡例）

○：必ず指定します。

×：省略できます。

−：該当しません。

XMLファイルの書き込みを行う場合に，要求電文に必要な情報を次の表に示します。

表3‒30　XMLファイル書き込み時の要求電文情報（XML電文）

情報

電文内のタグ名

指定値

省略時のデフォルト値

指定

ルート要素

WriteRequest

−

−

○

ファイルヘッダ要素

fileheader

−

−

○

ファイル名要素

filename

ファイル名

−

○

ファイルモード要素

filemode

new

new

×

ファイル書き込みデータ

userdata

ユーザ任意

−

○

（凡例）

○：必ず指定します。

×：省略できます。

−：該当しません。

バイナリファイルの読み込みを行う場合に，要求電文に必要な情報を次の表に示します。

表3‒31　バイナリファイル読み込み時の要求電文情報（XML電文）

情報

電文内のタグ名

指定値

省略時のデフォルト値

指定

ルート要素

ReadRequest

−

−

○

ファイルヘッダ要素

fileheader

−

−

○

ファイル名要素

filename

ファイル名

−

○

ファイルモード要素

filemode

all

all

×

（凡例）

○：必ず指定します。

×：省略できます。

−：該当しません。

バイナリファイルの書き込みを行う場合は，要求電文がバイナリ形式になります。バイナリ形式の要求電文の構造を次の図に示します。

図3‒6　バイナリ形式の要求電文の構造

電文の全体長は次のような関係式が成り立つ必要があります。

全体長 ≧ 10 + L1 + 10 + L2

バイナリファイルの書き込みを行う場合に，要求電文に必要な情報を次の表に示します。

表3‒32　バイナリファイル書き込み時の要求電文情報（バイナリ電文）

情報

指定値

省略時のデフォルト値

指定

ファイル名長

ファイル名のバイト長を10進数値文字列で指定します。

−

○

ファイル名

ファイル名

−

○

ファイルオプション長

ファイルオプションのバイト長を10進数値文字列で指定します。

−

○

ファイルオプション

新規書き込み：mode=new

追加書き込み：mode=append

mode=new

×

ユーザデータ

ユーザ任意

−

○※

（凡例）

○：必ず指定します。

×：省略できます。

−：該当しません。

注※

0バイトの指定ができます。

各要求電文のサンプルは，「(f)　電文例」を参照してください。

(b)　ファイルアダプタの応答電文フォーマット

ファイルアダプタの読み込み情報をファイルアダプタの呼び出し元に返却する応答電文では，次の情報を送信します。

ファイル読み込みデータ

ファイル書き込み処理結果

●ファイル読み込みデータ

XMLファイルまたはバイナリファイルを読み込む場合に，応答電文に格納され返却されるユーザデータです。

●ファイル書き込み処理結果

XMLファイルまたはバイナリファイルを書き込む場合に，書き込み処理の結果が応答電文へ格納されます。書き込み処理が失敗した場合，ファイルアダプタはHCSCサーバに例外を通知し応答電文は返却しません。応答電文へ書き込み処理の結果が格納されるのは，書き込み処理が成功した場合だけとなります。このため，書き込み時の応答電文の返却値は必ず「OK」になります。

応答電文の内容は，読み込みまたは書き込みを行うファイルの形式や種別によって異なります。ファイルの読み込み，書き込みを行う場合に返信される応答電文の情報を次の表に示します。

表3‒33　応答電文情報

ファイル形式および種別

情報

電文内のタグ名

返却値

XMLファイル読み込み

ファイル読み込みデータ

ユーザ任意

ユーザ任意

XMLファイル書き込み

ファイル書き込み処理の結果

status

OK

バイナリファイル読み込み

ファイル読み込みデータ

−

ユーザ任意

バイナリファイル書き込み

ファイル書き込み処理の結果

status

OK

（凡例）

−：該当しません。

(c)　電文フォーマットの種類

ファイルアダプタ呼び出し元（標準電文）の電文フォーマットがファイルアダプタ（サービス部品電文）の電文フォーマットと異なる場合は，ファイルアダプタ呼び出し元（標準電文）の電文フォーマット定義ファイルおよびファイルアダプタ（サービス部品電文）の電文フォーマット定義ファイルを作成し，データ変換（マッピング）定義画面からそれぞれの電文フォーマットのマッピングを行います。

データ変換を行う場合に作成する電文フォーマット定義ファイルを次の表に示します。

表3‒34　作成する電文フォーマット定義ファイル

ファイル形式および種別

要求電文

応答電文

標準電文（呼び出し元）

サービス部品電文（ファイルアダプタ）

標準電文（呼び出し元）

サービス部品電文（ファイルアダプタ）

XMLファイル読み込み

XML※

XML

XML※

XML

XMLファイル書き込み

XML※

XML

XML※

XML

バイナリファイル読み込み

XML※

XML

XML

バイナリ

バイナリファイル書き込み

XML

バイナリ

XML※

XML

（凡例）

XML：XMLフォーマット定義ファイル

バイナリ：バイナリフォーマット定義ファイル

注※

ファイルアダプタ呼び出し元（標準電文）とファイルアダプタ（サービス部品電文）の電文フォーマットが同じ場合，ファイルアダプタ呼び出し元（標準電文）の電文フォーマット定義ファイルを作成したり，設定したりする必要はありません。

ファイルアダプタで利用する電文でXML形式のデータを扱うか，バイナリ形式（XML形式以外）のデータを扱うかによって，作成する電文フォーマット定義ファイルは異なります。

XML形式のデータを扱う場合

XML形式のデータを扱う場合，XMLフォーマット定義ファイルを作成します。XMLフォーマット定義ファイルは，XMLスキーマファイル（拡張子：.xsd）として作成します。XMLフォーマット定義ファイルの作成方法については，「(d)　XMLフォーマット定義ファイルの作成」を参照してください。

バイナリ形式のデータを扱う場合

バイナリ形式（XML形式以外）のデータを扱う場合，バイナリフォーマット定義ファイルを作成します。バイナリフォーマット定義ファイルは，バイナリ形式のデータ内の値の格納形式（値の長さや，ほかの値との関係など）を定義し，定義した情報をXMLスキーマファイルに付加したファイル（拡張子：.fdx）です。バイナリフォーマット定義ファイルは，XMLの仕様に合わせて作成されるため，データ変換を定義するときの変換元および変換先として，XMLフォーマット定義ファイルと同様に利用できます。バイナリフォーマット定義ファイルの作成方法については，「(e)　バイナリフォーマット定義ファイルの作成」を参照してください。

(d)　XMLフォーマット定義ファイルの作成

標準電文およびファイルアダプタ（サービス部品電文）の作成方法を次に示します。

●標準電文のXMLフォーマット定義ファイルの作成

標準電文のXMLフォーマット定義ファイルは，Eclipseが提供するWST（Web Standard Tools）などを利用して作成します。

作成するXMLフォーマット定義ファイルは，HCSCサーバで使用できるXMLスキーマの適用範囲を満たしている必要があります。条件の詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

ファイルアダプタおよびビジネスプロセスの定義で，利用する電文フォーマットファイルを選択したときにエラー（メッセージIDがKECXで始まるエラーメッセージ）が発生した場合，XMLスキーマファイルにエラーがあります。この場合，マニュアル「アプリケーションサーバメッセージ(構築／運用／開発用)」の「11.　KECX（XML Processorが出力するメッセージ）」のメッセージを参照して対処してください。

●ファイルアダプタ（サービス部品電文）のXMLフォーマット定義ファイルの作成

ファイルアダプタ（サービス部品電文）のXMLフォーマット定義ファイルを作成する場合に，ユーザが使用する定義ファイルおよび編集の必要性について次の表に示します。

表3‒35　ユーザが使用する定義ファイルおよび編集の必要性

ファイル操作モード

電文の種類

使用する定義ファイル

ユーザ編集

読み込み

要求電文

adpff_read.xsd

×

応答電文

ユーザ作成

○

書き込み

要求電文

adpff_header.xsd

×

adpff_write.xsd

○

応答電文

adpff_result.xsd

×

（凡例）

○：編集が必要です。

×：編集は不要です。

次に，XMLフォーマット定義ファイルの作成方法をファイル操作モードごとに説明します。

読み込み用

ファイルアダプタでXMLファイルを読み込む場合，次の電文フォーマット定義ファイルを作成します。

要求電文：XMLフォーマット定義ファイル

応答電文：XMLフォーマット定義ファイル

図3‒7　XMLファイル読み込み時の電文の流れ

要求電文

要求電文用のXMLフォーマット定義ファイルは，次に示すファイルを使用します。

要求電文用フォーマット定義ファイル（XML・バイナリ形式読み込み用）

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥schema¥adpff_read.xsd

応答電文

応答電文用のXMLフォーマット定義ファイルは，ユーザが独自に作成します。

書き込み用

ファイルアダプタでXMLファイルに書き込む場合，次の電文フォーマット定義ファイルを作成します。

要求電文：XMLフォーマット定義ファイル

応答電文：XMLフォーマット定義ファイル

図3‒8　XMLファイル書き込み時の電文の流れ

要求電文

要求電文用のXMLフォーマット定義ファイルは次に示すファイルとテンプレートファイルを使用して作成します。

要求電文用ファイル操作情報ファイル（XML形式書き込み用）

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥schema¥adpff_header.xsd

要求電文用フォーマット定義テンプレートファイル（XML形式書き込み用）

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥schema¥templates¥adpff_write.xsd

要求電文用フォーマット定義テンプレートファイルは，ユーザの編集が必要です。要求電文用フォーマット定義テンプレートファイルの編集個所を次の図に示します。

図3‒9　要求電文用フォーマット定義テンプレートファイル

図中の行番号に沿って，要求電文用フォーマット定義テンプレートファイルの説明を次の表に示します。なお，図中の行番号は実際のテンプレートには含まれません。

表3‒36　要求電文用フォーマット定義テンプレートファイルの説明

行数

説明

4行目

要求電文用ファイル操作情報ファイル（XML形式書き込み用：adpff_header.xsd）の名前空間宣言をしています。

5行目

このテンプレートファイルの名前空間宣言をしています。ユーザは7行目に指定したtargetNamespace属性の値に任意の接頭辞を宣言します。

6行目

ほかのスキーマファイルをインポートする場合，そのスキーマの名前空間宣言を記述します。※1，※2

7行目

このテンプレートファイルの対象名前空間を記述しています。ユーザはtargetNamespace属性の値に一意となる対象名前空間を指定します。

9〜10行目

要求電文用ファイル操作情報ファイル（XML形式書き込み用：adpff_header.xsd）のインポート宣言を記述しています。このテンプレートファイルは要求電文用ファイル操作情報ファイル（XML形式書き込み用）をインポートします。ユーザはschemaLocation属性の値を要求電文用ファイル操作情報ファイル（XML形式書き込み用）の存在する相対パスに修正します。デフォルトでは同一ディレクトリを指定しています。

14〜20行目

WriteRequest要素宣言を記述しています。要求電文のルート要素となります。ファイルアダプタは，この要素名を取得し，ファイル入出力種別を判別します（WriteRequest：書き込み，ReadRequest：読み込み）。fileheader要素とuserdata要素を持ちます。ユーザはuserdata要素の接頭辞として5行目で宣言した接頭辞を記述します。

22行目

userdata要素宣言を記述しています。

23行目

ユーザデータ用のXMLスキーマ情報を記述します。※1，※2

注※1

記述方法は2種類あり，このファイルに直接記述する方法と，ユーザデータ用のXMLスキーマ情報を記述するファイルを別に作成し，このファイルからインポートする方法があります。インポートする場合は6行目にインポートするスキーマのターゲットネームスペース，12行目にインポートするスキーマのインポート文を記述してください。記述例は「(f)　電文例」を参照してください。

注※2

ユーザデータ用のXMLスキーマ情報を記述する場合，userdata要素の子要素には複数の要素を宣言できません。userdata要素の子要素はXMLファイル書き込み時にルート要素となるため，userdata要素の子要素は必ず1つだけ宣言してください。

応答電文

応答電文用のXMLフォーマット定義ファイルは次に示すファイルを使用します。

応答電文用フォーマット定義ファイル（XML・バイナリ形式書き込み用）

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥schema¥adpff_result.xsd

(e)　バイナリフォーマット定義ファイルの作成

バイナリフォーマット定義ファイルの作成方法について説明します。

バイナリフォーマット定義ファイルを作成する場合に，ユーザが使用する定義ファイルおよび編集の必要性について次の表に示します。

表3‒37　ユーザが使用する定義ファイルおよび編集の必要性

ファイル操作モード

電文の種類

使用する定義ファイル

ユーザ編集

読み込み

要求電文

adpff_read.xsd

×

応答電文

ユーザ作成

○

書き込み

要求電文

adpff_write.fdx

○

応答電文

adpff_result.xsd

×

（凡例）

○：編集が必要です。

×：編集は不要です。

バイナリフォーマット定義ファイルの作成方法を次に示します。

●読み込み用

ファイルアダプタでバイナリファイルを読み込む場合，次の電文フォーマット定義ファイルを作成します。

要求電文：XMLフォーマット定義ファイル

応答電文：バイナリフォーマット定義ファイル

図3‒10　バイナリファイル読み込み時の電文の流れ

要求電文

要求電文用のXMLフォーマット定義ファイルは次に示すファイルを使用します。

要求電文用フォーマット定義ファイル（XML・バイナリ形式読み込み用）

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥schema¥adpff_read.xsd

応答電文

応答電文用のバイナリフォーマット定義ファイルはユーザが独自に作成します。

●書き込み用

ファイルアダプタでバイナリファイルを書き込む場合，次の電文フォーマット定義ファイルを作成します。

要求電文：バイナリフォーマット定義ファイル

応答電文：XMLフォーマット定義ファイル

図3‒11　バイナリファイル書き込み時の電文の流れ

要求電文

要求電文用のバイナリフォーマット定義ファイルは，次に示すテンプレートファイルをユーザがバイナリフォーマット定義画面で編集することによって作成します。

要求電文用フォーマット定義テンプレートファイル（バイナリ形式書き込み用）

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥schema¥templates¥adpff_write.fdx

要求電文用フォーマット定義テンプレートファイルの画面を次の図に示します。

図3‒12　要求電文用フォーマット定義テンプレートファイルの画面

要求電文用フォーマット定義テンプレートファイルの設定値を次の表に示します。

表3‒38　要求電文用フォーマット定義テンプレートファイルの設定値

要素名

データ種別

サイズ（byte）

出現回数

説明

adpff_write

−

−

−

ルート要素

fileheader

−

−

1回

ファイル操作情報要素

filename_length

整数

10

1回

ファイル名長要素

filename

文字列

可変

1回

ファイル名要素

fileoption_length

整数

10

1回

ファイルオプション長要素

fileoption

文字列

可変

1回

ファイルオプション要素

（凡例）

−：該当しません。

作成方法

ユーザはルート要素（adpff_write要素）の子要素として任意の要素名のユーザデータ要素を作成します。ただし，必ずfileheader要素が先頭となるように作成してください。fileheader要素が先頭でない場合の動作は保証されません。バイナリフォーマット定義ファイルを作成したあと，任意の名称で保存し，サービスアダプタ定義画面で指定します。作成完了後のバイナリフォーマット定義ファイルのサンプル画面を次の図に示します。サンプル画面ではユーザデータ要素としてcustomer要素を宣言し，その子要素としてname要素とaddress要素を作成しています。

図3‒13　バイナリフォーマット定義ファイル作成後のサンプル画面

応答電文

応答電文用のXMLフォーマット定義ファイルは次に示すファイルを使用します。

応答電文用フォーマット定義ファイル（XML・バイナリ形式書き込み用）

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥schema¥adpff_result.xsd

(f)　電文例

各ファイル操作を行う場合の要求電文の例を次に示します。

電文例を説明するに当たって，要求電文フォーマットを定義するのに使用する要求電文用フォーマット定義ファイルの一覧を次の表に示します。

表3‒39　提供される要求電文用フォーマット定義ファイル一覧

ファイル名

内容

編集

adpff_read.xsd

要求電文用フォーマット定義ファイル（XML・バイナリ形式読み込み用）

×

adpff_write.xsd

要求電文用フォーマット定義テンプレートファイル（XML形式書き込み用）

○

adpff_write.fdx

要求電文用フォーマット定義テンプレートファイル（バイナリ形式書き込み用）

○

（凡例）

○：編集して使用するファイルです。

×：編集しないでそのまま使用するファイルです。

●ファイル読み込み時の要求電文

ファイル読み込み時の要求電文の要求電文フォーマットには，要求電文用フォーマット定義ファイル（XML・バイナリ形式読み込み用）を使用します。要求電文フォーマット定義ファイルの内容は変更しないでそのまま使用してください。

ファイル読み込み時の要求電文の記述例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<adpff:ReadRequest xmlns:adpff="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/ReadRequest">
  <fileheader>
    <filename>C:¥WORK¥ReadFile.xml</filename>
    <filemode>all</filemode>
  </fileheader>
</adpff:ReadRequest>

●ファイル書き込み時の要求電文（XML形式）

XML形式でのファイル書き込み時の要求電文の要求電文フォーマットには，要求電文用フォーマット定義テンプレートファイル（XML形式書き込み用）を使用します。要求電文用フォーマット定義ファイルに，ユーザデータのXMLスキーマ情報を追記して，要求電文用フォーマット定義ファイルを作成します。

ユーザデータのXMLスキーマ情報を追記するには次の2つの方法があります。

要求電文用フォーマット定義ファイルにXMLスキーマ情報を直接記述する

要求電文用フォーマット定義ファイルにXMLスキーマ情報をインポートする

ユーザデータのXMLスキーマ情報を直接記述する場合

要求電文用フォーマット定義ファイルに，ユーザデータ用のXMLスキーマ情報を直接記述する場合の例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<!-- All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd. -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:adpff="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/WriteRequest"
            xmlns:wr="http://WriteRequest"
            targetNamespace="http://WriteRequest">
  <xsd:import namespace="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/WriteRequest"
              schemaLocation="adpff_header.xsd"/>
  <xsd:element name="WriteRequest" type="wr:format"/>

  <xsd:complexType name="format">
    <xsd:sequence>
      <xsd:element name="fileheader" type="adpff:fileheader"/>
      <xsd:element name="userdata" type="wr:userdata"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="userdata">
    <xsd:sequence>
      <xsd:element name="customer" type="wr:customer"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="customer">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" />
      <xsd:element name="address" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

上記のXMLスキーマに適合した要求電文の記述例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<wr:WriteRequest xmlns:wr="http://WriteRequest">
  <fileheader>
    <filename>C:¥WORK¥writeXML.xml</filename>
    <filemode>new</filemode>
  </fileheader>
  <userdata>
    <customer>
      <name>日立太郎</name>
      <address>横浜市戸塚区</address>
    </customer>
  </userdata>
</wr:WriteRequest>

ユーザデータのXMLスキーマ情報をインポートする場合

要求電文用フォーマット定義ファイルに，ユーザデータ用のXMLスキーマ情報をインポートして記述する場合の例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<!-- All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd. -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:adpff="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/WriteRequest"
            xmlns:wr="http://WriteRequest"
            targetNamespace="http://WriteRequest"
            xmlns:usr="http://UserSchema">

  <xsd:import namespace="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/WriteRequest"
              schemaLocation="adpff_header.xsd"/>

  <xsd:import namespace="http://UserSchema" schemaLocation="User.xsd"/>

  <xsd:element name="WriteRequest" type="wr:format"/>
  <xsd:complexType name="format">
    <xsd:sequence>
      <xsd:element name="fileheader" type="adpff:fileheader"/>
      <xsd:element name="userdata" type="wr:userdata"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="userdata">
    <xsd:sequence>
      <xsd:element ref="usr:customer"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

インポートされるUser.xsdは次の内容です。

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:usr="http://UserSchema"
            targetNamespace="http://UserSchema">
  <xsd:element name="customer">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="name" type="xsd:string"/>
        <xsd:element name="address" type="xsd:string"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

上記のXMLスキーマに適合した要求電文の記述例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<wr:WriteRequest xmlns:wr="http://WriteRequest">
  <fileheader>
    <filename>C:¥WORK¥writeXML.xml</filename>
    <filemode>new</filemode>
  </fileheader>
  <userdata>
    <usr:customer xmlns:usr="http://UserSchema">
      <name>日立太郎</name>
      <address>横浜市戸塚区</address>
    </usr:customer>
  </userdata>
</wr:WriteRequest>

●ファイル書き込み時の要求電文（バイナリ形式）

バイナリ形式でのファイル書き込み時の要求電文の要求電文フォーマットには，要求電文用フォーマット定義テンプレートファイル（バイナリ形式書き込み用）を使用します。要求電文用フォーマット定義ファイルを，Eclipseのバイナリフォーマット定義ファイル作成用のプロジェクトにインポートして，ユーザデータ用の定義を追加します。

ビジネスプロセス上では，要求電文がXML形式で扱われるため，データ変換機能を使用してXML形式からバイナリ形式に変換することで，ファイルアダプタのバイナリ用の要求電文に変換します。

要求電文用フォーマット定義ファイルの定義例，および要求電文のデータ変換の定義例を次に示します。

提供されている要求電文用フォーマット定義ファイルをインポートすると，ファイルアダプタのファイル操作情報の定義が表示されます。

図3‒14　提供ファイルをインポートした定義画面

この定義画面に，ユーザデータの定義を追加します。次の例では，customerデータとして，nameとaddressの要素を定義しています。

図3‒15　ユーザデータの定義を追加した定義画面

ファイルアダプタの呼び出し元の要求電文フォーマットから，作成したバイナリフォーマット定義ファイルへデータ変換します。filename_lengthおよびfileoption_length要素には，データ変換の機能で自動的に，filenameおよびfileoption要素のデータ長が設定されます。

図3‒16　データ変換定義画面

(2)　データ変換の定義

データ変換（マッピング）定義画面で，変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルを設定して，データ変換を定義します。

データ変換の定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(3)　サービスアダプタ定義画面での操作

ファイルアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］および［サービスID］を必要に応じて編集します。

サービス部品制御情報の［追加］ボタンをクリックして，定義パターンおよびオペレーション名を指定します。

オペレーション情報の［通信モデル］のドロップダウンリストから，「同期」を選択します。

要求電文について，手順6.から手順15.までを実施します。

次に示す操作をします。

標準電文のフォーマットを指定する場合

手順7.〜9.を実施して，手順10.に進みます。

標準電文のフォーマットを指定しない場合

手順10.に進みます。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

指定できる電文フォーマットの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

標準電文の［表示］ボタンをクリックします。

電文フォーマットがXML形式の場合，標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

手順3.で指定した定義パターンに応じて次の電文フォーマットが設定されていることを確認します。

定義パターンが「XML読み込み」または「バイナリ読み込み」の場合

要求電文のサービス部品：adpff_read.xsd

応答電文のサービス部品：なし

定義パターンが「XML書き込み」または「バイナリ書き込み」の場合

要求電文のサービス部品：なし

応答電文のサービス部品：adpff_result.xsd

サービス部品電文の［表示］ボタンをクリックします。

電文フォーマットがXML形式の場合，サービス部品電文のフォーマットが表示されます。必要に応じて指定したサービス部品電文のフォーマットを確認してください。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順13.〜15.を実施して，手順16.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順16.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

標準電文とサービス電文の内容をマッピングします。

応答電文についても，手順6.から手順15.までを実施します。

サービスアダプタ定義（詳細）タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

サービスアダプタ（EJB-JARファイル）の名称を確認します。

ユーティリティクラス（JARファイル）に次のユーティリティクラスが追加されていることを確認します。

adpffpc.jar（プロトコルコンバータアーカイブファイル）

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(4)　ファイルアダプタ実行環境プロパティファイルの作成

ファイルアダプタ実行環境プロパティファイルは，サンプルファイルを利用して作成します。サンプルファイルの格納先を次に示します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥config¥templates¥adpff_exe.properties

ファイルアダプタ実行環境プロパティファイルの作成手順を次に示します。

サンプルファイルをコピーして，次のディレクトリに格納します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥config

サンプルファイルの名称を<サービスID>.propertiesに変更します。

定義内容を編集して保存します。

ファイルアダプタ実行環境プロパティファイルは，ファイルアダプタを開始する際に実行環境に反映されます。ファイルアダプタ実行環境プロパティファイルの内容を変更する場合は，ファイルアダプタを停止してから作業をします。ファイルアダプタを再開始すると，変更内容が実行環境に反映されます。

ファイルアダプタ実行環境プロパティファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.10.1　ファイルアダプタ実行環境プロパティファイル」を参照してください。

3.3.8　Object Accessアダプタを定義する

Object Accessアダプタの定義方法について説明します。

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

各電文のフォーマットについて説明します。

(a)　要求電文

要求電文の電文フォーマットを次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2"
xmlns:tns="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2">
  <xsd:element name="exec2">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="method_name" type="xsd:string"/>
        <xsd:element name="in_list" type="tns:OWB2.NameValueList"/>
        <xsd:element name="session_data" type="tns:OWB2.NameValueList"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="OWB2.NameValueList">
    <xsd:complexContent>
      <xsd:restriction base="tns:EComm2.NameValueList">
       <xsd:sequence>
         <xsd:element name="item" type="tns:EComm2.NameValue"
                      minOccurs="0" maxOccurs="unbounded"/>
       </xsd:sequence>
      <xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="EComm2.NameValueList">
    <xsd:sequence>
      <xsd:element name="item" type="tns:EComm2.NameValue"
                   minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="EComm2.NameValue">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="value" type="tns:CORBA.Any" minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CORBA.Any">
    <xsd:sequence>
      <xsd:element name="type" type="xsd:string" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="value" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

表3‒40　要求電文フォーマット

項目

電文フォーマット

要求電文形式

<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2"

xmlns:tns="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2">

　[オペレーション情報]

　[型定義情報]...

</xsd:schema>

オペレーション情報

<xsd:element name="exec2">

　<xsd:complexType>

　　<xsd:sequence>

　　　[入力パラメタ情報]...

　　</xsd:sequence>

　</xsd:complexType>

</xsd:element>

入力パラメタ情報

<xsd:element name="IDLに定義したパラメタ名称" type="[型情報]"/>

型定義情報：any

<xsd:complexType name="CORBA.Any">

　<xsd:sequence>

　　<xsd:element name="type" type="xsd:string" minOccurs="1" maxOccurs="1"/>

　　<xsd:element name="value" type="xsd:string" minOccurs="1" maxOccurs="1"/>

　</xsd:sequence>

</xsd:complexType>

型定義情報：struct

<xsd:complexType name="IDLに定義した構造体宣言名称">

　<xsd:sequence>

　　<xsd:element name="IDLに定義した構造体変数名称" type="[型情報]"

　　　　minOccurs="1" maxOccurs="1"/>...

　</xsd:sequence>

</xsd:complexType>

型定義情報：sequence

<xsd:complexType name="IDLに定義したシーケンス宣言名称">

　<xsd:sequence>

　　<xsd:element name="item" type="[型情報]"

　　　　minOccurs="0" maxOccurs="0"/>

　</xsd:sequence>

</xsd:complexType>

型情報：string

xsd:string

型情報：any

tns:CORBA.Any

型情報：struct

tns:IDLに定義した構造体宣言名称

型情報：sequence

tns:IDLに定義したシーケンス宣言名称

要求電文の電文サンプルを次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<tns:exec2 xmlns:tns="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2">
  <method_name>Mtd1</method_name>
  <in_list>
    <item>
      <name>MP7G</name>
      <value>
        <type>long</type>
        <value>200</value>
      </value>
    </item>
    <item>
      <name>GP9AKJ</name>
      <value>
        <type>Ecomm2.OctSeq</type>
        <value>ABCDE</value>
      </value>
    </item>
  </in_list>
  <session_data>
    <item>
      <name>S03U48</name>
      <value>
        <type>long</type>
        <value>212</value>
      </value>
    </item>
    <item>
      <name>H4TF8L</name>
      <value>
        <type>Ecomm2.OctSeq</type>
        <value>OK</value>
      </value>
    </item>
  </session_data>
</tns:exec2>

(b)　応答電文

応答電文の電文フォーマットを次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2"
xmlns:tns="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2">
  <xsd:element name="exec2Response">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="result" type="tns:OWB2.NameValueList"/>
        <xsd:element name="out_rec" type="tns:OWB2.RecordValue"/>
        <xsd:element name="session_data" type="tns:OWB2.NameValueList"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="OWB2.NameValueList">
    <xsd:complexContent>
      <xsd:restriction base="tns:EComm2.NameValueList">
    <xsd:sequence>
          <xsd:element name="item" type="tns:EComm2.NameValue"
                       minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="EComm2.NameValueList">
    <xsd:sequence>
      <xsd:element name="item" type="tns:EComm2.NameValue"
                   minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="EComm2.NameValue">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="value" type="tns:CORBA.Any" minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CORBA.Any">
    <xsd:sequence>
      <xsd:element name="type" type="xsd:string" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="value" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OWB2.RecordValue">
    <xsd:complexContent>
      <xsd:restriction base="tns:EComm2.RecordValue">
    <xsd:sequence>
          <xsd:element name="name" type="tns:EComm2.NameList" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="record" type="tns:EComm2.RecordList" minOccurs="1" maxOccurs="1"/>
        </xsd:sequence>
      <xsd:restriction base="tns:EComm2.RecordValue">
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="EComm2.RecordValue">
    <xsd:sequence>
      <xsd:element name="name" type="tns:EComm2.NameList" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="record" type="tns:EComm2.RecordList" minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
<xsd:complexType name="EComm2.NameList">
    <xsd:sequence>
      <xsd:element name="item" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="EComm2.RecordList">
    <xsd:sequence>
      <xsd:element name="item" type="tns:EComm2.ValueList"
                   minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="EComm2.ValueList">
    <xsd:sequence>
      <xsd:element name="item" type="tns:CORBA.Any" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

表3‒41　応答電文フォーマット

項目

電文フォーマット

応答電文形式

<?xml version="1.0" encoding="UTF-8"?>

　<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

　targetNamespace="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2"

　xmlns:tns="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2">

　　[オペレーション情報]

　[型定義情報]...

　</xsd:schema>

オペレーション情報

<xsd:element name="exec2Response">

　<xsd:complexType>

　　<xsd:sequence>

　　　[出力パラメタ情報]...

　　</xsd:sequence>

　</xsd:complexType>

</xsd:element>

出力パラメタ情報

<xsd:element name="IDLに定義したパラメタ名称" type="[型情報]"/>

注　この情報には，リターン情報を含みます。

型定義情報：any

<xsd:complexType name="CORBA.Any">

　<xsd:sequence>

　　<xsd:element name="type" type="xsd:string" minOccurs="1" maxOccurs="1"/>

　　<xsd:element name="value" type="xsd:string" minOccurs="1" maxOccurs="1"/>

　</xsd:sequence>

</xsd:complexType>

型定義情報：struct

<xsd:complexType name="IDLに定義した構造体宣言名称">

　<xsd:sequence>

　　<xsd:element name="IDLに定義した構造体変数名称" type="[型情報]"

　　　　minOccurs="1" maxOccurs="1"/>...

　</xsd:sequence>

</xsd:complexType>

型定義情報：sequence

<xsd:complexType name="IDLに定義したシーケンス宣言名称">

　<xsd:sequence>

　　<xsd:element name="item" type="[型情報]"

　　　　minOccurs="0" maxOccurs="0"/>

　</xsd:sequence>

</xsd:complexType>

型情報：string

xsd:string

型情報：any

tns:CORBA.Any

型情報：struct

tns:IDLに定義した構造体宣言名称

型情報：sequence

tns:IDLに定義したシーケンス宣言名称

応答電文の電文サンプルを次に示します。

<?xml version="1.0" encoding="UTF-8" ?>
<tns:exec2Response xmlns:tns="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2">
  <result>
    <item>
      <name>MP7G</name>
      <value>
        <type>long</type>
        <value>200</value>
      </value>
    </item>
    <item>
      <name>GP9AKJ</name>
      <value>
        <type>Ecomm2.OctSeq</type>
        <value>ABCDE</value>
      </value>
    </item>
  </result>
  <out_rec>
    <name />
    <record />
  </out_rec>
  <session_data>
    <item>
      <name>S03U48</name>
      <value>
        <type>long</type>
        <value>212</value>
      </value>
    </item>
    <item>
      <name>H4TF8L</name>
      <value>
        <type>Ecomm2.OctSeq</type>
        <value>OK</value>
      </value>
    </item>
    <item>
      <name>GW:status</name>
      <value>
        <type>long</type>
        <value>0</value>
      </value>
    </item>
  </session_data>
</tns:exec2Response>

(c)　フォルト電文

フォルト電文の電文フォーマットを次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2"
xmlns:tns="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2">
  <xsd:element name="EComm2.Exceptionexec2Fault1">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="code" type="xsd:int"/>
        <xsd:element name="message" type="xsd:string"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

表3‒42　フォルト電文フォーマット

項目

電文フォーマット

フォルト電文形式

<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2"

xmlns:tns="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2">

[例外定義情報]

</xsd:schema>

例外定義情報

<xsd:element name="exec2Fault1">

<xsd:complexType>

<xsd:sequence>

[例外情報]...

</xsd:sequence>

</xsd:complexType>

</xsd:element>

例外情報

<xsd:element name="IDLの例外に定義した変数名称" type="[型情報]"/>

型情報：long

xsd:int

型情報：string

xsd:string

フォルト電文の電文サンプルを次に示します。

<?xml version="1.0" encoding="UTF-8" ?>
<tns:exec2Fault1 xmlns:tns="http://ObjectAccess.cstmadp.csc.soft.Hitachi.co.jp/ow/OWB2">
  <code>0</code>
  <message>no such method:Resource 'Base' does not contain method 'Mtd1'.</message>
</tns:exec2Fault1>

(d)　Object Wrapper提供IDL

Object Wrapper提供のIDLのサンプルを次に示します。

module EComm2 {
    typedef sequence<octet>       OctSeq;
    typedef sequence<OctSeq>      NameList;
    typedef sequence<any> ValueList;
    typedef sequence<ValueList>   RecordList;
    struct Binary {
        OctSeq   content;
    };
    struct NameValue {
        OctSeq   name;
        any      value;
    };
    typedef sequence<NameValue>   NameValueList;
    struct RecordValue {
        NameList name;
        RecordList        record;
    };
    exception _Exception
    {
        long     code;
        OctSeq   message;
    };
};
interface OWB2
{
    typedef EComm2::NameValueList        NameValueList;
    typedef EComm2::RecordValue            RecordValue;
    NameValueList exec2 (
        in string                          method_name,
        in NameValueList  in_list,
        out RecordValue           out_rec,
        inout NameValueList       session_data)
        raises ( EComm2::_Exception );
};

(2)　Object Accessアダプタ通信構成定義ファイルの作成

Object Accessアダプタの場合，Object Accessアダプタ通信構成定義ファイルを作成する必要があります。

Object Accessアダプタ通信構成定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.7.1　Object Accessアダプタ通信構成定義ファイル」を参照してください。

(3)　データ変換の定義

データ変換（マッピング）定義画面で，変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルを設定して，データ変換を定義します。

データ変換の定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

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

ユーザ定義ファイルは，次の定義ファイルをjarコマンドでアーカイブして作成します。

TPBroker環境定義ファイル

Object Accessアダプタ通信構成定義ファイル

ユーザ定義ファイルの作成手順を説明します。

コマンドプロンプトを起動します。

［スタート］メニューの［プログラム］から［アクセサリ］−［コマンド プロンプト］でコマンドプロンプトを起動します。

ユーザ定義ファイルを作業ディレクトリへコピーします。

任意の作業ディレクトリに，次のディレクトリ構成を作成して，ユーザ定義ファイルをコピーします。

jp¥co¥Hitachi¥soft¥csc¥cstmadp¥ObjectAccess¥cmd¥def

「C:¥conf」ディレクトリに保存されている各定義ファイルを，「C:¥work」ディレクトリを作業ディレクトリとしてコピーする場合の例を次に示します。

>XCOPY C:¥conf¥adpoa_com.xml C:¥work¥jp¥co¥Hitachi¥soft¥csc¥cstmadp¥ObjectAccess¥cmd¥def¥ /V
>XCOPY C:¥conf¥adpoa_tpb.properties C:¥work¥jp¥co¥Hitachi¥soft¥csc¥cstmadp¥ObjectAccess¥cmd¥def¥ /V

ユーザ定義ファイルをアーカイブします。

サービスプラットフォームが提供するjarコマンドを実行して，ユーザ定義ファイルを作成します。

「Object Accessアダプタ通信構成定義ファイル」だけをアーカイブする場合と，「Object Accessアダプタ通信構成定義ファイル」および「TPBroker環境定義ファイル」をアーカイブする場合の例を次に示します。ここで示す例では，「C:¥work」ディレクトリを作業ディレクトリとして，ユーザ定義ファイルを「C:¥conf」に作成します。

Object Accessアダプタ通信構成定義ファイルだけをアーカイブする場合

> jar cf C:¥conf¥adpoadef.jar
  -C C:¥work jp¥co¥Hitachi¥soft¥csc¥cstmadp¥ObjectAccess¥cmd¥def¥adpoa_com.xml

Object Accessアダプタ通信構成定義ファイルおよびTPBroker環境定義ファイルをアーカイブする場合

> jar cf C:¥conf¥adpoadef.jar
  -C C:¥work jp¥co¥Hitachi¥soft¥csc¥cstmadp¥ObjectAccess¥cmd¥def¥adpoa_com.xml
  -C C:¥work jp¥co¥Hitachi¥soft¥csc¥cstmadp¥ObjectAccess¥cmd¥def¥adpoa_tpb.properties

作業ディレクトリを削除します。

RMDIRコマンドを実行して，ユーザ定義ファイルのアーカイブ用に作成したディレクトリを削除します。

「C:¥work」ディレクトリを作業ディレクトリとした場合の例を次に示します。

> RMDIR /S /Q C:¥work¥jp

注意事項を次に示します。

Object Accessアダプタ通信構成定義ファイル名称が，「adpoa_com.xml」であることを確認してください。ほかのファイル名称を指定した場合，実行環境で正常に動作しません。

TPBroker環境定義ファイル名称が，「adpoa_tpb.properties」であることを確認してください。ほかのファイル名称を指定した場合，実行環境で正常に動作しません。

ユーザ定義ファイルの作成で使用する作業ディレクトリおよびユーザ定義ファイルの作成先ディレクトリは，書き込み権限を持つディレクトリを指定してください。

(5)　サービスアダプタ定義画面での操作

Object Accessアダプタを定義する場合の手順を次に示します。設定内容の詳細は，「3.3.19(8)　Object Accessアダプタの場合」を参照してください。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］および［サービスID］を必要に応じて編集します。

サービス部品制御情報の［追加］ボタンをクリックして，オペレーションを追加します。

任意のフォルト名を指定してください。

オペレーション情報の［通信モデル］のドロップダウンリストから，「同期」を選択します。

要求電文について，手順6.から手順15.までを実施します。

次に示す操作をします。

標準電文のフォーマットを指定する場合

手順7.〜9.を実施して，手順10.に進みます。

標準電文のフォーマットを指定しない場合

手順10.に進みます。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

指定できる電文フォーマットの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

標準電文の［表示］ボタンをクリックします。

電文フォーマットがXML形式の場合，標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

サービス部品電文に次の電文フォーマットが設定されていることを確認します。

要求電文：exec2_request.xsd

応答電文：exec2_response.xsd

サービス部品電文の［表示］ボタンをクリックします。

サービス部品電文のフォーマットが表示されます。必要に応じてサービス部品電文のフォーマットを確認してください。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順13.〜15.を実施して，手順16.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順16.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

標準電文とサービス電文の内容をマッピングします。

応答電文についても，手順6.から手順15.までを実施します。

フォルト電文の電文フォーマットに「exec2_fault1.xsd」が設定されていることを確認します。

サービスアダプタ定義（詳細）タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

サービスアダプタ（EJB-JARファイル）およびユーティリティクラス（JARファイル）の名称を確認します。

サービスアダプタ（EJB-JARファイル）の名称が「cscmsg_adpejb.jar」，ユーティリティクラス（JARファイル）の名称が「adpoapc.jar」であることを確認してください。

ユーティリティクラス（JARファイル）の［追加］ボタンをクリックして，次のユーティリティクラスを追加します。

adpoadef.jar（ユーザ定義ファイル）

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(6)　Object Accessアダプタ実行環境プロパティファイルの作成

Object Accessアダプタの場合，Object Accessアダプタ実行環境プロパティファイルを作成する必要があります。

Object Accessアダプタ実行環境プロパティファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.11.1　Object Accessアダプタ実行環境プロパティファイル」を参照してください。

(7)　TPBroker環境定義ファイルの作成

Object AccessアダプタのORB動作の設定は，プロパティ形式のTPBroker環境定義ファイルとして，ユーザが独自に作成します。定義ファイル名称は"adpoa_tpb.properties"とし，ユーザ定義ファイルにアーカイブします。TPBroker環境定義ファイルは，ユーザ定義ファイルにアーカイブ後に，HCSC開発環境でパッケージングし，実行環境へインポートすることで実行環境に反映されます。TPBroker環境定義ファイルの内容を変更する場合は，ユーザ定義ファイルの再アーカイブ後に，HCSC開発環境で再度パッケージングして実行環境へインポートします。なお，ORB動作の設定が必要ない場合は，TPBroker環境定義ファイルを作成する必要はありません。

TPBroker環境定義ファイルに設定したORB動作は，ほかの環境変数などの定義より優先して適用されます。

ORBの動作を定義します。同一のキーが存在する場合は，後述のキーの値が反映されます。行頭の＃や！はコメントを示します。

＜property name＞＝＜property value＞

定義できるプロパティについては，マニュアル「Borland(R) Enterprise Server VisiBroker(R) プログラマーズリファレンス」を参照してください。

Object Accessアダプタでは，TPBrokerの次のプロパティを標準で設定します。プロパティは，Object AccessアダプタのTPBroker環境定義ファイルで変更します。ただし，vbroker.agent.enableLocatorの設定は変更できません。Object Accessアダプタで，trueを設定してサービス実行時にスマートエージェントと通信します。

表3‒43　設定するプロパティ

プロパティ

説明

設定値

vbroker.ce.iiop.ccm.htc.readerPerConnection

RelativeRoundtripTimeoutPolicyで指定したタイムアウト値が満了した場合，コネクションを切断するかを指定します。

true

タイムアウト発生時にコネクションをクローズしません。

vbroker.agent.enableLocator

サービス実行時にスマートエージェントと通信するかを指定します。

true

サービス実行時にスマートエージェントと通信します。

この設定は変更できません。

3.3.9　Message Queueアダプタを定義する

Message Queueアダプタの定義方法について説明します。

(1)　電文フォーマット定義ファイルの作成

Message Queueアダプタでは，要求電文と応答電文の2種類の電文があります。それぞれの内容について説明します。

電文フォーマット作成手順の詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.　電文フォーマットの作成」を参照してください。

Message Queueアダプタの要求電文・応答電文には，XML形式またはバイナリ形式メッセージが指定できます。

XML形式のメッセージを送信する場合はXML形式電文，バイナリメッセージを送信する場合はバイナリ形式電文だけを指定できます。また，XML形式メッセージを受信する場合はXML形式電文，バイナリメッセージを受信する場合はバイナリ形式電文だけを指定できます。

注意事項

送信メッセージまたは受信メッセージのユーザデータは1バイト以上を指定してください。長さ0バイトのユーザデータはエラーになります。

(a)　要求電文

Message Queueアダプタの呼び出し元から，送信キューへのメッセージ送信および受信キューからのメッセージ受信の実行を要求するための電文を要求電文といいます。

要求電文として送信する情報を説明します。

キュー操作情報

キュー操作情報はキューにアクセスするために必要な情報です。キュー操作情報の内容を次に示します。

表3‒44　キュー操作情報

情報

説明

送信キュー特定情報，受信キュー特定情報

アクセスする送信キューまたは受信キューを指定します。アプリケーション統合属性ファイルの<resource-env-ref>タグ内にある<resource-env-ref-name>タグで指定したresource-env-refの名称を指定します。

メッセージ相関識別子

メッセージ受信要求またはブラウズ・メッセージ受信要求時，メッセージ相関識別子と一致するメッセージを受信する場合に指定します。指定値は24バイト以内でメッセージ送信応答時に設定されるメッセージ相関識別子を指定します。メッセージ相関識別子のフォーマットについては，マニュアル「サービスプラットフォーム解説」の「2.10.2　Message Queueアダプタを使ったメッセージキューへのアクセス」のメッセージ相関識別子の生成方法に関する説明を参照してください。

送信メッセージ

XML形式またはバイナリ形式メッセージを送信要求する場合に要求電文に指定するユーザデータです。

(b)　要求電文の内容

要求電文の内容は，送信キュー特定情報および受信キュー特定情報の有無やメッセージ相関識別子の指定有無および送信メッセージ形式（バイナリ形式またはXML形式）のうち，必要な情報だけを電文に記述します。

●メッセージ送信要求の場合

XML形式で送信キュー特定情報を指定する場合の要求電文形式を次に示します。

表3‒45　XML形式の送信要求電文形式（送信先キュー特定情報指定あり）

情報

電文内のタグ名

指定値

必須

ルート要素

SendRequest

−

○

ヘッダ情報

mqheader

−

○

送信キュー特定情報

sndresname

送信キュー特定情報※

○

送信メッセージ

userdata

ユーザ任意

○

（凡例）

○：必ず指定します。

−：指定値はありません。

注※

Message Queueアダプタ通信構成定義の<res_name>タグを省略した場合，この送信キュー特定情報は指定必須です。Message Queueアダプタ通信構成定義の<res_name>タグを指定した場合，この指定は無視され，Message Queueアダプタ通信構成定義の指定値が使用されます。

XML形式で送信キュー特定情報を指定しない場合の要求電文形式を次に示します。

表3‒46　XML形式の送信要求電文形式（送信先キュー特定情報指定なし）

情報

電文内のタグ名

指定値

必須

ルート要素

SendRequest

−

○

ヘッダ情報

mqheader

−

○

送信メッセージ

userdata

ユーザ任意

○

（凡例）

○：必ず指定します。

−：指定値はありません。

バイナリ形式で送信キュー特定情報を指定する場合について説明します。

バイナリメッセージを送信する場合は，要求電文がバイナリ形式になります。バイナリ形式の要求電文の構造を次に示します。

図3‒17　バイナリ形式の送信要求電文の構造

電文の全体長は次の関係式が成り立つ必要があります。

LL ≧ 10 + Ln

バイナリメッセージを送信する場合に，要求電文に必要な情報を次に示します。

表3‒47　バイナリ形式の送信要求電文形式（送信先キュー特定情報指定あり）

情報

電文内のタグ名

指定値

必須

送信キュー特定情報長

送信キュー特定情報のバイト長を10進数文字列で指定

10バイト

○

送信キュー特定情報

送信キュー特定情報（文字列）

任意

○

送信メッセージ

ユーザ任意

任意

○

（凡例）

○：必ず指定します。

バイナリ形式で送信キュー特定情報を指定しない場合の要求電文形式を次に示します。

表3‒48　バイナリ形式の送信要求電文形式（送信先キュー特定情報指定なし）

情報

電文内のタグ名

指定値

必須

送信メッセージ

ユーザ任意

任意

○

（凡例）

○：必ず指定します。

●メッセージ受信要求の場合

バイナリ形式のメッセージ受信要求は指定できません。

XML形式のメッセージ受信要求電文形式を次に示します。

表3‒49　XML形式のメッセージ受信要求電文形式

情報

電文内のタグ名

指定値

必須

ルート要素

RecvRequest

−

○

ヘッダ情報

mqheader

−

○

受信キュー特定情報

rcvresname

受信キュー特定情報※1

×

メッセージ相関識別子

correlationid

受信メッセージの相関識別子※2

×

（凡例）

○：必ず指定します。

×：省略できます。

−：指定値はありません。

注※1

Message Queueアダプタ通信構成定義の<res_name>タグを省略した場合，この受信キュー特定情報は指定必須です。Message Queueアダプタ通信構成定義の<res_name>タグを指定した場合，この指定は無視され，Message Queueアダプタ通信構成定義の指定値が使用されます。

注※2

Message Queueアダプタ通信構成定義の<id_type>タグの指定値がType2の場合，このメッセージ相関識別子は指定必須です。Message Queueアダプタ通信構成定義の<id_type>タグを省略またはType1を指定した場合，この指定は無視されます。

●ブラウズ・メッセージ受信要求の場合

バイナリ形式のブラウズ・メッセージ受信要求は指定できません。

XML形式のブラウズ・メッセージ受信要求電文形式を次に示します。

表3‒50　XML形式のブラウズ・メッセージ受信要求電文形式

情報

電文内のタグ名

指定値

必須

ルート要素

BrowseRequest

−

○

ヘッダ情報

mqheader

−

○

受信キュー特定情報

rcvresname

受信キュー特定情報※1

×

メッセージ相関識別子

correlationid

受信メッセージの相関識別子※2

×

（凡例）

○：必ず指定します。

×：省略できます。

−：指定値はありません。

注※1

Message Queueアダプタ通信構成定義の<res_name>タグを省略した場合，この受信キュー特定情報は指定必須です。Message Queueアダプタ通信構成定義の<res_name>タグを指定した場合，この指定は無視され，Message Queueアダプタ通信構成定義の指定値が使用されます。

注※2

Message Queueアダプタ通信構成定義の<id_type>タグの指定値がType2の場合，このメッセージ相関識別子は指定必須です。Message Queueアダプタ通信構成定義の<id_type>タグを省略またはType1を指定した場合，この指定は無視されます。

●メッセージ送受信要求の場合

XML形式の送信キュー特定情報および受信キュー特定情報を指定する場合の要求電文形式を次に示します。

表3‒51　XML形式のメッセージ送受信要求電文形式（送受信キュー特定情報指定あり）

情報

電文内のタグ名

指定値

必須

ルート要素

SndRcvRequest

−

○

ヘッダ情報

mqheader

−

○

送信キュー特定情報

sndresname

送信キュー特定情報※

○

受信キュー特定情報

rcvresname

受信キュー特定情報※

○

送信メッセージ

userdata

任意

○

（凡例）

○：必ず指定します。

−：指定値はありません。

注※

Message Queueアダプタ通信構成定義の<res_inf>タグを省略した場合，この送信キュー特定情報および受信キュー特定情報は指定必須です。Message Queueアダプタ通信構成定義の<res_inf>タグを指定した場合，この指定は無視され，Message Queueアダプタ通信構成定義の指定値が使用されます。

XML形式の送信キュー特定情報および受信キュー特定情報を指定しない場合の要求電文形式を次に示します。

表3‒52　XML形式のメッセージ送受信要求電文形式（送受信キュー特定情報指定なし）

情報

電文内のタグ名

指定値

必須

ルート要素

SndRcvRequest

−

○

ヘッダ情報

mqheader

−

○

送信メッセージ

userdata

任意

○

（凡例）

○：必ず指定します。

−：指定値はありません。

バイナリ形式の送信キュー／受信キュー特定情報を指定する場合について説明します。

バイナリメッセージを送受信する場合は，要求電文がバイナリ形式になります。バイナリ形式の要求電文の構造を次に示します。

図3‒18　バイナリ形式の送受信要求電文の構造

電文の全体長は次のような関係式が成り立つ必要があります。

LL ≧ 10 + Ln + 10 + Lo

バイナリメッセージを送受信する場合に，要求電文に必要な情報を次に示します。

表3‒53　バイナリ形式の送信要求電文形式（送信先キュー/受信キュー特定情報指定あり）

情報

電文内のタグ名

指定値

必須

送信キュー特定情報長

送信キュー特定情報のバイト長を10進数文字列で指定

10バイト

○

送信キュー特定情報

送信キュー特定情報（文字列）

任意

○

受信キュー特定情報長

受信キュー特定情報のバイト長を10進数文字列で指定

10バイト

○

受信キュー特定情報

受信キュー特定情報（文字列）

任意

○

送信メッセージ

ユーザ任意

任意

○

（凡例）

○：必ず指定します。

バイナリ形式の送信キュー／受信キュー特定情報を指定しない場合の要求電文形式を次に示します。

表3‒54　バイナリ形式の送信要求電文形式（送信先キュー／受信キュー特定情報指定なし）

情報

電文内のタグ名

指定値

必須

送信メッセージ

ユーザ任意

任意

○

（凡例）

○：必ず指定します。

(c)　応答電文

Message Queueアダプタの呼び出し元へ返却する電文を応答電文といいます。応答電文として返される情報を説明します。

受信メッセージ

XML形式，またはバイナリ形式のメッセージを受信する場合，応答電文に格納されるユーザデータです。

メッセージ送信結果

XML形式，またはバイナリ形式のメッセージを送信する場合，送信処理の結果が応答電文へ格納されます。送信処理が失敗した場合，Message Queueアダプタはカスタムアダプタ開発フレームワークへ例外を通知し応答電文は返しません。応答電文にメッセージ送信結果が格納されるのは，メッセージ送信が成功したときだけとなります。このため，メッセージ送信時の応答電文の返却値は必ず「OK」になります。

メッセージ相関識別子

XML形式，またはバイナリ形式のメッセージの送信時，JMSCorrelationIDヘッダフィールドに設定したメッセージ相関識別子です。

(d)　応答電文の内容

応答電文の内容は，受信メッセージ形式（バイナリ形式またはXML形式）によって異なります。

なお，バイナリ形式のメッセージ送信応答は指定できません。

XML形式の送信応答電文形式を次に示します。

●メッセージ送信要求の応答電文の場合

XML形式の送信応答電文形式を次に示します。

表3‒55　XML形式の送信応答電文形式

情報

電文内のタグ名

返却値

ルート要素

SendResponse

−

メッセージ送信結果

status

OK

メッセージ相関識別子

correlationid

メッセージ相関識別子※

（凡例）

−：返却値はありません。

注※

Message Queueアダプタ通信構成定義の<id_type>でType2を指定した場合に返却されます。

●メッセージ受信要求の応答電文の場合

XML形式のメッセージ受信応答電文形式を次に示します。

表3‒56　XML形式のメッセージ受信応答電文形式

情報

電文内のタグ名

返却値

受信メッセージ

ユーザ任意

ユーザ任意

バイナリ形式のメッセージ受信応答電文形式を次に示します。

表3‒57　バイナリ形式のメッセージ受信応答電文形式

情報

電文内のタグ名

受信メッセージ

ユーザ任意

●ブラウズ・メッセージ受信要求の応答電文の場合

XML形式のブラウズ・メッセージ受信応答電文形式を次に示します。

表3‒58　XML形式のブラウズ・メッセージ受信応答電文形式

情報

電文内のタグ名

返却値

受信メッセージ

ユーザ任意

ユーザ任意

バイナリ形式のブラウズ・メッセージ受信応答電文形式を次に示します。

表3‒59　バイナリ形式のブラウズ・メッセージ受信応答電文形式

情報

電文内のタグ名

受信メッセージ

ユーザ任意

●メッセージ送受信要求の応答電文

XML形式のメッセージ送受信応答電文形式を次に示します。

表3‒60　XML形式のメッセージ送受信応答電文形式

情報

電文内のタグ名

返却値

受信メッセージ

ユーザ任意

ユーザ任意

バイナリ形式のメッセージ送受信応答電文形式を次に示します。

表3‒61　バイナリ形式のメッセージ送受信応答電文形式

情報

電文内のタグ名

受信メッセージ

ユーザ任意

(e)　フォーマット定義ファイルの作成

各電文フォーマットのうち，サービス部品項目に設定する電文フォーマットがMessage Queueアダプタの電文フォーマットです。Message Queueアダプタの電文フォーマットの作成方法を説明します。

XML形式の要求電文

要求電文用のXMLフォーマット定義ファイルは，テンプレートファイルを使用して作成するか，製品提供ファイルを使用します。それ以外の場合はユーザが独自に作成してください。

XMLフォーマット定義テンプレートファイルを使用する場合

メッセージの送信要求電文で送信キューを指定します。

メッセージの送受信要求で送信キューおよび受信キューを指定します。

製品提供ファイルを使用する場合

メッセージの受信要求電文で受信キューおよびメッセージ相関識別子を指定します。

ブラウズ・メッセージ受信要求で受信キューおよびメッセージ相関識別子を指定します。

ユーザが独自に作成する場合

上記，XMLフォーマット定義テンプレートファイルを使用する場合にも製品提供ファイルを使用する場合にも該当しない場合は，ユーザが独自に作成してください。

XMLフォーマット定義テンプレートファイルとカスタマイズの説明を次に示します。

図3‒19　メッセージ送信要求電文用テンプレートファイル（adpmq_snd_request.xsd）

表3‒62　メッセージ送信要求電文用テンプレートファイルの内容

行数

説明

4行目

このテンプレートファイルの名前空間宣言を表します。ユーザは6行目に指定したtargetNamespace属性の値に任意の接頭辞を宣言します。

6行目

このテンプレートファイルの対象名前空間を表します。ユーザはtargetNamespace属性の値に一意となる対象名前空間を指定します。

8行目

25行目でユーザデータ用のXMLスキーマ情報をインポートする場合，5行目にインポートするスキーマのターゲットネームスペースを，8行目にインポートするスキーマのインポート文を記述します。

10〜16行目

SendRequest要素宣言を表します。要求電文のルート要素となる。mqheader要素とuserdata要素を持ちます。ユーザはmqheader要素とuserdata要素の接頭辞として4行目で宣言した接頭辞を記述します。

18〜22行目

mqheader要素宣言を表します。

24行目

userdata要素宣言を表します。

25行目

ユーザデータ用のXMLスキーマ情報を記述します。

記述方法

記述方法は2種類あり，このファイルに直接記述する方法と，ユーザデータ用のXMLスキーマ情報を記述するファイルを別に作成し，このファイルからインポートする方法があります。インポートする場合は5行目にインポートするスキーマのターゲットネームスペースを，8行目にインポートするスキーマのインポート文を記述します。

注意事項

ユーザデータ用のXMLスキーマ情報を記述する際，userdata要素の子要素には複数の要素を宣言してはいけません。userdata要素の子要素はXMLファイル出力時にルート要素となる要素であるため，userdata要素の子要素は必ず1つだけ宣言してください。

図3‒20　メッセージ送受信要求電文用フォーマット定義テンプレートファイル（adpmq_sndrcv_request.xsd）

表3‒63　メッセージ送受信要求電文用テンプレートファイルの内容

行数

説明

4行目

このテンプレートファイルの名前空間宣言を表します。ユーザは6行目に指定したtargetNamespace属性の値に任意の接頭辞を宣言します。

6行目

このテンプレートファイルの対象名前空間を表します。ユーザはtargetNamespace属性の値に一意となる対象名前空間を指定します。

8行目

26行目でユーザデータ用のXMLスキーマ情報をインポートする場合，5行目にインポートするスキーマのターゲットネームスペースを，8行目にインポートするスキーマのインポート文を記述します。

10〜16行目

SndRcvRequest要素宣言を表します。要求電文のルート要素となるmqheader要素とuserdata要素を持ちます。ユーザはmqheader要素とuserdata要素の接頭辞として4行目で宣言した接頭辞を記述します。

18〜23行目

mqheader要素宣言を表します。

21行目

受信キュー特定情報の指定要素を表します。この指定個所がメッセージ送信要求用テンプレートファイルと異なります。

25行目

userdata要素宣言を表します。

26行目

ユーザデータ用のXMLスキーマ情報を記述します。

記述方法

記述方法は2種類あり，このファイルに直接記述する方法と，ユーザデータ用のXMLスキーマ情報を記述するファイルを別に作成し，このファイルからインポートする方法があります。インポートする場合は5行目にインポートするスキーマのターゲットネームスペースを，8行目にインポートするスキーマのインポート文を記述します。

注意事項

ユーザデータ用のXMLスキーマ情報を記述する際，userdata要素の子要素には複数の要素を宣言してはいけません。userdata要素の子要素はXMLファイル出力時にルート要素となる要素であるため，userdata要素の子要素は必ず１つの要素しか宣言できません。

XML形式の応答電文

応答電文用のXMLフォーマット定義ファイルは，製品提供のフォーマット定義ファイルを使用するか，ユーザが独自に作成してください。

製品提供ファイルを使用する場合

次の条件に当てはまるときに使用します。

メッセージ送信応答するとき。

メッセージ受信応答，ブラウズ・メッセージ受信応答またはメッセージ送受信応答でFault応答情報電文を受信するとき。

ユーザが独自に作成する場合

上記，製品提供ファイルを使用する場合に該当しない場合は，ユーザが独自に作成してください。

バイナリ形式の要求電文

要求電文用のバイナリフォーマット定義ファイルは，製品提供のテンプレートファイルを使用してユーザがバイナリフォーマット定義画面で編集するか，ユーザが独自に作成してください。

バイナリフォーマット定義テンプレートファイルを使用する場合

メッセージの送信要求電文で送信キュー特定情報を指定するとき。

メッセージ送受信要求で送信キュー特定情報および受信キュー特定情報を指定するとき。

ユーザが独自に作成する場合

上記，製品提供ファイルを使用する場合に該当しない場合は，ユーザが独自に作成してください。

バイナリ形式の応答電文

応答電文用バイナリフォーマット定義ファイルは次のケースがありますが，ユーザが独自に作成してください。

メッセージ受信応答でバイナリメッセージを受信する。

ブラウズ・メッセージ受信応答でバイナリメッセージを受信する。

メッセージ送受信応答でバイナリメッセージを受信する。

(2)　データ変換の定義

データ変換（マッピング）定義画面で，変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルを設定して，データ変換を定義します。

データ変換の定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(3)　サービスアダプタ定義画面での操作

Message Queueアダプタを定義する場合の手順を次に示します。設定内容の詳細は，「3.3.19(9)　Message Queueアダプタの場合」を参照してください。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］および［サービスID］を必要に応じて編集します。

サービス部品制御情報の［追加］ボタンをクリックして，定義パターン，オペレーション名，およびフォルト名※を指定します。

オペレーション名はMessage Queueアダプタ通信構成定義のオペレーション名（op_name）と一致させる必要があります。

注※　定義パターンが「メッセージ送信」以外の場合に指定します。

オペレーション情報の［通信モデル］のドロップダウンリストから，「同期」を選択します。

要求電文について，手順6.から手順15.までを実施します。

次に示す操作をします。

標準電文のフォーマットを指定する場合

手順7.〜9.を実施して，手順10.に進みます。

標準電文のフォーマットを指定しない場合

手順10.に進みます。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

指定できる電文フォーマットの形式については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

標準電文の［表示］ボタンをクリックします。

電文フォーマットがXML形式の場合，標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

手順3.で指定した定義パターンに応じて次の電文フォーマットが設定されていることを確認します。

定義パターンが「メッセージ送信」の場合

要求電文のサービス部品：なし

応答電文のサービス部品：adpmq_snd_response.xsd

フォルト電文：なし

定義パターンが「メッセージ受信」の場合

要求電文のサービス部品：adpmq_rcv_request.xsd

応答電文のサービス部品：なし

フォルト電文：adpmq_fault_response.xsd

定義パターンが「ブラウズ・メッセージ受信」の場合

要求電文のサービス部品：adpmq_browse_request.xsd

応答電文のサービス部品：なし

フォルト電文：adpmq_fault_response.xsd

定義パターンが「メッセージ送受信」の場合

要求電文のサービス部品：なし

応答電文のサービス部品：なし

フォルト電文：adpmq_fault_response.xsd

サービス部品電文の［表示］ボタンをクリックします。

サービス部品電文のフォーマットが表示されます。必要に応じてサービス部品電文のフォーマットを確認してください。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順13.〜15.を実施して，手順16.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順16.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

標準電文とサービス電文の内容をマッピングします。

応答電文についても，手順6.から手順15.までを実施します。

サービスアダプタ定義（詳細）タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

サービスアダプタ（EJB-JARファイル）およびユーティリティクラス（JARファイル）の名称を確認します。

サービスアダプタ（EJB-JARファイル）の名称が「cscmsg_adpejb.jar」，ユーティリティクラス（JARファイル）の名称が「adpmqpc.jar」であることを確認してください。

独自定義ファイルに次のファイルが追加されていることを確認します。

customadapter_properties.xml（Message Queueアダプタ環境定義ファイル）

adpmq_communication（Message Queueアダプタ通信構成定義ファイル）

cscadapter_property.xml（アプリケーション統合属性ファイル）

(4)　Message Queueアダプタ環境定義ファイルの編集

Message Queueアダプタの環境定義に必要な情報は，XML形式のMessage Queueアダプタ環境定義ファイルに定義します。

Message Queueアダプタ環境定義ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「customadapter_properties.xml」を選択し，［編集］ボタンをクリックします。

Message Queueアダプタ環境定義ファイルを編集するためのエディタが起動します。

エディタ上でMessage Queueアダプタ環境定義ファイルを編集します。

Message Queueアダプタ環境定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.8.1　Message Queueアダプタ環境定義ファイル」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(5)　Message Queueアダプタ通信構成定義ファイルの編集

Message Queueアダプタの通信構成定義に必要な情報は，XML形式のMessage Queueアダプタ通信構成定義ファイルに定義します。

Message Queueアダプタ通信構成定義ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「adpmq_communication.xml」を選択し，［編集］ボタンをクリックします。

Message Queueアダプタ通信構成定義ファイルを編集するためのエディタが起動します。

エディタ上でMessage Queueアダプタ通信構成定義ファイルを編集します。

Message Queueアダプタ通信構成定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.8.2　Message Queueアダプタ通信構成定義ファイル」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(6)　アプリケーション統合属性ファイルの編集

アプリケーション統合属性ファイルの編集方法について説明します。

(a)　編集手順

アプリケーション統合属性ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「cscadapter_property.xml」を選択し，［編集］ボタンをクリックします。

アプリケーション統合属性ファイルを編集するためのエディタが起動します。

エディタ上でアプリケーション統合属性ファイルを編集します。

設定内容については「(b) 定義詳細」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(b)　定義詳細

アプリケーション統合属性ファイルの内容を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hitachi-application-all-property PUBLIC
'-//Hitachi, Ltd.//DTD Application All Property 7.6//EN' 'http://localhost/hitachi-application-all-property_7_6.dtd'>
<!-- All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd. -->

<hitachi-application-all-property>
  <hitachi-application-property>
    <lookup-name>CSCMQ</lookup-name>
    <security-prop>
      <security-method>no_security_for_methods_without_roles</security-method>
    </security-prop>
    <managed-by-ctm>false</managed-by-ctm>
  </hitachi-application-property>
  <ejb-jar>
    <hitachi-ejb-jar-property>
      <display-name>CSCMsgServiceAdapter</display-name>
    </hitachi-ejb-jar-property>
    <hitachi-session-bean-property>
      <display-name>CSCMsgServiceAdapterEJB</display-name>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
      <resource-ref>
        <res-ref-name>jms/リソースアダプタ特定情報</res-ref-name>
        <res-type>javax.jms.QueueConnectionFactory</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Unshareable</res-sharing-scope>
        <linked-to>リソースアダプタ表示名</linked-to>
      </resource-ref>
      <resource-env-ref>
        <resource-env-ref-name>送信キュー特定情報または受信キュー特定情報</resource-env-ref-name>
        <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
        <linked-adminobject>
          <resourceadapter-name>リソースアダプタ表示名</resourceadapter-name>
          <adminobject-name>管理対象オブジェクト名</adminobject-name>
        </linked-adminobject>
      </resource-env-ref>
      <container-transaction>
        <description></description>
        <method>
          <description></description>
          <method-intf></method-intf>
          <method-name>*</method-name>
        </method>
        <trans-attribute>Required</trans-attribute>
      </container-transaction>
      <session-runtime>
        <lookup-name>CSCMsgServiceAdapterEJB</lookup-name>
        <optional-name></optional-name>
        <maximum-sessions>0</maximum-sessions>
        <stateless>
          <pooled-instance>
            <minimum>インスタンス最小数</minimum>
            <maximum>インスタンス最大数</maximum>
          </pooled-instance>
        </stateless>
      </session-runtime>
   </hitachi-session-bean-property>
  </ejb-jar>
</hitachi-application-all-property>

定義の設定値について説明します。

●アプリケーション属性<hitachi-application-property>

<lookup-name>

クライアントからEJBをルックアップするときに使う名前として「CSCMQ」を指定します。

<security-method>

セキュリティの管理方法として「no_security_for_methods_without_roles」を指定します。

<managed-by-ctm>

CTMの連帯として「false（CTMと連携しない）」を指定します。

●EJB-JAR属性<hitachi-ejb-jar-property>

<display-name>

EJB-JARの表示名として「CSCMsgServiceAdapter」を指定します。

●Session Bean属性<hitachi-session-bean-property>

<display-name>

Session Beanの表示名として「CSCMsgServiceAdapterEJB」を指定します。

<session-type>

Session Beanの種別として「Stateless」を指定します。

<transaction-type>

トランザクション管理種別として「Container」を指定します。

<res-ref-name>

リソースアダプタ特定情報を指定します。この指定値はリソースアダプタを特定する任意の名称を指定します。指定するときは先頭に「jms/」を付与してください。

この要素と同一の指定値をMessage Queueアダプタ通信構成定義の<res_ref_name>要素に設定してください。

<res-type>

リソース種別を指定します。参照先リソースアダプタのコネクション定義識別子（<connectionfactory-interface>タグの設定値）として「javax.QueueConnectionFactory」を指定します。

<res-auth>

認証方式として「Container」を指定します。

<res-sharing-scope>

参照したリソースアダプタ共有有無の指定として「Unshareable」を指定します。

<linked-to>

参照するリソースアダプタの表示名を指定します。

Outboundリソースアダプタは，<リソースアダプタ表示名>!<コネクション定義識別子>で指定します。

<コネクション定義識別子>とは，リソースアダプタのデプロイ・ディスクリプター（ra.xml）の<connectionfactory-interface>タグで指定した値のことです。

<res-env-ref-name>

送信キュー特定情報または受信キュー特定情報を指定します。この指定値は接続先キューを特定する任意の名称を指定します。指定するときは先頭に「jms/」を付与してください。

この要素と同一の指定値をMessage Queueアダプタ通信構成定義の<res_name>，<snd_res_name>，または<rcv_res_name>要素に設定してください。

<res-env-ref-type>

リソース環境変数の値のクラスタイプの指定として「javax.jms.Queue」を指定します。

<resourceadapter-name>

リソース環境変数のリソースアダプタの表示名を指定します。

<adminobject-name>

管理対象オブジェクト名を指定します。リソースアダプタのデプロイ・ディスクリプター（ra.xml）の<adminobject-name>と同一の値を指定します。

<trans-attribute>

メソッドに割り当てるトランザクション属性として「Required」を指定します。

<lookup-name>

クライアントからEJBをルックアップする場所に使用する名称として「CSCMsgServiceAdapterEJB」を指定します。

<maximum-sessions>

セッションの最大数として「0（無制限）」を指定します。

<minimum>

プール内のインスタンスの最小数を指定します。

<maximum>

プール内のインスタンスの最大数を指定します。

アプリケーション統合属性ファイルの詳細については，次の個所を参照してください。

マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「9.2　アプリケーション統合属性ファイルによるプロパティ設定」

マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション／リソース定義)」の「3.1　アプリケーション統合属性ファイル」

(7)　Message Queueアダプタ実行環境プロパティファイルの作成

Message Queueアダプタの場合，Message Queueアダプタ実行環境プロパティファイルを作成する必要があります。

Message Queueアダプタ実行環境プロパティファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.12.1　Message Queueアダプタ実行環境プロパティファイル」を参照してください。

3.3.10　FTPアダプタを定義する

FTPアダプタの定義方法について説明します。

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

FTPアダプタの電文フォーマットの定義ファイルはサービスプラットフォームが提供するスキーマを使用します。そのため，電文フォーマットの定義ファイルの作成は不要です。

FTPアダプタで使用する電文フォーマットの内容について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥schema」です。

(a)　FTPアダプタの要求電文フォーマット

FTPアダプタの要求電文フォーマットを，オペレーションごとに説明します。

●PUTオペレーション

ビジネスプロセスからFTPアダプタに渡すPUTオペレーションの要求電文フォーマットを次に示します。ファイル名は「ftpadp_put_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/put_request」です。

表3‒64　要求電文フォーマット（PUTオペレーション）

タグ名

出現回数※1

説明

<request>

1回

−

<host-ipaddr>

0または1回

接続するFTPサーバのIPアドレスまたはホスト名です。

タグがあって値がある場合

指定の文字列でconnectが発行されます。

タグがあって値がない場合

システム例外を返します。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合，システム例外を返します。

Windowsを使用する場合，ループバックIPアドレス（127.0.0.1またはlocalhost）を指定すると，FTP接続に失敗する場合があります。実IPアドレスまたはホスト名を指定してください。

<host-con-port>

0または1回

FTPサーバの制御コネクション用ポート番号です。

タグがあって値がある場合

1から65535までのポート番号を指定します。これ以外の値を指定した場合，システム例外を返します。

タグがあって値がない場合

デフォルトの21が指定されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<file-name-charset>

0または1回

FTPサーバとの制御コネクションで，情報（ファイル名など）を送受信するときに使用する文字セットの名称を示すタグです。指定値は次のどちらかです。

UTF-8：文字セットに「UTF-8」を使用します。

MS932：文字セットに「MS932」を使用します。

タグがあって値が使用できる文字セット名の場合

情報（ファイル名など）を送受信するときの文字セットとして適用されます。

タグがあって値が使用できない文字セット名の場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「UTF-8」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps>

0または1回

FTPSに関する設定を示すタグです。タグがない場合，FTPSに関するすべての設定はFTPアダプタ実行環境プロパティファイルの値が有効となります。

<ftps-enable>

0または1回

FTPサーバとの接続にFTPSを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true：FTPサーバとの接続にFTPSを使用します。

false：FTPサーバとの接続に通常のFTPを使用します。※2

FTPSを使用する場合，制御コネクションおよびデータコネクションの通信は暗号化されます。ただし，接続先のFTPサーバがFTPSによる接続をサポートしている必要があります。「true」を指定した場合でも，データコネクションの通信の暗号化が設定されていないときは，データコネクションの通信も暗号化されません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps-protocol-name>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，使用するセキュリティ通信用のプロトコルを示すタグです。指定値は次のどちらかです。

TLS：セキュリティ通信用のプロトコルにTLSを使用します。

SSL：セキュリティ通信用のプロトコルにSSLを使用します。

タグがあって値が「TLS」または「SSL」の場合

指定した値が適用されます。

タグがあって値が「TLS」または「SSL」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「TLS」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-implicit-mode>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，FTPSのImplicitモードを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true：Implicitモードを使用します。

false：Explicitモードを使用します。※2

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-data-con-secure>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，データコネクションの通信を暗号化するかどうかを指定するタグです。指定値は次のどちらかです。

true：データコネクションの通信を暗号化します。

false：データコネクションの通信を暗号化しません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「true」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-server-authentication>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，サーバ認証をするかどうかを指定するタグです。指定値は次のどちらかです。

true：サーバ認証をします。

false：サーバ認証をしません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。なお，「true」を指定する場合，キーストアに関する設定が必要です。キーストアの設定方法については，「付録H.1　FTPSを使用したセキュアな接続（FTPアダプタ）」を参照してください。

<ftp-user>※3

0または1回

接続するFTPサーバのログインユーザ名を示すタグです。USERコマンドの引数として使用します。このタグに指定するログインユーザには，ファイル操作を実行できる権限が与えられている必要があります。

FTPアダプタ実行環境プロパティファイルに重複して設定されている場合，要求電文の値が有効になります。

タグがあって正常な値がある場合

「USER　"値"」が発行されます。値に改行が含まれている場合，システム例外を返します。

タグがあって値がない場合，または値に不正な文字が含まれている場合

システム例外を返します。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合，システム例外を返します。

<ftp-acct>※3

0または1回

接続するFTPサーバの課金情報を示すタグです。

FTPアダプタアカウント定義ファイルに重複して設定されている場合，要求電文の値が有効になります。

課金情報を必要とするユーザ

条件に応じて次の値が利用されます。

タグがあって正常な値がある場合

タグの内容がACCTコマンドに利用されます。値に改行が含まれている場合，システム例外を返します。

タグがあって値に不正な文字が含まれている場合

システム例外を返します。

タグがあって値がない場合

「ACCT　""」が発行されます。

タグがない場合

FTPアダプタアカウント定義ファイルで指定されているACCTの値が利用されます。FTPアダプタアカウント定義ファイルにACCTがない場合は「ACCT　""」が発行されます。

課金情報を必要としないユーザ

指定は無視されます。

<ftp-type>

0または1回

転送するデータタイプ（伝送モード）を示すタグです。TYPEコマンドの引数として使用します。FTPアダプタ実行環境プロパティファイルに重複して設定されている場合，要求電文の値が有効になります。

指定値は次のどちらかです。

A：ASCII形式で転送します。

I：バイナリ形式で転送します。

タグがあって値が「A」または「I」の場合

TYPEコマンドの引数として使用されます。

タグがあって値が「A」または「I」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

TYPEコマンドは実行されません。※4

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合，TYPEコマンドは実行されません。※4

<ftp-mode>

0または1回

転送モード（圧縮モード）を示すタグです。MODEコマンドの引数として使用します。FTPアダプタ実行環境プロパティファイルに重複して設定されている場合，要求電文の値が有効になります。

指定値は次のどちらかです。

S：ファイルを圧縮しないで伝送します。

C：ファイルを圧縮して伝送します。

タグがあって値が「S」または「C」の場合

MODEコマンドの引数として使用されます。

タグがあって値が「S」または「C」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

MODEコマンドは実行されません。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効となります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は，デフォルトの「S」でMODEコマンドが実行されます。

<pasvport>

0または1回

データコネクションの接続モードを示すタグです。

指定値は次のどちらかです。

PASV：PASVモードでデータコネクションを設定します。

PORT：PORTモードでデータコネクションを設定します。

タグがあって値が「PASV」または「PORT」の場合

指定した値が適用されます。

タグがあって値が「PASV」または「PORT」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「PASV」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は，デフォルトの「PASV」でデータコネクションを設定します。

要求電文からデータコネクションの接続モードを設定する場合，FTPアダプタ実行環境プロパティファイルで設定した値に対して，次のプロパティの値のチェック処理が実施されます。

PASV

ftpadp.client-pasv-port.min

ftpadp.client-pasv-port.max

PORT

ftpadp.listen-port.min

ftpadp.listen-port.max

チェック処理の詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.8.3　FTPアダプタ実行環境プロパティファイル」を参照してください。

<file-size-check>

0または1回

送信側と受信側で，転送されたファイルのサイズが正しいかどうか確認する機能を，実行するかどうかを指定するタグです。

指定値は次のどちらかです。

true：ファイルサイズを確認します。

false：ファイルサイズを確認しません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<transfer-type>

1回

転送種別を示すタグです。次のどちらかを設定します。

STOR：ファイルの上書き

APPE：ファイルへの情報追加

タグがあって値が「STOR」または「APPE」の場合

転送種別として利用されます。

タグがない，またはタグがあって値が「STOR」または「APPE」のどちらでもない場合

システム例外を返します。

<request-id>

0または1回

受付で作成したリクエストIDを示すタグです。

タグがあって値がある場合

リクエストIDとして利用されます。

タグがない，またはタグがあって値がない場合

作業フォルダを利用するときはシステム例外を返します。共通フォルダを利用するときは無視されます。

<local-folder>

1回

ローカル側フォルダを示すタグです。

タグの属性にcommon="true"が指定されている場合

ローカルフォルダとして共通フォルダを利用し，このタグには「共通フォルダ定義名」を指定します。

指定された共通フォルダ定義名から共通フォルダが取得できないときは，システム例外を返します。

タグの属性にcommon="false"が指定されている場合

ローカルフォルダとして作業フォルダを利用します。

common属性がない，または値が"true"および"false"のどちらでもない場合

システム例外を返します。

<local-file-name>

1回

ローカル側ファイル名を示すタグです。

作業フォルダを利用する場合，作業フォルダ直下のファイルを指定してください。ファイル名の先頭以外に区切り文字（スラッシュ（/），円マーク（¥）など）は使用できません。ファイル名の先頭にスラッシュ（/）を使用した場合，スラッシュ（/）は無視されます。

共通フォルダを利用する場合，共通フォルダルート配下のファイルを指定してください。シンボリックリンク以外のファイルを指定してください。

タグがあって値が上記の制限に従っている場合

ファイル名として使用されます。

タグがあって値が上記の制限に違反する場合

システム例外を返します。

タグがない，またはタグがあって値がない場合

システム例外を返します。

<remote-path>※5

1回

リモートパス名（FTPサーバに転送するときの転送先パス名）を示すタグです。

タグがあって値がある場合

リモートパス名として利用されます。

タグがない，またはタグがあって値がない場合

システム例外を返します。

<ftp-commands-before>

0または1回

ファイル転送前に実行するFTPコマンドとその引数を示すタグです。※6

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します（例：MKD transdir;CWD transdir）。

タグがあって値がある場合

ファイル転送前に実行するコマンドとして利用されます。

タグがない，またはタグがあって値がない場合

ファイル転送前に実行するコマンドはありません。

<ftp-commands-after>

0または1回

ファイル転送後に実行するFTPコマンドとその引数を示すタグです。※6

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します（例：RNFR oldfile.txt;RNTO newfile.txt）。

タグがあって値がある場合

ファイル転送後に実行するコマンドとして利用されます。

タグがない，またはタグがあって値がない場合

ファイル転送後に実行するコマンドはありません。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

接続先FTPサーバがFTPSのImplicitモードで動作している場合に<ftps-enable>タグ，または<ftps-implicit-mode>タグの値にfalseを指定すると，FTPサーバに接続したあとタイムアウトが発生するまで待ち状態となることがあります。

タイムアウトが発生するまでの時間は，次の値のうちどちらか小さい方です。

・FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値

・接続先FTPサーバ側で設定されたタイムアウト値

FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値でタイムアウトとなった場合，FTPアダプタ実行環境プロパティファイルのftpadp.control-con.retry.countプロパティで指定した回数のリトライを行ったあと，KDEK30407-Eのエラーが発生します。

接続先FTPサーバ側で設定されたタイムアウト値でタイムアウトとなった場合，KDEK30428-Eのエラーが発生します。

注※3

使用できる文字を次に示します。

半角英数字，半角空白，感嘆符（!），ダブルクォーテーション（"），番号記号（#），ドル記号（$），パーセント（%），アンパサンド（&），アポストロフィ（'），始め小括弧（(），終わり小括弧（)），アスタリスク（*），正符号（+），コンマ（,），ハイフン（-），ピリオド（.），スラッシュ（/），コロン（:），セミコロン（;），左アングルブラケット（<），右アングルブラケット（>），等号（=），クエスチョンマーク（?），単価記号（@），始め角括弧（[），終わり角括弧（]），円マーク（¥），アクサンシルコンフレックス（^），アンダーバー（_），アクサングラーブ（`），始め波括弧（{），終わり波括弧（}），パイプライン（|），波ダッシュ（~）

注※4

FTPプロトコルの仕様（RFC959）に従い，デフォルトではASCII形式で転送されます。

注※5

FTP受付の要求電文の<transfer-path>タグと同じ値をFTPアダプタの<remote-path>タグに設定すると，パスの先頭がスラッシュ（/）になります。

パスの先頭にスラッシュ（/）があると問題がある場合は，ビジネスプロセスのデータ変換アクティビティで部分文字列取得ファンクション（substr）を使用してFTP受付の要求電文の<transfer-path>タグの値から2文字目以降の文字列を取り出して，FTPアダプタの<remote-path>タグに設定してください。パスの先頭にスラッシュ（/）があると問題がある場合とは，相対パスを指定する場合やWindowsの絶対パス形式でパスを指定したい場合などです。

注※6

<ftp-commands-before>タグおよび<ftp-commands-after>タグに指定されたコマンドは，そのままFTPサーバに送られ，FTPアダプタはコマンドのオプションの妥当性やコマンドの実行による影響について関知しません。

そのため，<ftp-commands-before>タグおよび<ftp-commands-after>タグにOPTS UTF {ON|OFF}コマンドを指定した場合は，FTPサーバとの通信に適用される文字セットを次のどちらかで指定しておく必要があります。

・要求電文の<file-name-charset>タグ

・FTPアダプタ実行環境プロパティファイルのftpadp.file-name.charsetプロパティ

●GETオペレーション

ビジネスプロセスがFTPアダプタに渡すGETオペレーションの要求電文のフォーマットを次に示します。ファイル名は「ftpadp_get_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/get_request」です。

表3‒65　要求電文フォーマット（GETオペレーション）

タグ名

出現回数※1

説明

<request>

1回

−

<host-ipaddr>

0または1回

接続するFTPサーバのIPアドレスまたはホスト名です。

タグがあって値がある場合

指定の文字列でconnectが発行されます。

タグがあって値がない場合

システム例外を返します。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合，システム例外を返します。

Windowsを使用する場合，ループバックIPアドレス（127.0.0.1またはlocalhost）を指定すると，FTP接続に失敗する場合があります。実IPアドレスまたはホスト名を指定してください。

<host-con-port>

0または1回

FTPサーバの制御コネクション用ポート番号です。

タグがあって値がある場合

1から65535までのポート番号を指定します。これ以外の値を指定した場合，システム例外を返します。

タグがあって値がない場合

デフォルトの21が指定されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<file-name-charset>

0または1回

FTPサーバとの制御コネクションで，情報（ファイル名など）を送受信するときに使用する文字セットの名称を示すタグです。指定値は次のどちらかです。

UTF-8：文字セットに「UTF-8」を使用します。

MS932：文字セットに「MS932」を使用します。

タグがあって値が使用できる文字セット名の場合

情報（ファイル名など）を送受信するときの文字セットとして適用されます。

タグがあって値が使用できない文字セット名の場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「UTF-8」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps>

0または1回

FTPSに関する設定を示すタグです。タグがない場合，FTPSに関するすべての設定はFTPアダプタ実行環境プロパティファイルの値が有効となります。

<ftps-enable>

0または1回

FTPサーバとの接続にFTPSを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true：FTPサーバとの接続にFTPSを使用します。

false：FTPサーバとの接続に通常のFTPを使用します。※2

FTPSを使用する場合，制御コネクションおよびデータコネクションの通信は暗号化されます。ただし，接続先のFTPサーバがFTPSによる接続をサポートしている必要があります。「true」を指定した場合でも，データコネクションの通信の暗号化が設定されていないときは，データコネクションの通信も暗号化されません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps-protocol-name>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，使用するセキュリティ通信用のプロトコルを示すタグです。指定値は次のどちらかです。

TLS：セキュリティ通信用のプロトコルにTLSを使用します。

SSL：セキュリティ通信用のプロトコルにSSLを使用します。

タグがあって値が「TLS」または「SSL」の場合

指定した値が適用されます。

タグがあって値が「TLS」または「SSL」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「TLS」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-implicit-mode>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，FTPSのImplicitモードを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true：Implicitモードを使用します。

false：Explicitモードを使用します。※2

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-data-con-secure>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，データコネクションの通信を暗号化するかどうかを指定するタグです。指定値は次のどちらかです。

true：データコネクションの通信を暗号化します。

false：データコネクションの通信を暗号化しません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「true」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-server-authentication>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，サーバ認証をするかどうかを指定するタグです。指定値は次のどちらかです。

true：サーバ認証をします。

false：サーバ認証をしません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。なお，「true」を指定する場合，キーストアに関する設定が必要です。キーストアの設定方法については，「付録H.1　FTPSを使用したセキュアな接続（FTPアダプタ）」を参照してください。

<ftp-user>※3

0または1回

接続するFTPサーバのログインユーザ名を示すタグです。USERコマンドの引数として使用します。このタグに指定するログインユーザには，ファイル操作を実行できる権限が与えられている必要があります。

FTPアダプタ実行環境プロパティファイルに重複して設定されている場合，要求電文の値が有効になります。

タグがあって正常な値がある場合

「USER　"値"」が発行されます。値に改行が含まれている場合，システム例外を返します。

タグがあって値がない場合，または値に不正な文字が含まれている場合

システム例外を返します。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合，システム例外を返します。

<ftp-acct>※3

0または1回

接続するFTPサーバの課金情報を示すタグです。FTPアダプタアカウント定義ファイルに重複して設定されている場合，要求電文の値が有効になります。

課金情報を必要とするユーザ

条件に応じて次の値が利用されます。

タグがあって正常な値がある場合

タグの内容がACCTコマンドに利用されます。値に改行が含まれている場合，システム例外を返します。

タグがあって値に不正な文字が含まれている場合

システム例外を返します。

タグがあって値がない場合

「ACCT　""」が発行されます。

タグがない場合

FTPアダプタアカウント定義ファイルで指定されているACCTの値が利用されます。FTPアダプタアカウント定義ファイルにACCTがない場合は「ACCT　""」が発行されます。

課金情報を必要としないユーザ

指定は無視されます。

<ftp-type>

0または1回

転送するデータタイプ（伝送モード）を示すタグです。TYPEコマンドの引数として使用します。FTPアダプタ実行環境プロパティファイルに重複して設定されている場合，要求電文の値が有効になります。

指定値は次のどちらかです。

A：ASCII形式で転送します。

I：バイナリ形式で転送します。

タグがあって値が「A」または「I」の場合

TYPEコマンドの引数として使用されます。

タグがあって値が「A」または「I」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

TYPEコマンドは実行されません。※4

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルにも指定がない場合，TYPEコマンドは実行されません。※4

<ftp-mode>

0または1回

転送モード（圧縮モード）を示すタグです。MODEコマンドの引数として使用します。FTPアダプタ実行環境プロパティファイルに重複して設定されている場合，要求電文の値が有効になります。

指定値は次のどちらかです。

S：ファイルを圧縮しないで伝送します。

C：ファイルを圧縮して伝送します。

タグがあって値が「S」または「C」の場合

MODEコマンドの引数として使用されます。

タグがあって値が「S」または「C」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

MODEコマンドは実行されません。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効となります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は，デフォルトの「S」でMODEコマンドが実行されます。

<pasvport>

0または1回

データコネクションの接続モードを示すタグです。

指定値は次のどちらかです。

PASV：PASVモードでデータコネクションを設定します。

PORT：PORTモードでデータコネクションを設定します。

タグがあって値が「PASV」または「PORT」の場合

指定した値が適用されます。

タグがあって値が「PASV」または「PORT」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「PASV」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は，デフォルトの「PASV」でデータコネクションを設定します。

要求電文からデータコネクションの接続モードを設定する場合，FTPアダプタ実行環境プロパティファイルで設定した値に対して，次のプロパティの値のチェック処理が実施されます。

PASV

ftpadp.client-pasv-port.min

ftpadp.client-pasv-port.max

PORT

ftpadp.listen-port.min

ftpadp.listen-port.max

チェック処理の詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.8.3　FTPアダプタ実行環境プロパティファイル」を参照してください。

<file-size-check>

0または1回

送信側と受信側で，転送されたファイルのサイズが正しいかどうか確認する機能を，実行するかどうかを指定するタグです。

指定値は次のどちらかです。

true：ファイルサイズを確認します。

false：ファイルサイズを確認しません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもないの場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<request-id>

0または1回

受付で作成したリクエストIDを示すタグです。

タグがあって値がある場合

リクエストIDとして利用されます。

タグがない，またはタグがあって値がない場合

作業フォルダを利用するときはシステム例外を返します。共通フォルダを利用するときは無視されます。

<local-folder>

1回

ローカル側フォルダを示すタグです。

タグの属性にcommon="true"が指定されている場合

ローカルフォルダとして共通フォルダを利用し，このタグには「共通フォルダ定義名」を指定します。

指定された共通フォルダ定義名から共通フォルダが取得できないときは，システム例外を返します。

タグの属性にcommon="false"が指定されている場合

ローカルフォルダとして作業フォルダを利用します。

common属性がない，または値が"true"および"false"のどちらでもない場合

システム例外を返します。

<local-file-name>

0または1回

ローカル側ファイル名を示すタグです。

作業フォルダを利用する場合

タグがあって値があるとき

この設定は無視されて処理が続行されます。

タグがない，またはタグがあって値がないとき

処理が続行されます。

共通フォルダを利用する場合

共通フォルダルート配下のファイルを指定してください。

指定したファイル名でファイルを作成します。

存在するファイル名を指定した場合，ファイルが上書きされます。

共通フォルダルートからの相対パスで指定したサブフォルダが存在しない場合は，サブフォルダを作成します。

また，シンボリックリンク以外のファイルを指定してください。

タグがあって値が上記の制限に従っているとき

ファイル名として使用されます。

タグがあって値が上記の制限に違反するとき

システム例外を返します。

タグがない，またはタグがあって値がないとき

システム例外を返します。

<remote-path>※5

1回

リモートパス名（FTPサーバ上にある取得対象パス名）を示すタグです。

タグがあって値がある場合

リモートパス名として利用されます。

タグがない，またはタグがあって値がない場合

システム例外を返します。

<ftp-commands-before>※6

0または1回

ファイル転送前に実行するFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します。（例：MKD transdir;CWD transdir）

タグがあって値がある場合

ファイル転送前に実行するコマンドとして利用されます。

タグがない，またはタグがあって値がない場合

ファイル転送前に実行するコマンドはありません。

<ftp-commands-after>※6

0または1回

ファイル転送後に実行するFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します。（例：RNFR oldfile.txt;RNTO newfile.txt）

タグがあって値がある場合

ファイル転送後に実行するコマンドとして利用されます。

タグがない，またはタグがあって値がない場合

ファイル転送後に実行するコマンドはありません。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

接続先FTPサーバがFTPSのImplicitモードで動作している場合に<ftps-enable>タグ，または<ftps-implicit-mode>タグの値にfalseを指定すると，FTPサーバに接続したあとタイムアウトが発生するまで待ち状態となることがあります。

タイムアウトが発生するまでの時間は，次の値のうちどちらか小さい方です。

・FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値

・接続先FTPサーバ側で設定されたタイムアウト値

FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値でタイムアウトとなった場合，FTPアダプタ実行環境プロパティファイルのftpadp.control-con.retry.countプロパティで指定した回数のリトライを行ったあと，KDEK30407-Eのエラーが発生します。

接続先FTPサーバ側で設定されたタイムアウト値でタイムアウトとなった場合，KDEK30428-Eのエラーが発生します。

注※3

使用できる文字を次に示します。

半角英数字，半角空白，感嘆符（!），ダブルクォーテーション（"），番号記号（#），ドル記号（$），パーセント（%），アンパサンド（&），アポストロフィ（'），始め小括弧（(），終わり小括弧（)），アスタリスク（*），正符号（+），コンマ（,），ハイフン（-），ピリオド（.），スラッシュ（/），コロン（:），セミコロン（;），左アングルブラケット（<），右アングルブラケット（>），等号（=），クエスチョンマーク（?），単価記号（@），始め角括弧（[），終わり角括弧（]），円マーク（¥），アクサンシルコンフレックス（^），アンダーバー（_），アクサングラーブ（`），始め波括弧（{），終わり波括弧（}），パイプライン（|），波ダッシュ（~）

注※4

FTPプロトコルの仕様（RFC959）に従い，デフォルトではASCII形式で転送されます。

注※5

FTP受付の要求電文の<transfer-path>タグと同じ値をFTPアダプタの<remote-path>タグに設定すると，パスの先頭がスラッシュ（/）になります。

パスの先頭にスラッシュ（/）があると問題がある場合は，ビジネスプロセスのデータ変換アクティビティで部分文字列取得ファンクション（substr）を使用してFTP受付の要求電文の<transfer-path>タグの値から2文字目以降の文字列を取り出して，FTPアダプタの<remote-path>タグに設定してください。パスの先頭にスラッシュ（/）があると問題がある場合とは，相対パスを指定する場合やWindowsの絶対パス形式でパスを指定したい場合などです。

注※6

<ftp-commands-before>タグおよび<ftp-commands-after>タグに指定されたコマンドは，そのままFTPサーバに送られ，FTPアダプタはコマンドのオプションの妥当性やコマンドの実行による影響について関知しません。

そのため，<ftp-commands-before>タグおよび<ftp-commands-after>タグにOPTS UTF {ON|OFF}コマンドを指定した場合は，FTPサーバとの通信に適用される文字セットを次のどちらかで指定しておく必要があります。

・要求電文の<file-name-charset>タグ

・FTPアダプタ実行環境プロパティファイルのftpadp.file-name.charsetプロパティ

●GETINFOオペレーション

ビジネスプロセスがFTPアダプタに渡すGETINFOオペレーションの要求電文のフォーマットを次に示します。ファイル名は「ftpadp_getinfo_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/getinfo_request」です。

表3‒66　要求電文フォーマット（GETINFOオペレーション）

タグ名

出現回数※1

説明

<request>

1回

−

<host-ipaddr>

0または1回

接続するFTPサーバのIPアドレスまたはホスト名です。

タグがあって値がある場合

指定の文字列でconnectが発行されます。

タグがあって値がない場合

システム例外を返します。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合，システム例外を返します。

Windowsを使用する場合，ループバックIPアドレス（127.0.0.1またはlocalhost）を指定すると，FTP接続に失敗する場合があります。実IPアドレスまたはホスト名を指定してください。

<host-con-port>

0または1回

FTPサーバの制御コネクション用ポート番号です。

タグがあって値がある場合

1から65535までのポート番号を指定します。これ以外の値を指定した場合，システム例外を返します。

タグがあって値がない場合

デフォルトの21が指定されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<file-name-charset>

0または1回

FTPサーバとの間の制御コネクションで，次に示す情報を送受信するときに使用する文字セットの名称を示すタグです。

制御コネクションで送受信する情報（ファイル名など）

LISTコマンドまたはNLSTコマンド実行時にデータコネクションを介してFTPサーバから受け取る情報（ファイルの一覧情報）

指定値は次のどちらかです。

UTF-8：文字セットに「UTF-8」を使用します。

MS932：文字セットに「MS932」を使用します。

タグがあって値が使用できる文字セットの場合

情報（ファイル名など）を送受信するときの文字セットとして適用されます。

タグがあって値が使用できない文字セット名の場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「UTF-8」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps>

0または1回

FTPSに関する設定を示すタグです。タグがない場合，FTPSに関するすべての設定はFTPアダプタ実行環境プロパティファイルの値が有効となります。

<ftps-enable>

0または1回

FTPサーバとの接続にFTPSを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true：FTPサーバとの接続にFTPSを使用します。

false：FTPサーバとの接続に通常のFTPを使用します。※2

FTPSを使用する場合，制御コネクションおよびデータコネクションの通信は暗号化されます。ただし，接続先のFTPサーバがFTPSによる接続をサポートしている必要があります。「true」を指定した場合でも，データコネクションの通信の暗号化が設定されていないときは，データコネクションの通信も暗号化されません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps-protocol-name>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，使用するセキュリティ通信用のプロトコルを示すタグです。指定値は次のどちらかです。

TLS：セキュリティ通信用のプロトコルにTLSを使用します。

SSL：セキュリティ通信用のプロトコルにSSLを使用します。

タグがあって値が「TLS」または「SSL」の場合

指定した値が適用されます。

タグがあって値が「TLS」または「SSL」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「TLS」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-implicit-mode>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，FTPSのImplicitモードを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true：Implicitモードを使用します。

false：Explicitモードを使用します。※2

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-data-con-secure>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，データコネクションの通信を暗号化するかどうかを指定するタグです。指定値は次のどちらかです。

true：データコネクションの通信を暗号化します。

false：データコネクションの通信を暗号化しません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「true」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-server-authentication>

0または1回

FTPサーバとの接続にFTPSを使用する場合に，サーバ認証をするかどうかを指定するタグです。指定値は次のどちらかです。

true：サーバ認証をします。

false：サーバ認証をしません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は，FTPサーバとの接続にFTPSを使用する場合だけ有効となります。なお，「true」を指定する場合，キーストアに関する設定が必要です。キーストアの設定方法については，「付録H.1　FTPSを使用したセキュアな接続（FTPアダプタ）」を参照してください。

<ftp-user>※3

0または1回

接続するFTPサーバのログインユーザ名を示すタグです。USERコマンドの引数として使用します。ログインユーザ名は80文字以内で指定してください。このタグに指定するログインユーザには，ファイル操作を実行できる権限が与えられている必要があります。

FTPアダプタ実行環境プロパティファイルに重複して設定されている場合，要求電文の値が有効になります。

タグがあって正常な値がある場合

「USER　"値"」が発行されます。値に改行が含まれている場合，システム例外を返します。

タグがあって値がない場合，または値に不正な文字が含まれている場合

システム例外を返します。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合，システム例外を返します。

<ftp-acct>※3

0または1回

接続するFTPサーバの課金情報を示すタグです。FTPアダプタアカウント定義ファイルに重複して設定されている場合，要求電文の値が有効になります。

課金情報を必要とするユーザ

条件に応じて次の値が利用されます。

タグがあって正常な値がある場合

タグの内容がACCTコマンドに利用されます。値に改行が含まれている場合，システム例外を返します。

タグがあって値に不正な文字が含まれている場合

システム例外を返します。

タグがあって値がない場合

「ACCT　""」が発行されます。

タグがない場合

FTPアダプタアカウント定義ファイルで指定されているACCTの値が利用されます。FTPアダプタアカウント定義ファイルにACCTがない場合は「ACCT　""」が発行されます。

課金情報を必要としないユーザ

指定は無視されます。

<pasvport>

0または1回

データコネクションの接続モードを示すタグです。

指定値は次のどちらかです。

PASV：PASVモードでデータコネクションを設定します。

PORT：PORTモードでデータコネクションを設定します。

タグがあって値が「PASV」または「PORT」の場合

指定した値が適用されます。

タグがあって値が「PASV」または「PORT」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「PASV」が使用されます。

タグがない場合

FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は，デフォルトの「PASV」でデータコネクションを設定します。

要求電文からデータコネクションの接続モードを設定する場合，FTPアダプタ実行環境プロパティファイルで設定した値に対して，次のプロパティの値のチェック処理が実施されます。

PASV

ftpadp.client-pasv-port.min

ftpadp.client-pasv-port.max

PORT

ftpadp.listen-port.min

ftpadp.listen-port.max

チェック処理の詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.8.3　FTPアダプタ実行環境プロパティファイル」を参照してください。

<getinfo-type>

1回

接続するFTPサーバから取得する情報の取得種別を示すタグです。

設定値は次のどちらかです。

LIST：LISTコマンドを実行し，ファイル情報の一覧を取得します。

NLST：NLSTコマンドを実行し，ファイル名の一覧を取得します。

タグがあって値が「LIST」または「NLST」の場合

指定した値を取得種別として利用します。

タグがあって値が「LIST」または「NLST」のどちらでもない場合

システム例外を返します。

タグがない，またはタグがあって値がない場合

システム例外を返します。

<getinfo-option>

0または1回

接続するFTPサーバから取得する情報の取得オプションを示すタグです。<getinfo-type>で指定したコマンドを実行するときに指定するオプションです。

タグがあって値がある場合

指定した値がオプションとして指定されて，<getinfo-type>で指定したコマンドが実行されます。

タグがない，またはタグがあって値がない場合

オプションなしで，<getinfo-type>で指定したコマンドが実行されます。

<getinfo-path>

0または1回

接続するFTPサーバから取得する情報の取得パスを示すタグです。<getinfo-type>で指定したコマンドを実行するときに指定するパスです。

タグがあって値がある場合

指定した値がパスとして指定されて，<getinfo-type>で指定したコマンドが実行されます。

タグがない，またはタグがあって値がない場合

パスなしで，<getinfo-type>で指定したコマンドが実行されます。

<request-id>

0または1回

FTP受付で作成したリクエストIDを示すタグです。※5

タグがあって値がある場合

ローカルフォルダとして作業フォルダが使用されます。指定されている値はリクエストIDとして利用されます。

<local-folder>の属性にcommon="true"以外が指定されているときだけ有効になります。

タグがあって値がない場合

システム例外を返します。

タグがない場合

<local-folder>タグを省略しているときは応答電文に出力されます。

<local-folder>

0または1回

ローカル側フォルダを示すタグです。※5

タグの属性にcommon="true"が指定されている場合

ローカルフォルダとして共通フォルダを利用し，このタグには「共通フォルダ定義名」を指定します。

タグの属性にcommon="false"が指定されている場合

ローカルフォルダとして作業フォルダを利用します。

common属性がない，または値が"true"および"false"のどちらでもない場合

システム例外を返します。

タグがない場合

ローカルフォルダとして作業フォルダを利用します。ただし，<request-id>を省略したときは応答電文に出力されます。

<local-file-name>

0または1回

ローカル側ファイル名を示すタグです。※5

作業フォルダを利用する場合

タグの指定は無視されて処理が続行されます。

共通フォルダを利用する場合

共通フォルダルート配下のファイル名を指定してください。

指定したファイル名でファイルを作成します。

存在するファイル名を指定した場合，ファイルが上書きされます。

共通フォルダルートからの相対パスで指定したサブフォルダが存在しない場合は，サブフォルダを作成します。

シンボリックリンク以外のファイルを指定してください。

タグがあって値が上記の制限に従っているとき

ファイル名として使用されます。

タグがあって値が上記の制限に違反するとき

システム例外を返します。

タグがない，またはタグがあって値がないとき

システム例外を返します。

応答電文に出力する場合

タグの指定は無視されて処理が続行されます。

<ftp-commands-before>※4

0または1回

リストコマンド実行前に実行するFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します（例：MKD transdir;CWD transdir）。

タグがあって値がある場合

リストコマンド実行前に実行するコマンドとして利用されます。

タグがない，またはタグがあって値がない場合

リストコマンド実行前に実行するコマンドはありません。

<ftp-commands-after>※4

0または1回

リストコマンド実行後に実行するFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します（例：RNFR oldfile.txt;RNTO newfile.txt）。

タグがあって値がある場合

リストコマンド実行後に実行するコマンドとして利用されます。

タグがない，またはタグがあって値がない場合

リストコマンド実行後に実行するコマンドはありません。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

接続先FTPサーバがFTPSのImplicitモードで動作している場合に<ftps-enable>タグ，または<ftps-implicit-mode>タグの値にfalseを指定すると，FTPサーバに接続したあとタイムアウトが発生するまで待ち状態となることがあります。

タイムアウトが発生するまでの時間は，次の値のうちどちらか小さい方です。

・FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値

・接続先FTPサーバ側で設定されたタイムアウト値

FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値でタイムアウトとなった場合，FTPアダプタ実行環境プロパティファイルのftpadp.control-con.retry.countプロパティで指定した回数のリトライを行ったあと，KDEK30407-Eのエラーが発生します。

接続先FTPサーバ側で設定されたタイムアウト値でタイムアウトとなった場合，KDEK30428-Eのエラーが発生します。

注※3

使用できる文字を次に示します。

半角英数字，半角空白，感嘆符（!），ダブルクォーテーション（"），番号記号（#），ドル記号（$），パーセント（%），アンパサンド（&），アポストロフィ（'），始め小括弧（(），終わり小括弧（)），アスタリスク（*），正符号（+），コンマ（,），ハイフン（-），ピリオド（.），スラッシュ（/），コロン（:），セミコロン（;），左アングルブラケット（<），右アングルブラケット（>），等号（=），クエスチョンマーク（?），単価記号（@），始め角括弧（[），終わり角括弧（]），円マーク（¥），アクサンシルコンフレックス（^），アンダーバー（_），アクサングラーブ（`），始め波括弧（{），終わり波括弧（}），パイプライン（|），波ダッシュ（~）

注※4

<ftp-commands-before>タグおよび<ftp-commands-after>タグに指定されたコマンドは，そのままFTPサーバに送られ，FTPアダプタはコマンドのオプションの妥当性やコマンドの実行による影響について関知しません。

そのため，<ftp-commands-before>タグおよび<ftp-commands-after>タグにOPTS UTF {ON|OFF}コマンドを指定した場合は，FTPサーバとの通信に適用される文字セットを次のどちらかで指定しておく必要があります。

・要求電文の<file-name-charset>タグ

・FTPアダプタ実行環境プロパティファイルのftpadp.file-name.charsetプロパティ

注※5

GETINFOオペレーションの定義方法については，「(c) GETINFOオペレーションを使用する場合の要求電文および応答電文」を参照してください。

(b)　FTPアダプタの応答電文フォーマット

●PUTオペレーション

FTPアダプタが呼び出し元のビジネスプロセスに返すPUTオペレーションの応答電文のフォーマットを次に示します。ファイル名は「ftpadp_put_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/put_response」です。

表3‒67　応答電文フォーマット（PUTオペレーション）

タグ名

出現回数

説明

<response>

1回

−

<local-folder>

1回

ローカル側フォルダを示すタグです。

作業フォルダを利用した場合，属性に「common="false"」が設定されます。値には空白が設定されます。

共通フォルダを利用した場合，属性に「common="true"」が設定されます。値には，要求電文の<local-folder>タグで指定された共通フォルダ定義名が設定されます。

<local-file-name>

1回

ローカル側ファイル名を示すタグです。

要求電文の<local-file-name>で指定した値が設定されます。

<command-info>

1回以上

−

<command>

1回

FTPアダプタが実行したコマンドを示すタグです。※1

実行したすべてのFTPコマンドが出力されます。

<command-message>

1回以上

FTPアダプタが実行したコマンドの表示メッセージを示すタグです。※2

FTPコマンドのメッセージはFTP応答コードとメッセージから構成されます。

メッセージが複数行ある場合，これらが同一の応答コードのときは，1つのタグが生成されます。複数の種類のFTP応答コードがあるときは，このタグも複数生成されます。

（凡例）

−：該当する項目はありません。

注※1

FTPアダプタが実行するコマンドの種類については，マニュアル「サービスプラットフォーム 解説」の「8.6.2　FTPコマンドの実行」を参照してください。

FTPアダプタが実行したコマンドの出力フォーマットと出力例については，「表3-70」を参照してください。

注※2

FTPコマンドのメッセージフォーマットと出力例については，「表3-71」を参照してください。

●GETオペレーション

FTPアダプタが呼び出し元のビジネスプロセスに返すGETオペレーションの応答電文のフォーマットを次に示します。ファイル名は「ftpadp_get_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/get_response」です。

表3‒68　応答電文フォーマット（GETオペレーション）

タグ名

出現回数

説明

<response>

1回

−

<local-folder>

1回

ローカル側フォルダを示すタグです。

作業フォルダを利用した場合，属性に「common="false"」が設定されます。値には空白が設定されます。

共通フォルダを利用した場合，属性に「common="true"」が設定されます。値には，要求電文の<local-folder>タグで指定された共通フォルダ定義名が設定されます。

<local-file-name>

1回

ローカル側ファイル名を示すタグです。

作業フォルダを利用する場合

作業フォルダの下に格納したファイル名が設定されます。ファイル名は，「csc_<内部生成された文字>」の形式となります。

共通フォルダを利用する場合

要求電文の<local-file-name>で指定した値が設定されます。

<file-size>

1回

送受信したリモートファイルのサイズを示すタグです。

FTPサーバから取得したローカルファイルのサイズが設定されます。

<command-info>

1回以上

−

<command>

1回

FTPアダプタが実行したFTPコマンドを示すタグです。※1

実行したすべてのFTPコマンドが出力されます。

<command-message>

1回以上

FTPアダプタが実行したコマンドの表示メッセージを示すタグです。※2

FTPコマンドのメッセージはFTP応答コードとメッセージから構成されます。

メッセージが複数行ある場合，これらが同一の応答コードのときは，1つのタグが生成されます。複数の種類のFTP応答コードがあるときは，このタグも複数生成されます。

（凡例）

−：該当する項目はありません。

注※1

FTPアダプタが実行するコマンドの種類については，マニュアル「サービスプラットフォーム 解説」の「8.6.2　FTPコマンドの実行」を参照してください。

FTPアダプタが実行したコマンドの出力フォーマットと出力例については，「表3-70」を参照してください。

注※2

FTPコマンドのメッセージフォーマットと出力例については，「表3-71」を参照してください。

●GETINFOオペレーション

FTPアダプタが呼び出し元のビジネスプロセスに返すGETINFOオペレーションの応答電文のフォーマットを次に示します。ファイル名は「ftpadp_getinfo_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/getinfo_response」です。

表3‒69　応答電文フォーマット（GETINFOオペレーション）

タグ名

出現回数

説明

<response>

1回

−

<local-folder>

0または1回

ローカル側フォルダを示すタグです。共通フォルダに出力する場合に出現します。作業フォルダまたは応答電文に出力する場合は出現しません。

共通フォルダを利用した場合

属性に「common="true"」が設定されます。値には，要求電文の<local-folder>タグで指定された共通フォルダ定義名が設定されます。

<local-file-name>

0または1回

ローカル側ファイル名を示すタグです。作業フォルダまたは共通フォルダに出力する場合に出現します。応答電文に出力する場合は出現しません。

作業フォルダを利用した場合

作業フォルダの下に格納したファイル名が設定されます。ファイル名は，「csc_<内部生成された文字>」の形式となります。

取得した情報は，「UTF-16」の文字セットで出力されます。また，改行コードはCRLFで出力されます。

共通フォルダを利用した場合

要求電文の<local-file-name>で指定した値が設定されます。

このファイル中には取得した情報がUTF-16の文字セットで書き込まれます。また，改行コードはCRLFとなります。

<reply-code>

1回

LISTコマンドまたはNLSTコマンドのリプライコードを示すタグです。

LISTコマンドまたはNLSTコマンドを実行したときに，FTPサーバから最後に送られてくるリプライコードとして，次のどれかが設定されます。

200〜299

処理が正常に完了したことを示すコードです。

450または550

ファイル操作ができなかったことを示すコードです。

なお，LISTコマンドまたはNLSTコマンドで指定したパスが存在しない場合，返されるリプライコードは接続先のFTPサーバによって異なります。

<reply-message>

1回

LISTコマンドまたはNLSTコマンドのリプライメッセージを示すタグです。

LISTコマンドまたはNLSTコマンドを実行したときに，FTPサーバから最後に送られてきたリプライメッセージが設定されます。

<command-info>

1回以上

−

<command>

1回

FTPアダプタが実行したFTPコマンドを示すタグです。※1

実行したすべてのFTPコマンドが出力されます。

<command-message>

1回以上

FTPアダプタが実行したコマンドの表示メッセージを示すタグです。※2

FTPコマンドのメッセージはFTP応答コードとメッセージから構成されます。

メッセージが複数行ある場合，これらが同一の応答コードのときは，1つのタグが生成されます。複数の種類のFTP応答コードがあるときは，このタグも複数生成されます。

<list-info>

0または1回

応答電文に出力する場合に出現します。※3

<list>

0回以上

応答電文に出力する場合に出現します。※3

（凡例）

−：該当する項目はありません。

注※1

FTPアダプタが実行するコマンドの種類については，マニュアル「サービスプラットフォーム 解説」の「8.6.2　FTPコマンドの実行」を参照してください。

FTPアダプタが実行したコマンドの出力フォーマットと出力例については，「表3-70」を参照してください。

注※2

FTPコマンドのメッセージフォーマットと出力例については，「表3-71」を参照してください。

注※3

GETINFOオペレーションの定義方法については，「(c) GETINFOオペレーションを使用する場合の要求電文および応答電文」を参照してください。

●FTPアダプタが実行したコマンドの出力フォーマットと出力例

応答電文の<command>タグに出力されるFTPコマンドの出力フォーマットと出力例を次の表に示します。

表3‒70　FTPアダプタが実行したコマンドの出力フォーマットと出力例

項番

FTPコマンド

出力フォーマット

出力例

備考

1

（接続処理）

Connected to <xxxxx>.

Connected to 10.208.180.254.

<xxxxx>はFTPサーバのIPアドレスまたはホスト名です。

2

USER

USER <ユーザ名>

USER user1

−

3

PASS

PASS ********

PASS ********

パスワードは8個の*で表示されます。

4

ACCT

ACCT <課金情報>

ACCT acct1

−

5

TYPE

TYPE <形式オプション>

TYPE A

<形式オプション>には「A」または「I」のどちらかが表示されます。

6

MODE

MODE <転送モードオプション>

MODE S

<転送モードオプション>には「S」または「C」のどちらかが表示されます。

7

PASV

PASV

PASV

−

8

PORT

PORT <aaa>,<bbb>,<ccc>,<ddd>,<mmm>,<nnn>

PORT 10,208,182,27,14,160

<aaa>,<bbb>,<ccc>,<ddd>はローカル側のIPアドレスです。

<mmm>,<nnn>はポート番号です。ローカル側のデータコネクションポート番号は256*mmm+nnnで表現されます。

9

SITE

SITE FSIZE [<ファイルサイズ>]

SITE FSIZE 4096

GETオペレーションの場合，<ファイルサイズ>は出力されません。

また，PUTオペレーションの場合，<ファイルサイズ>に転送元ファイルの転送路上のファイルサイズが出力されます。

10

転送前コマンドまたはリスト前コマンド

<コマンド名> [<コマンド引数>]

CWD ./workdir

−

11

STOR

STOR <パス名>

STOR work/fileA.txt

−

12

APPE

APPE <パス名>

APPE work/fileA.txt

−

13

RETR

RETR <パス名>

RETR fileA.txt

−

14

LIST

LIST [<オプション>] [<パス名>]

LIST -l work

−

15

NLST

NLST [<オプション>] [<パス名>]

NLST -l work

−

16

転送後コマンドまたはリスト後コマンド

<コマンド名> [<コマンド引数>]

RNFR fileA.txt

RNTO fileB.txt

−

17

QUIT

QUIT

QUIT

−

（凡例）

−：該当する説明はありません。

●FTPコマンドのメッセージフォーマットと出力例

応答電文の<command-message>タグに出力されるFTPコマンドのメッセージフォーマット，および出力例を次の表に示します。

表3‒71　FTPコマンドのメッセージフォーマットと出力例

条件

メッセージフォーマット

出力例

単一応答コード

<FTP応答コード> <メッセージ>

226 File receive OK.

<FTP応答コード>-<メッセージ1>

[<メッセージ2>]

：

<FTP応答コード> <メッセージn※>

214-The following commands are recognized.

ACCT ALLO APPE CDUP ... MDTM MKD

NLST NOOP OPTS PASS ... RMD RNFR

214 Help OK.

複数応答コード

<FTP応答コード1> <メッセージ1>

<FTP応答コード2> <メッセージ2>

150 File status okay; about to open data connection.

226 Transfer complete.

注

応答コードおよびメッセージの文字列の内容については，使用しているFTPサーバのドキュメントを参照してください。

注※

nは自然数です。

(c)　GETINFOオペレーションを使用する場合の要求電文および応答電文

LISTコマンドまたはNLISTコマンドの結果を応答電文，作業フォルダ，共通フォルダに出力する場合に要求電文に指定が必要なタグ，および応答電文に出現するタグを次の表に示します。

各タグの設定内容や表に記載がないタグについては，「(a) FTPアダプタの要求電文フォーマット」および「(b) FTPアダプタの応答電文フォーマット」を参照してください。

表3‒72　出力先と要求電文の関係

出力先

要求電文で指定するタグ

<request-id>

<local-folder>

<local-file-name>

応答電文

−

−

−

作業フォルダ

○

○

−

共通フォルダ

−

○

○

（凡例）

○：指定します。

−：指定しません。

表3‒73　出力先と応答電文の関係

出力先

応答電文で出現するタグ

<local-folder>

<local-file-name>

<list-info>

<list>

応答電文

−

−

○

○

作業フォルダ

−

○

−

−

共通フォルダ

○

○

−

−

（凡例）

○：出現します。

−：出現しません。

(2)　FTPアダプタの定義ファイルの作成

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

FTPアダプタコマンド定義ファイル

FTPアダプタで使用するユーザ管理コマンドのメッセージログの出力先，出力レベルなどを定義するためのファイルです。

FTPアダプタアカウント定義ファイル

FTP許可ユーザ，課金情報などのユーザアカウント情報を定義するためのファイルです。このファイルはFTPアダプタ実行環境プロパティファイルから参照されます。

FTPコマンド許可リスト定義ファイル（FTPアダプタ用）

転送前および転送後に実行するFTPコマンドの実行許可を定義するためのファイルです。このファイルはFTP受付コンフィグファイルおよびFTPアダプタ実行環境プロパティファイルから参照されます。

FTPアダプタ実行環境プロパティファイル

FTPアダプタごとの構成情報を定義するためのファイルです。

各定義ファイルの作成手順を次に示します。定義ファイルは，FTPアダプタが提供しているテンプレートファイルを利用して作成できます。

(a)　FTPアダプタコマンド定義ファイルの作成手順

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥config¥templates¥adpftpcommand.properties）をコピーして，次のディレクトリに格納します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥config

定義内容を編集して保存します。

FTPアダプタコマンド定義ファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.8.2　FTPアダプタコマンド定義ファイル」を参照してください。

(b)　FTPアダプタアカウント定義ファイルの作成手順

csaftpuseraddコマンドを実行してFTPアダプタアカウント定義ファイルを作成します。

作成したFTPアダプタアカウント定義ファイルのパスは，FTPアダプタ実行環境プロパティファイルのftpadp.account-inf-filepathキーで指定する必要があります。csaftpuseraddコマンドの詳細については，マニュアル「サービスプラットフォームリファレンス」の「csaftpuseradd（FTPアダプタのユーザの登録・更新）」を参照してください。

(c)　FTPコマンド許可リスト定義ファイル（FTPアダプタ用）の作成手順

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥config¥templates¥cscthrough.properties）をコピーして，任意のディレクトリに格納します。

コピーしたテンプレートファイルのファイル名を任意の名称に変更します。

定義内容を編集して保存します。

FTPコマンド許可リスト定義ファイル（FTPアダプタ用）で編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.8.6　FTPコマンド許可リスト定義ファイル」を参照してください。

(d)　FTPアダプタ実行環境プロパティファイルの作成手順

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥config¥templates¥adpftp.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥config

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>を作成して格納してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥config¥<HCSCサーバ名>

コピーしたテンプレートファイルのファイル名を「<サービスID※>.properties」に変更します。

定義内容を編集して保存します。

FTPアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.8.3　FTPアダプタ実行環境プロパティファイル」を参照してください。

注※

サービスIDは，FTPアダプタを新規に追加するときにサービスアダプタ定義画面で指定する任意の文字列です。

(e)　FTPアダプタ実行環境共通プロパティファイルの作成手順

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥config¥templates¥adpftp.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

commonディレクトリはユーザが作成してください。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥config¥common

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>と「common」はユーザが作成してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥config¥<HCSCサーバ名>¥common

FTPアダプタ実行環境共通プロパティファイルのファイル名は変更しないでください。

定義内容を編集して保存します。

FTPアダプタ実行環境共通プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.8.4　FTPアダプタ実行環境共通プロパティファイル」を参照してください。

(3)　データ変換の定義

データ変換定義画面を利用して，変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルのデータ変換を定義します。

データ変換の定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(4)　サービスアダプタ定義画面での操作

FTPアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

定義情報を設定します。

サービスアダプタ定義画面（基本）で設定が必要な項目については，「3.3.19(10)　FTPアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

［サービスアダプタ定義（詳細）］タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

定義情報を設定します。

サービスアダプタ定義画面（詳細）で設定が必要な項目については，「3.3.19(10)　FTPアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

3.3.11　ファイル操作アダプタを定義する

ファイル操作アダプタの定義方法について説明します。なお，ファイル変換オペレーションを使用する場合の定義例については，「付録E　ファイル操作アダプタの定義例」を参照してください。

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

ファイル操作アダプタの電文フォーマットの定義ファイルはサービスプラットフォームが提供するスキーマを使用します。そのため，電文フォーマットの定義ファイルの作成は不要です。

ファイル操作アダプタで使用する電文フォーマットの内容について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

(a)　ファイル操作アダプタの要求電文フォーマット

●共通仕様

ファイル操作アダプタの要求電文フォーマットの指定についての共通仕様を，次に説明します。

ファイル操作アダプタの要求電文フォーマットで指定する，ファイルやディレクトリのパス（ファイル名だけの指定も含む）には，次の制限があります。

Windowsの場合，次の制限があります。

・大文字と小文字は区別されません。

・UNC形式のディレクトリおよびファイル名は指定できません。

・NTFSのストリーム名は指定できません。

絶対パスは指定できません。

末尾が「.」または「..」のパスは指定できません。

作業フォルダを指定する場合に，相対パスは指定できません。

作業フォルダを指定する場合に，ファイル名の先頭にだけスラッシュ（/）を使用できます。また，ファイル名の先頭に設定されたスラッシュ（/）は，無視されます。

共通フォルダを指定する場合に，共通フォルダの子孫ではないパスは指定できません。

作業フォルダを指定してファイルを出力する場合，java.io.FileのcreateTempFile()を使用して作業フォルダ内で一意のファイルが作成されるため，指定は無視されます。

パスを指定する場合の注意事項について，次に説明します。

デバイス名を含むパスは指定しないでください。

シンボリックリンクを含むパスは指定しないでください。

ファイル操作アダプタの要求電文フォーマットを，オペレーションごとに説明します。

●ファイル変換オペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_transform_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/transform_request」です。

表3‒74　要求電文フォーマット（ファイル変換オペレーション）

タグ名

出現回数※

説明

<request>

1回

−

<request-id>

0または1回

受付で作成したリクエストIDです。作業フォルダのパス生成に使用します。入力フォルダ，および出力フォルダに作業フォルダを指定しない場合は，省略できます。

<input-folder-name>

1回

変換するファイルが格納されているディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を，値に共通フォルダ定義名を指定します。

<input-file-name>

1回

変換するファイルを指定します。

<output-folder-name>

1回

変換後のファイルを出力するディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を，値に共通フォルダ定義名を指定します。

<output-file-name>

0または1回

変換後のファイルを指定します。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル複製オペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_copy_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/copy_request」です。

表3‒75　要求電文フォーマット（ファイル複製オペレーション）

タグ名

出現回数※

説明

<request>

1回

−

<request-id>

0または1回

受付で作成したリクエストIDです。作業フォルダのパス生成に使用します。入力フォルダ，および出力フォルダに作業フォルダを指定しない場合は，省略できます。

<input-folder-name>

1回

複製するファイルが格納されているディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を，値に共通フォルダ定義名を指定します。

<input-file-name>

1回

複製するファイルを指定します。

<output-folder-name>

1回

複製後のファイルを出力するディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を，値に共通フォルダ定義名を指定します。

<output-file-name>

0または1回

複製後のファイルを指定します。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル移動オペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_move_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/move_request」です。

表3‒76　要求電文フォーマット（ファイル移動オペレーション）

タグ名

出現回数※

説明

<request>

1回

−

<request-id>

0または1回

受付で作成したリクエストIDです。作業フォルダのパス生成に使用します。入力フォルダ，および出力フォルダに作業フォルダを指定しない場合は，省略できます。

<input-folder-name>

1回

移動するファイルが格納されているディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を指定し，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を指定し，値に共通フォルダ定義名を指定します。

<input-file-name>

1回

移動するファイルを指定します。

<output-folder-name>

1回

移動先のディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を指定し，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を指定し，値に共通フォルダ定義名を指定します。

<output-file-name>

0または1回

移動先のファイルを指定します。

移動先のディレクトリが共通フォルダで当該要素が省略された場合，移動元ファイル名を仮定します。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル・フォルダ削除オペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_delete_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/delete_request」です。

表3‒77　要求電文フォーマット（ファイル・フォルダ削除オペレーション）

タグ名

出現回数※1

説明

<request>

1回

−

<request-id>

0または1回

受付で作成したリクエストIDです。作業フォルダのパス生成に使用します。入力フォルダ，および出力フォルダに作業フォルダを指定しない場合は，省略できます。

<folder-name>

1回

削除するファイルが格納されているディレクトリ，または削除するフォルダを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を，値に共通フォルダ定義名を指定します。

<file-name>

0または1回

削除するファイルを指定します。※2

<sub-folder-name>

0または1回

削除するサブフォルダを指定します。※2

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

file-nameタグとsub-folder-nameタグについて，次に説明します。

・共通フォルダを指定する場合は，どちらか一方を指定する必要があります。また，両方を指定することはできません（どちらか一方のタグを省略する必要があります）。

・作業フォルダを指定する場合は，タグの指定は無視されます。

●ファイル圧縮オペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_compress_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/compress_request」です。

表3‒78　要求電文フォーマット（ファイル圧縮オペレーション）

タグ名

出現回数※1

説明

<request>

1回

−

<request-id>

0または1回

受付で作成したリクエストIDです。作業フォルダのパス生成に使用します。入力フォルダ，および出力フォルダに作業フォルダを指定しない場合は，省略できます。

<input-folder-name>

1回

圧縮するファイルが格納されているディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を，値に共通フォルダ定義名を指定します。

<input-files>

1回

−

<input-file>

1から999回

−

<input-file-name>

1回

圧縮するファイルを指定します。※2

<entry-name>

1回

同じinput-fileタグ内のinput-file-nameタグで指定したファイルの圧縮後のエントリ名を指定します。空文字列を指定した場合，同じinput-fileタグ内のinput-file-nameタグの値が指定されます。この場合，エントリ名は変更されません。

Windowsの場合，次の制限があります。

大文字と小文字は区別されます。※3

UNC形式のエントリ名は指定できません。

NTFSのストリーム名は指定できません。

デバイス名を含むエントリ名は指定しないでください。

<output-folder-name>

1回

圧縮後のファイルを出力するディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を，値に共通フォルダ定義名を指定します。

<output-file-name>

0または1回

圧縮後のファイルを指定します。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

input-file-nameタグでは，大文字と小文字が区別されないことに注意してファイル名を指定してください。同一のファイル名を複数指定した場合は動作を保証しません。

注※3

Windowsで圧縮ファイルを伸張する場合，伸張後のファイル名は大文字と小文字が区別されないため，ファイル名が同一になるおそれがあります。この点に注意してエントリ名を指定してください。

●ファイル伸張オペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_extract_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/extract_request」です。

表3‒79　要求電文フォーマット（ファイル伸張オペレーション）

タグ名

出現回数※

説明

<request>

1回

−

<request-id>

0または1回

受付で作成したリクエストIDです。作業フォルダのパス生成に使用します。入力フォルダ，および出力フォルダに作業フォルダを指定しない場合は，省略できます。

<input-folder-name>

1回

伸張するファイルが格納されているディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を，値に共通フォルダ定義名を指定します。

<input-file-name>

1回

伸張するファイルを指定します。

<output-folder-name>

1回

伸張後のファイルを出力するディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を，値に共通フォルダ定義名を指定します。

<output-sub-folder-name>

0または1回

伸張後のファイルを出力するサブフォルダを指定します。指定を省略した場合，共通フォルダの直下にファイルを出力します。

<output-file-prefix-name>

0または1回

伸張後のファイル名の接頭辞を指定します。

変換後のファイルの出力先が共通フォルダの場合（output-folder-nameタグの属性にcommon="true"を指定した場合）

このタグの指定を使用してファイル名が自動で付与されます。

変換後のファイルの出力先が作業フォルダの場合（output-folder-nameタグの属性にcommon="false"を指定した場合）

java.io.FileのcreateTempFile()を使用して作業フォルダ内で一意のファイルが作成されるため，指定は無視されます。

Windowsの場合，次の制限があります。

大文字と小文字は区別されません。

UNC形式のファイル名は指定できません。

NTFSのストリーム名は指定できません。

デバイス名を含むファイル名は指定しないでください。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル一覧取得オペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_get_list_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/get_list_request」です。

表3‒80　要求電文フォーマット（ファイル一覧取得オペレーション）

タグ名

出現回数※1

説明

<request>

1回

−

<input-folder-name>

1回

ファイル一覧を取得する共通フォルダ名を指定します。

<input-file-name>

0または1回

ファイル一覧を取得するファイルもしくはサブフォルダのパスを指定します。

パスは共通フォルダからの相対パスで指定します。

当該要素が省略された場合，共通フォルダ自体を対象とします。

<options>

0または1回

オプションを指定する場合に使用します。

当該要素が省略された場合はオプション項目をすべて省略時の動作とします。

<list-option>

0または1回

出力するファイル一覧の出力形式を指定します。※2

<date-time-pattern>

0または1回

最終更新日時の出力形式を指定します。

当該要素が省略もしくは空白の場合は，「yyyy-MM-dd'T'HH:mm:ss」が仮定されます。

指定できるパターン文字列はjava.time.format.DateTimeFormatter#ofPattern(java.lang.String)の引数に指定できるパターン文字列です。

ローカルタイムで使用できるパターンを指定できます。タイムゾーンで使用するパターンは指定できません。

次の文字はパターン文字の予約語として使用されるため，文字列として使用する場合はシングルクォーテーションで囲む必要があります。また，シングルクォーテーション（'）自身を指定する場合は「''」のように指定します。

（予約語）[a-zA-Z]

（指定例）「T」と「'」を使用したい場合

yyyy-MM-dd'T'HH:mm:ss''

出力例：「2015-03-04T11:22:33'」

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

指定可能な値については，「3.3.11(5)　要求電文list-option要素の指定値について」を参照してください。

●ファイル一覧書き込みオペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_write_list_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/write_list_request」です。

表3‒81　要求電文フォーマット（ファイル一覧書き込みオペレーション）

タグ名

出現回数※1

説明

<request>

1回

−

<request-id>

0または1回

受付で作成したリクエストIDです。作業フォルダのパス生成に使用します。出力フォルダに作業フォルダを指定しない場合は，省略できます。

<input-folder-name>

1回

ファイル一覧を取得する共通フォルダ名を指定します。

<input-file-name>

0または1回

ファイル一覧を取得するファイルもしくはサブフォルダのパスを指定します。パスは共通フォルダからの相対パスで指定します。

当該要素が省略された場合，共通フォルダ自体を対象とします。

<output-folder-name>

1回

取得したファイル一覧を出力するディレクトリを指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を指定し，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を指定し，値に共通フォルダ定義名を指定します。

<output-file-name>

0または1回

取得したファイル一覧を出力するファイルを指定します。

<options>

0または1回

オプションを指定する場合に使用します。

当該要素が省略された場合はオプション項目をすべて省略時の動作とします。

<list-option>

0または1回

出力するファイル一覧の出力形式を指定します。※2

<date-time-pattern>

0または1回

最終更新日時の出力形式を指定します。

当該要素が省略もしくは空白の場合は，「yyyyMMddHHmmss」が仮定されます。

指定できるパターン文字列はjava.time.format.DateTimeFormatter#ofPattern(java.lang.String)の引数に指定できるパターン文字列です。

ローカルタイムで使用できるパターンを指定できます。タイムゾーンで使用するパターンは指定できません。

次の文字はパターン文字の予約語として使用されるため，文字列として使用する場合はシングルクォーテーションで囲む必要があります。また，シングルクォーテーション（'）自身を指定する場合は「''」のように指定します。

（予約語）[a-zA-Z]

（指定例）「T」と「'」を使用したい場合

yyyy-MM-dd'T'HH:mm:ss''

出力例：「2015-03-04T11:22:33'」

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

指定可能な値については，「3.3.11(5)　要求電文list-option要素の指定値について」を参照してください。

●ファイル読み込みオペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_read_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/read_request」です。

表3‒82　要求電文フォーマット（ファイル読み込みオペレーション）

タグ名

出現回数※

説明

<request>

1回

−

<request-id>

0または1回

受付で作成したリクエストIDです。作業フォルダのパス生成に使用します。出力フォルダに作業フォルダを指定しない場合は，省略できます。

<input-folder-name>

1回

読み込むファイルが格納されているフォルダ名を指定します。common属性に，trueまたはfalseを必ず指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を指定し，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を指定し，値に共通フォルダ定義名を指定します。

<input-file-name>

1回

取得するファイルまたはサブフォルダのパスを指定します。パスは共通フォルダからの相対パスで指定します。

共通フォルダから入力する場合

共通フォルダからの相対パスを指定します。

作業フォルダから入力する場合

入力ファイル名を指定します。

<input-file-validation>

0または1回

入力ファイルの検証を実施するかどうかをONまたはOFFで指定します。

ON：検証を実施します。

OFF：検証を実施しません。

指定を省略した場合はOFFが設定されます。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル書き込みオペレーション

ビジネスプロセスからファイル操作アダプタに渡す要求電文フォーマットを次に示します。ファイル名は「adpfop_write_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/write_request」です。

ファイル書き込みオペレーションの要求電文は，ヘッダとボディで指定します。ヘッダとボディの要求電文フォーマットを次の表に示します。

表3‒83　要求電文フォーマット（ファイル書き込みオペレーション）

要求電文

タグ名

出現回数※

説明

ヘッダ

<request>

1回

−

<request-id>

0または1回

受付で作成したリクエストIDです。作業フォルダのパス生成に使用します。出力フォルダに作業フォルダを指定しない場合は，省略できます。

<output-folder-name>

1回

ファイルを書き込むフォルダを指定します。common属性に，trueまたはfalseを必ず指定します。

作業フォルダを指定する場合

タグの属性にcommon="false"を指定し，値に空文字を指定します。

共通フォルダを指定する場合

タグの属性にcommon="true"を指定し，値に共通フォルダ定義名を指定します。

<output-file-name>

0または1回

書き込むファイルのパスを共通フォルダからの相対パスで指定します。

output-folder-name要素で，common属性にtrueを指定した場合は，必ず指定します。output-folder-name要素で，common属性にfalseを指定した場合は，指定しても無視されます。

<output-mode>

0または1回

ファイルの出力モードをnewまたはappendで指定します。

new：ファイルを新規作成します。既存のファイルがある場合は，上書きされます。

append：既存のファイルの末尾に出力ファイルの記述を追加して，書き込みます。

この要素を省略した場合はnewが設定されます。

次の場合は，この要素の設定は無視され，newが設定されます。

出力ファイルの形式がXML（ボディの電文フォーマットがXML形式）の場合

作業フォルダに出力する場合

<output-file-validation>

0または1回

出力ファイルの検証を実施するかどうかをONまたはOFFで指定します。

ON：検証を実施します。

OFF：検証を実施しません。

指定を省略した場合はOFFが設定されます。

ボディ

ボディの内容が，出力データとしてファイルに書き込まれます。サービスプラットフォームではスキーマファイルを提供していません。スキーマファイルはユーザが作成してください。ボディがAny型の場合は，スキーマファイルは不要です。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル操作アダプタが要求電文の取得に失敗した場合

エラーメッセージ（KDEC80002-E）を出力して処理を終了します。

(b)　ファイル操作アダプタの応答電文フォーマット

ファイル操作アダプタの応答電文フォーマットを，オペレーションごとに説明します。

●ファイル変換オペレーション

ファイル操作アダプタが呼び出し元のビジネスプロセスへ返す応答電文のフォーマットを次に示します。ファイル名は「adpfop_transform_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/transform_response」です。

表3‒84　応答電文フォーマット（ファイル変換オペレーション）

タグ名

出現回数※

説明

<response>

1回

−

<output-folder-name>

1回

変換後のファイルを出力するディレクトリが設定されます。

作業フォルダが設定されている場合

タグの属性にcommon="false"が，値に空文字が設定されます。

共通フォルダが設定されている場合

タグの属性にcommon="true"が，値に共通フォルダ定義名が設定されます。

<output-file-name>

1回

変換後のファイルのファイル名（ファイルパス）が設定されます。共通フォルダを操作した場合，要求電文のoutput-file-nameの値がそのまま設定されます。

<output-file-size>

1回

変換後のファイルのサイズ（バイト）が設定されます。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル複製オペレーション

ファイル操作アダプタが呼び出し元のビジネスプロセスへ返す応答電文のフォーマットを次に示します。ファイル名は「adpfop_copy_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/copy_response」です。

表3‒85　応答電文フォーマット（ファイル複製オペレーション）

タグ名

出現回数※

説明

<response>

1回

−

<output-folder-name>

1回

複製後のファイルを出力するディレクトリが設定されます。

作業フォルダが設定されている場合

タグの属性にcommon="false"が，値に空文字が設定されます。

共通フォルダが設定されている場合

タグの属性にcommon="true"が，値に共通フォルダ定義名が設定されます。

<output-file-name>

1回

複製後のファイルのファイル名（ファイルパス）が設定されます。共通フォルダを操作した場合，要求電文のoutput-file-nameの値がそのまま設定されます。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル移動オペレーション

ファイル操作アダプタが呼び出し元のビジネスプロセスへ返す応答電文のフォーマットを次に示します。ファイル名は「adpfop_move_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/move_response」です。

表3‒86　応答電文フォーマット（ファイル移動オペレーション）

タグ名

出現回数※

説明

<response>

1回

−

<output-folder-name>

1回

移動後のファイルが格納されているディレクトリ名を設定されます。

作業フォルダを操作した場合

タグの属性にcommon="false"が設定され，値に空文字が設定されます。

共通フォルダを操作した場合

タグの属性にcommon="true"が設定され，値に共通フォルダ定義名が設定されます。

<output-file-name>

1回

移動後のファイルが格納されている共通フォルダもしくは作業フォルダからの相対パスを設定します。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル・フォルダ削除オペレーション

ファイル操作アダプタが呼び出し元のビジネスプロセスへ返す応答電文のフォーマットを次に示します。ファイル名は「adpfop_delete_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/delete_response」です。

表3‒87　応答電文フォーマット（ファイル・フォルダ削除オペレーション）

タグ名

出現回数※1

説明

<response>

1回

−

<folder-name>

1回

削除されたファイルが格納されているディレクトリ名が設定されます。

作業フォルダが設定されている場合

タグの属性にcommon="false"が，値に空文字が設定されます。

共通フォルダが設定されている場合

タグの属性にcommon="true"が，値に共通フォルダ定義名が設定されます。

<file-name>

0または1回

削除されたファイルのファイル名（ファイルパス）が設定されます。

要求電文のfile-nameの値がそのまま設定されます。※2

<sub-folder-name>

0または1回

削除されたファイルのサブフォルダ名が設定されます。要求電文のsub-folder-nameの値がそのまま設定されます。※2

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

file-nameタグとsub-folder-nameタグについて，次に説明します。

・共通フォルダを操作した場合は，どちらか一方だけ出力されます。ファイル削除の場合はfile-nameタグ，サブフォルダ削除の場合はsub-folder-nameタグが出力されます。

・作業フォルダを指定する場合は，どちらも出力されません。

●ファイル圧縮オペレーション

ファイル操作アダプタが呼び出し元のビジネスプロセスへ返す応答電文のフォーマットを次に示します。ファイル名は「adpfop_compress_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/compress_response」です。

表3‒88　応答電文フォーマット（ファイル圧縮オペレーション）

タグ名

出現回数※

説明

<response>

1回

−

<output-folder-name>

1回

圧縮されたファイルが格納されているディレクトリ名が設定されます。

作業フォルダが設定されている場合

タグの属性にcommon="false"が，値に空文字が設定されます。

共通フォルダが設定されている場合

タグの属性にcommon="true"が，値に共通フォルダ定義名が設定されます。

<output-file-name>

1回

圧縮されたファイルのファイル名（ファイルパス）が設定されます。共通フォルダを操作した場合，要求電文のoutput-file-nameの値がそのまま設定されます。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル伸張オペレーション

ファイル操作アダプタが呼び出し元のビジネスプロセスへ返す応答電文のフォーマットを次に示します。ファイル名は「adpfop_extract_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/extract_response」です。

表3‒89　応答電文フォーマット（ファイル伸張オペレーション）

タグ名

出現回数※

説明

<response>

1回

−

<output-folder-name>

1回

伸張されたファイルが格納されているディレクトリ名が設定されます。

作業フォルダが設定されている場合

タグの属性にcommon="false"が，値に空文字が設定されます。

共通フォルダが設定されている場合

タグの属性にcommon="true"が，値に共通フォルダ定義名が設定されます。

<output-files>

1回

−

<output-file>

1から999回

−

<output-file-name>

1回

伸張されたファイルのファイル名が設定されます。

<entry-name>

1回

output-file-nameタグに設定されたファイルの伸張前のエントリ名が設定されます。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル一覧取得オペレーション

ファイル操作アダプタが呼び出し元のビジネスプロセスへ返す応答電文のフォーマットを次に示します。ファイル名は「adpfop_get_list_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/get_list_response」です。

表3‒90　応答電文フォーマット（ファイル一覧取得オペレーション）

タグ名

出現回数※

説明

<response>

1回

−

<file-list>

1回

ファイルが1つも存在しない場合も生成します。

<file>

0から999回

一覧取得したファイル単位ごとに指定します。

要求電文のlist-optionで”l”が指定された場合，属性typeには，fかdが必ず設定されます。

f：対象がファイルの場合。

d：対象がディレクトリの場合。

ファイルが1つも存在しない場合には生成されません。

<name>

1回

ファイル名またはディレクトリ名を設定します。

<size>

0または1回

ファイルサイズをバイト単位で設定します。

要求電文のlist-option要素で”l”が指定された場合だけ出力します。

対象がディレクトリの場合には0を設定します。

<last-modified-time>

0または1回

ファイルの最終更新日時を出力します。

要求電文のlist-option要素で”l”が指定された場合だけ出力します。

出力形式は要求電文のdate-time-pattern要素の指定パターンで出力します。要求電文のdate-time-pattern要素が省略された場合は「yyyy-MM-dd'T'HH:mm:ss」の形式で出力します。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル一覧書き込みオペレーション

ファイル操作アダプタが呼び出し元のビジネスプロセスへ返す応答電文のフォーマットを次に示します。ファイル名は「adpfop_write_list_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/write_list_response」です。

表3‒91　応答電文フォーマット（ファイル一覧書き込みオペレーション）

タグ名

出現回数※

説明

<response>

1回

−

<output-folder-name>

1回

ファイル一覧情報が書き込まれたファイルが格納されているディレクトリ名を設定します。

作業フォルダを操作した場合

タグの属性にcommon="false"が設定され，値に空文字が設定されます。

共通フォルダを操作した場合

タグの属性にcommon="true"が設定され，値に共通フォルダ定義名が設定されます。

<output-file-name>

1回

ファイル一覧情報を書き込んだファイルが格納されている共通フォルダもしくは作業フォルダからの相対パスを設定します。

<output-file-size>

1回

ファイル一覧情報を書き込んだファイルのサイズを設定します。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル読み込みオペレーション

ファイル読み込みオペレーションの応答電文は，読み込んだファイルの内容となるため，サービスプラットフォームではスキーマファイルを提供していません。

●ファイル書き込みオペレーション

ファイル操作アダプタが呼び出し元のビジネスプロセスへ返す応答電文のフォーマットを次に示します。ファイル名は「adpfop_write_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/fileoperation/write_response」です。

表3‒92　応答電文フォーマット（ファイル書き込みオペレーション）

タグ名

出現回数※

説明

<response>

1回

−

<output-folder-name>

1回

タグの属性commonに，trueまたはfalseが設定されます。

作業フォルダに出力した場合

タグの属性にcommon="false"が設定され，値に空文字が設定されます。

共通フォルダに出力した場合

タグの属性にcommon="true"が設定され，値に共通フォルダ定義名が設定されます。

<output-file-name>

1回

書き込んだファイルのファイル名，またはファイルパスが設定されます。

<output-file-size>

1回

書き込んだファイルのサイズ（単位：バイト）が設定されます。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

●ファイル操作アダプタが応答電文の生成に失敗した場合

エラーメッセージ（KDEC80003-E）を出力して処理を終了します。

(2)　サービスアダプタ定義画面での操作

ファイル操作アダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービスアダプタ定義画面（基本）およびサービスアダプタ定義画面（詳細）で定義情報を設定します。

各オペレーションで設定する項目については，次の個所を参照してください。

ファイル変換オペレーションの場合

3.3.19(11)(a)　ファイル変換オペレーション

ファイル複製オペレーションの場合

3.3.19(11)(b)　ファイル複製オペレーション

ファイル移動オペレーションの場合

3.3.19(11)(c)　ファイル移動オペレーション

ファイル・フォルダ削除オペレーションの場合

3.3.19(11)(d)　ファイル・フォルダ削除オペレーション

ファイル圧縮オペレーションの場合

3.3.19(11)(e)　ファイル圧縮オペレーション

ファイル伸張オペレーションの場合

3.3.19(11)(f)　ファイル伸張オペレーション

ファイル一覧取得オペレーションの場合

3.3.19(11)(g)　ファイル一覧取得オペレーション

ファイル一覧書き込みオペレーションの場合

3.3.19(11)(h)　ファイル一覧書き込みオペレーション

ファイル読み込みオペレーションの場合

3.3.19(11)(i)　ファイル読み込みオペレーション

ファイル書き込みオペレーションの場合

3.3.19(11)(j)　ファイル書き込みオペレーション

また，サービスアダプタ定義画面（基本）については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

参考

作成したファイル操作アダプタは，必要に応じて保存，編集，および検証できます。

ファイル操作アダプタを編集する方法については，「3.5　サービスアダプタの編集」を参照してください。ファイル操作アダプタを検証する方法については，「3.6　サービスアダプタの検証」を参照してください。

(3)　ファイル操作アダプタの定義ファイルの作成および編集

作成および編集する定義ファイルの種類を次に示します。

ファイル操作アダプタ実行環境プロパティファイル

ファイル操作アダプタごとの構成情報を定義するためのファイルです。

ファイル操作アダプタ定義ファイル

ファイル操作アダプタの動作内容を定義するためのファイルです。

ファイル操作アダプタで使用する定義ファイルの作成手順および編集手順を次に示します。

(a)　ファイル操作アダプタ実行環境プロパティファイルの作成手順

ファイル操作アダプタ実行環境プロパティファイルの作成手順を示します。

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥adpfop¥templates¥adpfop.properties）をコピーして，次のディレクトリに格納します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥adpfop

コピーしたテンプレートファイルのファイル名を「<サービスID>.properties」に変更します。

サービスIDとは，ファイル操作アダプタを新規に追加するときに指定する任意の文字列です。

定義内容を編集して保存します。

ファイル操作アダプタ実行環境プロパティファイルで編集できる項目については，マニュアル「サービスプラットフォーム リファレンス」の「6.8.8　ファイル操作アダプタ実行環境プロパティファイル」を参照してください。

ファイル操作アダプタ実行環境プロパティファイルは，ファイル操作アダプタを開始する際に実行環境に反映されます。ファイル操作アダプタ実行環境プロパティファイルの内容を変更する場合は，ファイル操作アダプタを停止してから作業をします。ファイル操作アダプタを再開始すると，変更内容が実行環境に反映されます。

(b)　ファイル操作アダプタ定義ファイルの編集手順

ファイル操作アダプタ定義ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「cscFileOperation.properties」を選択し，［編集］ボタンをクリックします。

ファイル操作アダプタ定義ファイルを編集するためのエディタが起動します。

エディタ上でファイル操作アダプタ定義ファイルを編集します。

ファイル操作アダプタ定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

ファイル操作アダプタを開始すると，ファイル操作アダプタ定義ファイルに設定した内容が有効になります。

(4)　ファイル変換オペレーション使用時の注意事項

ファイル変換オペレーションで分割処理方式を選択して，入力ファイルに改行セパレータ形式のファイルを扱う場合，次のファイルの複合内容要素のセパレータには，LineFeedを設定しないでください。

入力側のヘッダレコード部のバイナリフォーマット定義ファイル

入力側のデータレコード部のバイナリフォーマット定義ファイル

入力側のトレーラレコード部のバイナリフォーマット定義ファイル

LineFeedを設定した場合，メッセージ（KDEC80043-E）が出力され，ファイル変換の処理が中止されます。

正しく設定したセパレータの設定画面例を次に示します。

図3‒21　セパレータの設定画面例（LineFeed設定なしの場合）

図3‒22　セパレータの設定画面例（CSV形式の場合）

(5)　要求電文list-option要素の指定値について

ファイル一覧取得オペレーションとファイル一覧書き込みオペレーションの要求電文list-option要素について示します。

ファイル一覧の出力形式を，ハイフン以降のオプション文字で指定できます。

指定例：「-l」，「-rl」，「-l -r」

要素の値には次の形式の文字列だけ指定できます。

{空白}※1*[-][a-zA-Z0-9]+({セパレータ}※2+[-][a-zA-Z0-9]+)*{空白}*

注※1

{空白}：XML解析上トリムされる前後空白文字

注※2

{セパレータ}：半角スペース，改行，タブ文字

有効なオプション文字は「l」（小文字エル），「r」，「t」だけです。そのほかの文字は無視します。大文字小文字は区別されます。

GUN形式（ハイフン2個）のオプション指定はサポートしません。

オプション文字の指定有無の動作を次に示します。

表3‒93　オプション文字指定有無の動作

オプション文字

指定有無

動作

l（エル）

指定なし

ファイル名だけを出力します。

l（エル）

指定あり

ファイル名，ファイル種別，サイズ，最終更新日時を出力します。

r

指定なし

出力する一覧のソート順を昇順にします。

r

指定あり

出力する一覧のソート順を降順にします。

t

指定なし

出力する一覧のソートキーをファイル名にします。※

t

指定あり

出力する一覧のソートキーを最終更新日時にします。※

注※

ソートはファイルとディレクトリを区別しません。

3.3.12　メールアダプタを定義する

メールアダプタの定義方法について説明します。

(1)　メールアダプタを使用するときの注意事項

メールアダプタを設定する前に知っておく必要がある注意事項について説明します。

メールアダプタの宛先には，有効なアドレスを設定してください。

メールアダプタに無効なアドレスを設定した場合，そのアドレス宛てのメールはメールサーバの機能により返送（バウンス）されます。

FTPクライアントやFTPサーバから転送されたファイルを添付ファイルとして使用する場合は，メールアダプタのほかにFTPインバウンドアダプタ，FTP受付，およびFTPアダプタとの連携が必要です。FTPと連携する機能については，マニュアル「サービスプラットフォーム解説」の「8.　FTPと連携してファイルを転送する機能（FTP連携）」を参照してください。

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

メールアダプタで使用する電文フォーマットの種類と形式を次に示します。

(a)　電文フォーマットの種類

メールアダプタで使用する電文フォーマットは次の2種類です。

要求電文フォーマット

応答電文フォーマット

要求電文フォーマットには，メールサーバの情報や，メール本文，アドレス，主題など，ユーザ入力情報を設定します。応答電文フォーマットには送信メールのメッセージIDが設定されます。

メールアダプタでは，サービスプラットフォームが提供するXMLスキーマを電文フォーマットに使用します。要求電文および応答電文に使用するXMLスキーマは，それぞれ「adpmail_smtp_request.xsd」および「adpmail_smtp_response.xsd」です。

(b)　電文フォーマットの形式

ここでは，メールアダプタで使用する要求電文フォーマットおよび応答電文フォーマットの形式について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥mail」です。

●adpmail_smtp_request.xsd（要求電文フォーマットファイル）

メールアダプタがビジネスプロセスから呼び出されたときに，メールアダプタに渡される要求電文のフォーマットを次に示します。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/mail/send_request」です。

表3‒94　要求電文フォーマット

タグ名

種別

出現回数

説明

<request>

−

1回

−

<smtp-host-name>

string

0または1回

接続するメールサーバのIPアドレスまたはホスト名を示すタグです。

タグがあって値がある場合

指定の文字列で接続します。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

<request-id>

string

0または1回

受付で作成したリクエストIDを示すタグです。

タグがあって値がある場合

リクエストIDとして利用されます。

タグがない，またはタグがあって値がない場合

作業フォルダを利用するときはシステム例外を返します。共通フォルダを利用するときは無視されます。

<smtp-port>

long

0または1回

接続するメールサーバのポート番号を示すタグです。

タグがあって値がある場合

1から65535までのポート番号を指定します。これ以外の値を指定した場合，システム例外を返します。

タグがあって値がない場合

デフォルトの25が指定されます。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

メールアダプタ実行環境プロパティファイルにも指定がない場合，デフォルトの25が指定されます。

<mail-user>

string

0または1回

接続するメールサーバのログインユーザ名を示すタグです。

タグがあって値がある場合

0x20〜0x7Eの範囲で指定された文字が有効になります。この範囲外の文字が指定された場合，システム例外を返します。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

<mail-addr-to>※1

string

0または1回

メールの送付先ユーザの電子メールアドレスを示すタグです。複数の電子メールアドレスを指定する場合，電子メールアドレスをコンマ（,）で区切ります。

タグがあって値がある場合

「TO」フィールドのアドレスとして使用されます。アドレスは検証されません。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

<mail-addr-from>

string

0または1回

メールの発信元ユーザの電子メールアドレスを示すタグです。指定できる電子メールアドレスは1つだけです。

タグがあって値がある場合

「FROM」フィールドのアドレスとして使用されます。アドレスは検証されません。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

<mail-addr-cc>※1

string

0または1回

「CC」フィールドに設定するユーザの電子メールアドレスを示すタグです。

複数の電子メールアドレスを指定する場合，電子メールアドレスをコンマ（,）で区切ります。

タグがあって値がある場合

「CC」フィールドのアドレスとして使用されます。アドレスは検証されません。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

<mail-addr-bcc>※1

string

0または1回

「BCC」フィールドに設定するユーザの電子メールアドレスを示すタグです。

複数の電子メールアドレスを指定する場合，電子メールアドレスをコンマ（,）で区切ります。

タグがあって値がある場合

「BCC」フィールドのアドレスとして使用されます。アドレスは検証されません。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

<mail-subject-text>

string

0または1回

メールの主題を示すタグです。

タグがあって値がある場合

メールの主題として使用されます。ただし，主題の文字数がメールアダプタ実行環境プロパティファイルで指定したサイズを超えた場合，超えた文字が切り落とされます。

タグがあって値がない場合

主題なしでメールが送信されます。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。メールアダプタ実行環境プロパティファイルにも指定がない場合，主題なしでメールが送信されます。

<mail-body>※2

−

0または1回

メールの本文を示すタグです。メール本文は<message>および<file>で指定します。

タグがあって値がある場合

メールの本文として使用されます。※3

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。メールアダプタ実行環境プロパティファイルにも指定がない場合，本文なしでメールが送信されます。

<message>

string

0または1回

メール本文として使用する文字列を示すタグです。「<」，「>」などの文字を使う場合は，事前に文字列をサニタイズしてください。

タグがあって値がある場合

メールの本文として使用されます。

タグがあって値がない，または<file>の指定がない場合

本文なしでメールが送信されます。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

<file>

−

0または1回

内容をメール本文として使用するファイルのパスおよび文字セットを示すタグです。ファイルパスと文字セットは，<folder-name>，<mail-body-file-name>，および<file-charset>で指定します。

タグがあって値がある場合

メール本文として使用されます。ファイルの内容をメール本文とする場合，文字列のサニタイズは不要です。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

<folder-name>

string

1回

ファイルを取得するフォルダを示すタグです。

タグの属性にcommon="true"が指定されている場合

ファイルを取得するフォルダとして共通フォルダを利用し，このタグには「共通フォルダ定義名」を指定します。

指定された共通フォルダ定義名から共通フォルダが取得できないときは，システム例外を返します。

タグの属性にcommon="false"が指定されている場合

ファイルを取得するフォルダとして作業フォルダを利用します。

common属性がない，common属性の値が"true"および"false"のどちらでもない，またはタグがない場合

システム例外を返します。

<mail-body-file-name>

string

1回

取得するファイル名を示すタグです。

作業フォルダを利用する場合

作業フォルダ直下のファイルを指定してください。

ファイル名の先頭以外にスラッシュ（/）や円マーク（¥）などの区切り文字は使用できません。ファイル名の先頭にスラッシュ（/）を使用した場合，スラッシュ（/）は無視されます。

共通フォルダを利用する場合

共通フォルダルート配下のファイルを指定してください。

共通フォルダルートより上位のパスを指定した場合，エラーになります。

相対パスの先頭のファイル区切り文字（/）は省略できます。

サブフォルダを使用する場合は，共通フォルダルートからファイル名までの相対パスを指定してください。

複数のファイル名は指定できません。

タグがあって値が上記の制限に従っている場合

ファイル名として使用されます。

タグがあって値が上記の制限に違反する場合

システム例外を返します。

タグがない，またはタグがあって値がない場合

システム例外を返します。

<file-charset>

string

0または1回

メール本文の内容が記述されたファイルの文字セットを指定します。

タグがあって値がある場合

文字セットとして使用されます。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効になります。メールアダプタ実行環境プロパティファイルにも指定がない場合，UTF -8が文字セットとして使用されます。

<attachment-file>

−

0または1回

メールの添付ファイルを示すタグです。添付ファイルは<item>で指定します。複数の添付ファイルを指定できます。

タグがあって値がある場合

メールの添付ファイルとして使用されます。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効になります。

<item>

−

1回以上

メールの添付ファイルの詳細を示すタグです。添付ファイルの詳細は<attach-folder>および<attach-file-name>で指定します。

タグがあって値がある場合

メールの添付ファイルとして使用されます。

タグがない，またはタグがあって値がない場合

システム例外を返します。

<attach-folder>

string

1回

添付ファイルが格納されているフォルダを示すタグです。

タグの属性にcommon="true"が指定されている場合

ファイルを取得するフォルダとして共通フォルダを利用し，このタグには「共通フォルダ定義名」を指定します。

指定された共通フォルダ定義名から共通フォルダが取得できないときは，システム例外を返します。

タグの属性にcommon="false"が指定されている場合

ファイルを取得するフォルダとして作業フォルダを利用します。

common属性がない，common属性の値が"true"および"false"のどちらでもない，またはタグがない場合

システム例外を返します。

<attach-file-name>

string

1回

添付ファイル名を示すタグです。

作業フォルダを利用する場合

作業フォルダ直下のファイルを指定してください。

ファイル名の先頭以外にスラッシュ（/）や円マーク（¥）などの区切り文字は使用できません。ファイル名の先頭にスラッシュ（/）を使用した場合，スラッシュ（/）は無視されます。

共通フォルダを利用する場合

共通フォルダルート配下のファイルを指定してください。

共通フォルダルートより上位のパスを指定した場合，エラーになります。

相対パスの先頭のファイル区切り文字（/）は省略できます。

複数のファイル名は指定できません。

タグがあって値が上記の制限に従っている場合

ファイル名として使用されます。

タグがあって値が上記の制限に違反する場合

システム例外を返します。

タグがない，またはタグがあって値がない場合

システム例外を返します。

<mail-format>

string

0または1回

メールフォーマットを示すタグです。次のどれかを指定します。

text/plain：メール本文をプレーンテキストで作成します。

text/html：メール本文をhtml形式で作成します。

text/xml：メール本文をxml形式で作成します。※4

タグがあって値が「text/plain」，「text/html」，または「text/xml」の場合

メールフォーマットとして使用されます。

タグがあって値が「text/plain」，「text/html」，または「text/xml」のどれでもない場合

システム例外を返します。

タグがあって値がない場合

JavaMailの設定に依存します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

メールアダプタ実行環境プロパティファイルにも指定がない場合，「text/plain」でメール本文が作成されます。

<mail-encoding>

string

0または1回

メールのエンコードを示すタグです。

タグがあって値がある場合

メールのエンコードとして使用されます。

タグがあって値がない場合

JavaMailの設定に依存します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

メールアダプタ実行環境プロパティファイルにも指定がない場合，ISO-2022-JPが使用されます。

<mail-auth>

string

0または1回

SMTP認証の形式を示すタグです。次のどちらかを指定します。

PLAIN：認証しません。

LOGIN：ログイン時にユーザ名およびパスワードで認証します。

タグがあって値が「PLAIN」または「LOGIN」の場合

SMTP認証の形式として使用されます。

タグがあって値が「PLAIN」または「LOGIN」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

JavaMailの設定に依存します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

メールアダプタ実行環境プロパティファイルにも指定がない場合，「PLAIN」でメールが送信されます。

<mail-option>

−

0回以上

ユーザ定義のメールヘッダを示すタグです。

ヘッダ名および値は，<option-key>および<option-value>を組み合わせて指定します。

タグがあって値がある場合

ユーザ定義のメールヘッダとして使用されます。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。メールアダプタ実行環境プロパティファイルにも指定がない場合，ユーザ定義のメールヘッダなしでメールが送信されます。

<option-key>

string

1回

ユーザ定義のメールヘッダのキー名を指定します。

タグがあって値がある場合

メールヘッダのキー名として使用します。

タグがない，またはタグがあって値がない場合

システム例外を返します。

<option-value>

string

1回

ユーザ定義のメールヘッダの値を指定します。

タグがあって値がある場合

メールヘッダの値として使用します。

タグがない，またはタグがあって値がない場合

システム例外を返します。

<smtps>

−

0または1回

TLSに関する設定を示すタグです。

タグがあって値がある場合

タグの値に従い，SMTP，またはTLSを使用してSMTPサーバに接続します。

タグがあって値がない場合

システム例外を返します。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

メールアダプタ実行環境プロパティファイルに指定がない場合，SMTPを使用してSMTPサーバに接続します。

<smtps-enable>

boolean

0または1回

SMTPサーバとの接続にTLSを使用するかどうかを指定するタグです。次のどちらかを指定します。

true：TLSを使用してSMTPサーバに接続します。

false：TLSを使用しません。SMTPでSMTPサーバに接続します。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

メールアダプタ実行環境プロパティファイルに指定がない場合，SMTPを使用してSMTPサーバに接続します。

<smtps-starttls-enable>

boolean

0または1回

SMTPサーバとの接続にTLSを使用する場合にSTARTTLSを使用するかどうかを指定するタグです。次のどちらかを指定します。

true：STARTTLSを使用します。通常のSMTPで通信を開始し，「STARTTLS」で双方がTLSに対応しているか確認したあとにTLSで再接続します。

false：STARTTLSを使用しません。SMTP通信がすべてTLSによって暗号化されます。

この指定は，SMTPサーバとの接続にTLSを使用する場合だけ有効となります。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「true」が使用されます。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

メールアダプタ実行環境プロパティファイルに指定がない場合，TLSによって暗号化されたメールが送信されます。

<smtps-starttls-required>

boolean

0または1回

メールアダプタでSTARTTLSを使用する設定にしている場合で，接続先のSMTPサーバでSTARTTLSが処理できないときに，メールアダプタでエラーを発生させるかどうかを指定するタグです。

true：接続先のSMTPサーバがSTARTTLSをサポートしていない場合，またはSTARTTLSの処理中にエラーが発生した場合，メールアダプタでエラーを発生させます。

false：接続先のSMTPサーバがSTARTTLSをサポートしていない場合，またはSTARTTLSの処理中にエラーが発生した場合，メールアダプタでエラーを発生させません。SMTPを使用してSMTPサーバに接続します。

この指定は，SMTPサーバとの接続にTLSとSTARTTLSを使用する場合だけ有効となります。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

メールアダプタ実行環境プロパティファイルの値が有効となります。

メールアダプタ実行環境プロパティファイルに指定がない場合，STARTTLSを使用する設定に依存することなく，TLSによって暗号化されたメールが送信されます。

（凡例）

−：該当する項目はありません。

注※1

<mail-addr-to>，<mail-addr-cc>，および<mail-addr-bcc>にアドレス指定がない，かつメールアダプタ実行環境プロパティファイルにも指定がない場合，システム例外を返します。

注※2

要求電文の<mail-body>の設定と，メールアダプタ実行環境プロパティファイルのmailadp.mail.body-textキーおよびmailadp.mail.body-filepathキーの設定は背反となります。例えば，要求電文の<mail-body>で<message>だけを指定して<file>を指定しなかった場合，mailadp.mail.body-filepathキーでファイルを指定しても，<file>として本文に設定されることはありません。

注※3

<message>および<file>の両方を指定した場合，最初に<message>に指定された文字列がメール本文に設定されます。そのあと，<file>に指定されたファイルの内容がメール本文に設定されます。

注※4

text/xmlを指定した場合，メールアダプタではプレーンテキスト形式で表示されます。

●adpmail_smtp_response.xsd（応答電文フォーマットファイル）

メールアダプタが呼び出し元のビジネスプロセスに返す応答電文のフォーマットを次に示します。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/mail/send_response」です。

表3‒95　応答電文フォーマット

タグ名

種別

出現回数

説明

<response>

−

1回

−

<message-id>

string

1回

送信されるメールメッセージのメッセージIDを示すタグです。

メール送信時，内部で作成されたMimeMessageがメールサーバに送信されます。このMimeMessageのIDがメッセージIDとなります。

（凡例）

−：該当する項目はありません。

(3)　メールアダプタの定義ファイルの作成

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

メールアダプタコマンド定義ファイル

コマンドメッセージログの出力先，出力レベルなどを設定するためのファイルです。

メールアダプタアカウント定義ファイル

メールアダプタからメールサーバに接続するときの認証に必要なユーザ名およびパスワードを管理するためのファイルです。

メールヘッダ定義ファイル

メールの重要度，返信要求の有無など，ユーザが定義したメールヘッダのオプションを記述するためのファイルです。

メールアダプタ実行環境プロパティファイル

メールアダプタの構成情報を定義するためのファイルです。

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

(a)　メールアダプタコマンド定義ファイルの作成手順

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥mail¥templates¥adpmailcommand.properties）をコピーして，次のディレクトリに格納します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥mail

定義内容を編集して保存します。

メールアダプタコマンド定義ファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.13.2　メールアダプタコマンド定義ファイル」を参照してください。

(b)　メールアダプタアカウント定義ファイルの作成手順

csmmailaddusrコマンドを実行してメールアダプタアカウント定義ファイルを作成します。

作成したメールアダプタアカウント定義ファイルのパスは，メールアダプタ実行環境プロパティファイルのmailadp.account.file.pathキーで指定する必要があります。csmmailaddusrコマンドの詳細は，マニュアル「サービスプラットフォームリファレンス」の「csmmailaddusr（メールアダプタユーザ情報の登録・更新）」を参照してください。

(c)　メールヘッダ定義ファイルの作成手順

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥mail¥templates¥mail-header.properties）をコピーして，任意のディレクトリに格納します。

コピーしたテンプレートファイルのファイル名を任意の名称に変更します。

定義内容を編集して保存します。

メールヘッダ定義ファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.13.4　メールヘッダ定義ファイル」を参照してください。

(d)　メールアダプタ実行環境プロパティファイルの作成手順

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥mail¥templates¥adpmail.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥mail

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>を作成して格納してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥mail¥<HCSCサーバ名>

コピーしたテンプレートファイルのファイル名を「<サービスID※>.properties」に変更します。

定義内容を編集して保存します。

メールアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.13.3　メールアダプタ実行環境プロパティファイル」を参照してください。

注※

サービスIDは，メールアダプタを新規に追加するときにサービスアダプタ定義画面で指定する任意の文字列です。

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

(4)　サービスアダプタ定義画面での操作

メールアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービスアダプタ定義画面（基本）で定義情報を設定します。

サービスアダプタ定義画面（基本）で設定が必要な項目については，「3.3.19(12)　メールアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

［サービスアダプタ定義（詳細）］タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

サービスアダプタ定義画面（詳細）で定義情報を設定します。

サービスアダプタ定義画面（詳細）で設定が必要な項目については，「3.3.19(12)　メールアダプタの場合」を参照してください。

(5)　メールアダプタのディレクトリ構成

サービスプラットフォームのインストール後のディレクトリ構成を次の図に示します。なお，ここではメールアダプタの定義を格納するディレクトリ，およびメールアダプタの電文スキーマを格納するディレクトリだけ記載しています。

図3‒23　　メールアダプタのディレクトリ構成

上記以外のディレクトリ構成については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「2.1.2　Service Platformのインストール」を参照してください。

(6)　メールアダプタの定義例

ここでは，標準受付に渡されたメッセージをメール本文に設定し，メールアダプタ実行環境プロパティファイルで設定した宛先にメール送信する場合を例に，メールアダプタおよびビジネスプロセスの設定例について説明します。

(a)　メールアダプタの設定例

開発環境でのメールアダプタの設定例，およびメールアダプタ実行環境プロパティファイルの設定例について説明します。

●開発環境でのメールアダプタの設定

開発環境でのサービスアダプタ定義画面の各項目は次のように設定します。なお，電文フォーマットおよび定義ファイルの格納先，開発環境での操作方法については，「3.2.12　メールアダプタを新規に追加する」を参照してください。

図3‒24　サービスアダプタ定義画面（基本）の設定例

表3‒96　サービスアダプタ定義画面（基本）の設定項目

分類

項目

設定内容

サービス部品制御情報

サービス名

mailadp

サービスID

mailadp

サービス種別

メールアダプタ

アドレス

−

最大インスタンス数

0

サービスクラス名

−

オペレーション

SEND

オペレーション情報

オペレーション名

SEND

通信モデル

同期

要求電文

any型を使う（チェックボックス）

使わない（チェックしない）

標準

使う（チェックボックス）

使わない（チェックしない）

電文フォーマット

−

サービス部品

電文フォーマット

adpmail_smtp_request.xsd

データ変換定義

−

応答電文

any型を使う（チェックボックス）

使わない（チェックしない）

標準

使う（チェックボックス）

使わない（チェックしない）

電文フォーマット

−

サービス部品

電文フォーマット

adpmail_smtp_response.xsd

データ変換定義

−

フォルト電文

−

−

（凡例）

−：設定しません。または該当する項目がありません。

図3‒25　サービスアダプタ定義画面（詳細）の設定例

表3‒97　サービスアダプタ定義画面（詳細）の設定項目

分類

項目

設定内容

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscmsg_adpejb.jar

ユーティリティクラス（JARファイル）

adpmailpc.jar

独自定義ファイル

−

（凡例）

−：設定しません。

●メールアダプタ実行環境プロパティファイルの作成

開発環境で定義したメールアダプタに対応するメールアダプタ実行環境プロパティファイルを作成します。ここでは，ファイル名を「mailadp.properties」としています。

なお，メールアダプタ実行環境プロパティファイルの作成方法については，「3.3.12(3)　メールアダプタの定義ファイルの作成」を参照してください。

メールアダプタ実行環境プロパティファイルの作成例を次に示します。斜体部分が変更個所です。

# All Rights Reserved. Copyright (C) 2011, Hitachi, Ltd.

mailadp.smtp.host.name = mail-server
#mailadp.smtp.port = 25
#mailadp.user =
mailadp.addr.from = sampleuser2@XXXXXX.com
mailadp.addr.to = sampleuser@XXXXXX.com
#mailadp.addr.cc =
#mailadp.addr.bcc =
#mailadp.addr.count.max = 768
#mailadp.mail.body.size = 1024000
#mailadp.attach.path.1 =
#mailadp.attach.file.size = 5242880
#mailadp.max.attach.count.per.mail = 10
#mailadp.mail.format = text/plain
#mailadp.mail.body-text =
#mailadp.mail.body-filepath =
#mailadp.mail.body-filecharset = UTF-8
#mailadp.subject.size = 80
#mailadp.subject.text =
mailadp.smtp.encoding = ISO-2022-JP
#mailadp.smtp.auth = PLAIN
#mailadp.user.header.path =
#mailadp.account.file.path =
#mailadp.methodtrace.level = 3
#mailadp.methodtrace.filepath =
#mailadp.methodtrace.filenum =
#mailadp.methodtrace.filesize = 2097152
#mailadp.messagelog.level = 10
#mailadp.smtp.timeout = 180
#mailadp.smtp.connectiontimeout = 180
#mailadp.read-lock.retry.count = 0
#mailadp.read-lock.retry.interval = 1

作成したメールアダプタ実行環境プロパティファイルは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥mail」フォルダに格納します。

(b)　ビジネスプロセスの設定例

開発環境でのビジネスプロセスの設定例，およびデータ変換定義の設定例について説明します。

なお，開発環境で使用する画面の詳細は，マニュアル「サービスプラットフォーム リファレンス」の「1.　画面（開発環境）」を参照してください。開発環境での操作方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.　ビジネスプロセスの定義」および「7.　データ変換の定義」を参照してください。

●ビジネスプロセス定義画面の設定

開発環境のビジネスプロセス定義画面で次のようにアクティビティを定義します。

図3‒26　ビジネスプロセスの設定例

●変数の設定

ビジネスプロセス内の電文の受け渡しに必要なサービス部品電文用および標準電文用の変数を作成します。なお，この設定例では相関セットを使用しません。

サービス部品電文用の変数の作成

ビジネスプロセス定義画面の［変数・相関セット一覧］ダイアログで，次の変数を追加します。

表3‒98　サービス部品電文用の変数

変数名

説明

mail_input

メールアダプタの要求電文の変数

mail_output

メールアダプタの応答電文の変数

設定する種別はすべて［XML］です。また，それぞれの変数について［電文フォーマットの取込］ダイアログで次のとおりに設定します。

表3‒99　［電文フォーマットの取込］ダイアログでの設定値

項目名

変数名

mail_input

mail_output

サービス/受付

サービス名

サービス名

サービス/受付の名称

mailadp

mailadp

オペレーション名

SEND

SEND

電文種別

要求電文（ボディ）

応答電文（ボディ）

電文フォーマット

mail_input

mail_output

標準電文用の変数の作成

次の名称および内容で標準電文の要求電文用と応答電文用の電文フォーマットを作成します。

・input.xsd

<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="SampleSOAPinput">
    <xsd:complexType>
      <xsd:sequence>
       <xsd:element name="MAIL_BODY" type="xsd:string"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

・output.xsd

<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="SampleSOAPoutput">
    <xsd:complexType>
      <xsd:sequence>
       <xsd:element name="MESSAGE_ID" type="xsd:string"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

次に，ビジネスプロセス定義画面の［変数・相関セット一覧］ダイアログで，次の変数を追加します。

表3‒100　標準電文用の変数

変数名

説明

input

標準受付の要求電文の変数

output

標準受付の応答電文の変数

設定する種別はすべて［XML］です。

次に，それぞれの変数に対して［変数・相関セット一覧］ダイアログの［...］ボタンで，作成した電文フォーマットを次のとおりに指定します。

表3‒101　指定する電文フォーマット

変数名

指定する電文フォーマット

input

input.xsd

output

output.xsd

●データ変換定義の設定

データ変換アクティビティ（メールアダプタ要求電文作成）では，標準受付の要求電文からメールアダプタの要求電文を作成するマッピングをします。同様に，データ変換アクティビティ（応答電文作成）では，メールアダプタの応答電文から標準受付の応答電文を作成するマッピングをします。

まず，ビジネスプロセス定義画面でデータ変換アクティビティ（メールアダプタ要求電文作成）を右クリックし，［マッピング定義起動］を選択します。

標準受付の要求電文のMAIL_BODY要素をメールアダプタの要求電文にあるmail-body要素の子要素のmessage要素にマッピングします。

図3‒27　要求電文のマッピング

同様に，ビジネスプロセス定義画面でデータ変換アクティビティ（応答電文作成）を右クリックし，［マッピング定義起動］を選択します。

メールアダプタの応答電文にあるmessage-id要素を標準受付の応答電文のMESSAGE_ID要素にマッピングします。

図3‒28　応答電文のマッピング

●サービス呼出アクティビティの設定

ビジネスプロセス定義画面のサービス呼出アクティビティ（メールアダプタ呼出）をダブルクリックし，表示される［サービス呼出アクティビティ］ダイアログで次のように設定します。

図3‒29　サービス呼出アクティビティの設定値

設定内容を次の表に示します。

表3‒102　サービス呼出アクティビティの設定内容

分類

項目

設定値

アクティビティ名

メールアダプタ呼出

サービス名

mailadp

オペレーション名

SEND

通信モデル

同期

要求電文

ボディ割当変数

mail_input

ヘッダ割当変数

−

応答電文

ボディ割当変数

mail_output

ヘッダ割当変数

−

割当相関セット群

−

（凡例）

−：設定しません。

これで，メールアダプタおよびビジネスプロセスの設定は完了です。

なお，この設定例でビジネスプロセスを実行するには，サービスリクエスタから標準受付に対して要求電文を指定してメッセージを送信する必要があります。サービスリクエスタの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「9.2　標準の同期受付（Webサービス）に要求を出すサービスリクエスタ（SOAP通信基盤）」を参照してください。

そのあと，コンポーネントの検証とパッケージングをしてからテスト環境に配備定義して動作を確認してください。詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「8.　HCSCコンポーネントのパッケージングと配備定義」を参照してください。

3.3.13　HTTPアダプタを定義する

HTTPアダプタの定義方法について説明します。実際の設定例に基づいてHTTPアダプタの動作を確認したい場合は，「付録G　HTTP受付およびHTTPアダプタを利用したビジネスプロセスの設定例」を参照してください。

(1)　J2EEサーバ用オプション定義ファイルの設定

J2EEサーバ用オプション定義ファイルの設定は，J2EEサーバの互換モードによって異なります。

J2EEサーバの互換モードが推奨モードの場合

実行環境でHTTPアダプタが動作するために，J2EEサーバのクラスパスにJAX-RSのライブラリ（jaxrs-impl.jar）を追加します。J2EEサーバ用オプション定義ファイル（usrconf.cfg）を編集し，次の内容を記述してください。

add.class.path=<サービスプラットフォームのインストールディレクトリ>¥CC¥javaee¥1100¥lib¥jaxrs-impl.jar

J2EEサーバの互換モードがV9互換モードの場合

実行環境でHTTPアダプタが動作するために，J2EEサーバのクラスパスにJAX-RSのライブラリ（cjjaxrs.jar）を追加します。J2EEサーバ用オプション定義ファイル（usrconf.cfg）を編集し，次の内容を記述してください。

add.class.path=<サービスプラットフォームのインストールディレクトリ>¥jaxrs¥lib¥cjjaxrs.jar

J2EEサーバ用オプション定義ファイル（usrconf.cfg）の詳細は，マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.2　usrconf.cfg（J2EEサーバ用オプション定義ファイル）」を参照してください。

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

ここでは，HTTPアダプタで使用する電文フォーマットの種類，形式，および作成方法について説明します。

なお，認証フローを使用してアクセストークンを取得する場合の要求電文および応答電文の設定については，マニュアル「サービスプラットフォーム 解説」の「2.16.17　OAuth 2.0に対応したサービスへのアクセス」を参照してください。

(a)　電文フォーマットの種類

HTTPアダプタで使用する電文フォーマットの種類を次の表に示します。

表3‒103　電文フォーマットの種類

大分類

中分類

小分類

説明

編集可否

要求電文フォーマット

ヘッダ変数用（HTTPアダプタ用）

要求電文フォーマット（ヘッダ変数用）

HTTPリクエストヘッダに関する情報などを指定するヘッダ割当変数の電文フォーマットです。

サービスプラットフォームが提供する次のスキーマファイルを使用します。

adphttp_header_request1.xsd

Cookie要素を一括設定する場合に使用します。

adphttp_header_request2.xsd

Cookie要素を個別設定する場合に使用します。

どちらのスキーマファイルもadphttp_header_query_detail.xsd，およびadphttp_header_http-header_detail.xsdを内包（include）します。

×

クエリ用詳細電文フォーマット

クエリの情報を設定する電文フォーマットです。

サービスプラットフォームが提供するスキーマファイルはadphttp_header_query_detail.xsdです。

パラメタ設定部分を編集して使用します。

△

リクエストヘッダ用詳細電文フォーマット

リクエストヘッダの情報を設定する電文フォーマットです。

サービスプラットフォームが提供するスキーマファイルはadphttp_header_http-header_detail.xsdです。

パラメタ設定部分を編集して使用します。

△

ヘッダ変数用（JSON-XML変換用）

要求電文フォーマット（ヘッダ変数用）

JSON-XML変換の定義を設定する電文フォーマットです。

サービスプラットフォームが提供する次のスキーマファイルを使用します。

adp_custom_request.xsd

×

ボディ変数用（HTTPアダプタ用）

ファイルデータ用電文フォーマット

ファイルデータだけ送信する場合など，HTTPリクエストのボディ部分を扱わない場合に設定する電文フォーマットです。

サービスプラットフォームが提供するスキーマファイルはadphttp_body_empty.fdxです。

×

フォームデータ用電文フォーマット

HTTPリクエストボディにフォームデータを設定する場合に使用する電文フォーマットです。

サービスプラットフォームが提供するスキーマファイルはadphttp_body_form-data.xsdです。

OAuth 2.0が対応する認証フローを使用して，アクセストークンを取得する場合は，サービスプラットフォームが提供する次のスキーマファイルを使用します。

adphttp_body_form-data_jwt_assertion1.xsd

OAuth 2.0の認証フローとしてJWT Bearer Token Flowを使用し，assertionをHTTPアダプタで作成する場合は，この電文フォーマットを使用します。

adphttp_body_form-data_jwt_assertion2.xsd

OAuth 2.0の認証フローとしてJWT Bearer Token Flowを使用し，HTTPアダプタ以外の発行者が作成したassertionをHTTPアダプタで使用する場合は，この電文フォーマットを使用します。

adphttp_body_form-data_password.xsd

OAuth 2.0の認証フローとしてResource Owner Password Credentials Flowを選択する場合は，この電文フォーマットを使用します。

各スキーマファイルは，パラメタ設定部分を編集して使用します。

△

パススルーモード用電文フォーマット

パススルーモードで任意のHTTPリクエストボディを送信したい場合に作成します。

サービスプラットフォームではスキーマファイルを提供していません。

○

ボディ変数用（JSON-XML変換用）

要求電文フォーマット（ボディ変数用）

JSON変換ツールで作成した情報を設定したHTTPリクエストボディを送信したい場合に作成します。

サービスプラットフォームではスキーマファイルを提供していません。

○

応答電文フォーマット

ヘッダ変数用（HTTPアダプタ用）

応答電文フォーマット（ヘッダ変数用）

受信したHTTPレスポンスヘッダおよびステータスラインを割り当てるための電文フォーマットです。

サービスプラットフォームが提供する次のスキーマファイルを使用します。

adphttp_header_response1.xsd

Set-Cookie要素を一括設定する場合に使用します。

adphttp_header_response2.xsd

Set-Cookie要素を個別設定する場合に使用します。

×

ボディ変数用（HTTPアダプタ用）

ファイルデータ用電文フォーマット

ファイルデータだけ受信する場合など，HTTPレスポンスのボディ部分を扱わない場合に設定する電文フォーマットです。

サービスプラットフォームが提供するスキーマファイルはadphttp_body_empty.fdxです。

×

パススルーモード用電文フォーマット

パススルーモードで任意のHTTPレスポンスボディを受信したい場合に作成します。

サービスプラットフォームではスキーマファイルを提供していません。

○

ボディ変数用（JSON-XML変換用）

応答電文フォーマット（ボディ変数用）

JSON変換ツールで作成した情報を設定したHTTPレスポンスボディを送信したい場合に作成します。

サービスプラットフォームではスキーマファイルを提供していません。

○

フォルト電文フォーマット

任意のステータスコードを受信したときにフォルト情報に割り当てるための電文フォーマットです。

サービスプラットフォームが提供するスキーマファイルはadphttp_fault.xsdです。

×

（凡例）

○：ユーザが作成します。

△：必要に応じて編集できます。

×：編集できません。編集した場合の動作は保証されません。

(b)　電文フォーマットの形式

ここでは，HTTPアダプタで使用する要求電文フォーマット，応答電文フォーマット，およびフォルト電文フォーマットの形式について説明します。

●要求電文フォーマット（ヘッダ変数用（HTTPアダプタ用））（要求電文フォーマット（ヘッダ変数用））

ビジネスプロセスからHTTPアダプタに渡すヘッダ変数の要求電文フォーマットを次に示します。この電文フォーマットのファイル名は「adphttp_header_request1.xsd」または「adphttp_header_request2.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_request」です。

表3‒104　要求電文フォーマット（ヘッダ変数用（HTTPアダプタ用））

タグ名

種別

出現回数

説明

<http-header-request>

−

1回

−

<request-id>

string

0または1回

受付で生成されたリクエストIDを設定します。

作業フォルダ内のファイルデータを送信する場合や作業フォルダにファイルを受信する場合に必要です。

<method>※1

string

0または1回

リクエストラインのHTTPメソッドを指定します。

指定できる値は次のどれかです。

GET

HEAD

POST

OPTIONS

PUT

DELETE

上記以外の値を指定した場合の動作は保証されません。

<uri-scheme-authority>※1

string

0または1回

リクエストラインのURIのスキームとオーソリティ（URIのポート番号まで）を指定します。値のURLエンコードは行われません。

URIを組み立てる際の最初の文字列となります。

<uri-path>※1

string

0または1回

リクエストラインのURIのパス部分を指定します。

uri-scheme-authority要素の直後に連結されるため，指定文字列の先頭は原則として「/」で始める必要があります。

ルートパス（"/"）の場合は指定を省略できます。

<uri-query>

string

※2

リクエストラインのクエリを指定します。

<http-header-Authorization>※1

string

0または1回

HTTPリクエストヘッダのAuthorizationヘッダに対応する認証情報を指定します。

type属性には認証種別を指定します。

認証情報を送信する場合

type属性にrawを指定し，この要素にはAuthorizationヘッダのヘッダフィールド値を指定します。

認証情報を送信しない場合

type属性にnoneを指定します。この要素に値を指定しても無視されます。HTTPリクエストヘッダにはAuthorizationヘッダが設定されません。

ベーシック認証の認証情報を送信する場合

type属性にbasicを指定し，この要素にはHTTPアダプタアカウント定義ファイルに登録したユーザ名を指定します。

上記以外の値をtype属性に指定した場合はエラーになります。

<http-header-Content-Type>※1

string

0または1回

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

charset属性には，Content-Typeヘッダのcharset属性に対応する文字コードを指定します。

HTTPボディの型にマルチパート型（multipart/form-data）を指定した場合，Content-Typeヘッダには「multipart/form-data; boundary="<製品で生成した値>"」を指定します。

<http-header-Cookies>

−

（any）

0または1回

HTTPリクエストのCookie情報を指定します。Cookie要素を一括設定するか個別設定するかによって使用するスキーマファイルが異なります。

Cookie要素を一括設定する場合

スキーマファイルはadphttp_header_request1.xsdを使用します。any型でCookie情報を指定します。

Cookie要素を個別設定する場合

スキーマファイルはadphttp_header_request2.xsdを使用します。Cookie要素で個々のCookie情報を指定します。

<Cookie>

string

0回以上

HTTPリクエストのCookie情報を，Cookie情報ごとにHTTPレスポンスから渡されるSet-Cookieヘッダの形式で指定します。

name属性には，HTTPレスポンスのSet-CookieヘッダのCookie名を指定します。

host属性には，HTTPレスポンスのSet-CookieヘッダのCookieを送信するサーバのホスト（ドメイン）名を指定します。

path属性には，HTTPレスポンスのSet-CookieヘッダのCookieを送信するサーバのパスを指定します。

Cookie要素の各属性値や要素の値は，引き継ぎ対象のCookie情報が格納された応答電文（ヘッダ）のCookie要素の値をそのまま使用してください。任意の値を設定した場合の動作は保証されません。

<http-header-signed-aws-api-request>

string

0または1回

署名付きAWS APIリクエストで使用するアクセスキーペアIDを指定します。指定したアクセスキーペアIDをキーにしてアクセスキーID，シークレットアクセスキーがアカウント定義ファイルから取得されます。

指定した文字列が，1文字以上の半角英数字またはアンダースコア(_)からなる文字列でない場合は，エラーとなります。

指定できる属性を次に示します。

type属性

署名付きAWS APIリクエストの署名情報を生成する場合は，「header」を指定します。「none」を指定した場合は，署名付きAWS APIリクエストの署名情報は生成されません。「header」および「none」以外を指定した場合は，エラーとなります。

version属性

署名付きAWS APIリクエストの署名バージョンに署名バージョン4を指定する場合は，「aws4_request」を指定します。type属性に「none」を指定した場合，この属性の指定は無視されます。

「aws4_request」以外を指定した場合は，エラーとなります。

service属性

接続先AWSサービスを指定します。type属性に「none」を指定した場合，この属性の指定は無視されます。存在しないAWSサービス名を指定した場合は，AWSサーバ上でエラーとなります。

Amazon S3に接続する場合は，「s3」を指定します。

指定値が空の場合は，エラーとなります。

region属性※3

接続先AWSリージョンを指定します。type属性に「none」を指定した場合，この属性の指定は無視されます。存在しない接続先AWSリージョンを指定した場合は，AWSサーバ上でエラーとなります。

指定値が空の場合は，エラーとなります。

<http-header>

any

※4

HTTPヘッダ情報を指定します。

<http-body>

string

0または1回

HTTPボディの型を指定します。

<style>

string

0または1回

HTTPボディの型として次のどれかを指定します。

「multipart/form-data」を指定した場合

マルチパート型の処理を行います。

「single」または省略した場合

単一パートの送信処理を行います。

上記以外の値を指定した場合

システム例外が発生します。

<http-part>

−

0または1回

パートのメタ情報を指定します。

<message>

−

0または1回

要求電文（ボディ）に関する情報を指定します。

<binding>※1，※5

string

1回

要求電文（ボディ）の処理方法として次のどれかを指定します。

none

要求電文（ボディ）がない状態でHTTPリクエストを送信します。この値を指定した場合，HTTPリクエストのContent-Typeヘッダは設定されません。

raw

パススルーモードとして，要求電文（ボディ）の内容をそのまま送信します。HTTPリクエストのContent-Typeヘッダには，http-header-Content-Type要素で指定したメディアタイプおよび文字コードが設定されます。

form-data

ノーマルモードとして，要求電文（ボディ）をフォームデータの形式に変換して送信します。HTTPリクエストのContent-Typeヘッダには，application/x-www-form-urlencodedが設定されます。文字コードには，http-header-Content-Type要素で指定した文字コードが設定されます。

上記以外の場合

システム例外が発生します。

<part-id>

string

0または1回

要求電文（ボディ）をマルチパート型の1パートとして扱う場合，該当するパートに設定するContent-Dispositionヘッダのname属性の値を指定します。

<Content-Type>

string

0または1回

要求電文（ボディ）をマルチパート型の1パートとして扱う場合，該当するパートに設定するContent-Typeヘッダのメディアタイプを指定します。

charset属性には，Content-Typeヘッダのcharset属性に対応する文字コードを指定します。

<files>

−

0または1回

HTTPリクエストで送信するファイル情報を指定します。

この要素を指定した場合，要求電文（ボディ）が設定されていても，この要素での指定が優先されます。

<file>

−

0回以上

送信するファイルに関する情報を指定します。

この要素を2つ以上指定した場合は，最初に取得された要素1つが有効になります。

<part-id>

string

0または1回

送信対象ファイルをマルチパート型の1パートとして扱う場合，該当するパートに設定するContent-Dispositionヘッダのname属性の値を指定します。

<input-folder-name>※1

string

1回

送信対象ファイルが格納されているフォルダとして，次のどちらかを指定します。

作業フォルダの場合

空文字を指定します（空文字列を指定してもエラーになりません）。

共通フォルダの場合

共通フォルダ定義名を指定します。

また，common属性には，送信対象ファイルが存在するフォルダを識別するための次の値を指定します。

作業フォルダの場合

「common="false"」を指定します。

共通フォルダの場合

「common="true"」を指定します。

<local-file-name>※1

string

1回

送信対象のファイル名を指定します。

input-folder-name要素で作業フォルダを指定した場合

作業フォルダ直下の中間ファイル名を指定します。

パス変更に関係する指定（/../など）が含まれる場合，エラーになります。

input-folder-name要素で共通フォルダを指定した場合

共通フォルダルート配下のファイル名を指定します。

共通フォルダルートより上位のパスを指定した場合，エラーになります。

相対パスの先頭のファイル区切り文字（/）は省略できます。

サブフォルダを使用する場合は，共通フォルダルートからファイル名までの相対パスを指定してください。

指定した名称のファイルが存在しない場合はシステム例外が発生します。

<file-name>

string

0または1回

該当するパートに設定するContent-Dispositionヘッダのfilename属性の値を指定します。

<Content-Type>

string

0または1回

送信対象ファイルをマルチパート型の1パートとして扱う場合，該当するパートに設定するContent-Typeヘッダのメディアタイプを指定します。

charset属性には，Content-Typeヘッダのcharset属性に対応する文字コードを指定します。

<output-folder-name>※1

string

0または1回

HTTPレスポンス時にダウンロードファイルを出力するフォルダとして，次のどちらかを指定します。

作業フォルダの場合

空文字を指定します（空文字列を指定してもエラーになりません）。

共通フォルダの場合

共通フォルダ定義名を指定します。

また，common属性には，送信対象ファイルが存在するフォルダを識別するための次の値を指定します。

作業フォルダの場合

「common="false"」を指定します。

共通フォルダの場合

「common="true"」を指定します。

<output-sub-folder>

string

0または1回

HTTPレスポンス時にダウンロードファイルを出力する共通フォルダのサブフォルダを設定します。

共通フォルダルートからサブフォルダまでの相対パスを指定します。

共通フォルダルートより上位のパスを指定した場合，実行時にエラーになります。

共通フォルダルートからの相対パスで指定したサブフォルダが存在しない場合，サブフォルダを作成します。

相対パスの先頭および末尾のファイル区切り文字（/）は省略できます。

output-folder-name要素で，common属性にtrue以外の値を指定した場合，この要素の値は無視されます。

（凡例）

−：該当する項目はありません。

注※1

要素の指定がない場合は，HTTPアダプタ実行環境プロパティファイルまたはHTTPアダプタ実行環境共通プロパティファイルの指定が有効になります。要求電文とプロパティファイルの対応関係については，マニュアル「サービスプラットフォーム 解説」の「2.16.14　要求電文（ヘッダ）とHTTPアダプタ実行環境（共通）プロパティファイルのパラメタの対応関係」を参照してください。

注※2

include先のクエリ用詳細電文フォーマットの指定に従います。

注※3

region属性に指定できる接続先AWSリージョンを次に示します。

表3‒105　region属性に指定できる接続先AWSリージョン

指定値

接続先AWSリージョン

us-east-2

米国東部（オハイオ）

us-east-1

米国東部（バージニア北部）

us-west-1

米国西部（北カリフォルニア）

us-west-2

米国西部（オレゴン）

af-south-1

アフリカ（ケープタウン）

ap-east-1

アジアパシフィック（香港）

ap-south-2

アジアパシフィック（ハイデラバード）

ap-southeast-3

アジアパシフィック（ジャカルタ）

ap-southeast-4

アジアパシフィック（メルボルン）

ap-south-1

アジアパシフィック（ムンバイ）

ap-northeast-3

アジアパシフィック（大阪）

ap-northeast-2

アジアパシフィック（ソウル）

ap-southeast-1

アジアパシフィック（シンガポール）

ap-southeast-2

アジアパシフィック（シドニー）

ap-northeast-1

アジアパシフィック（東京）

ca-central-1

カナダ（中部）

ca-west-1

カナダ西部（カルガリー）

eu-central-1

欧州（フランクフルト）

eu-west-1

欧州（アイルランド）

eu-west-2

欧州（ロンドン）

eu-south-1

欧州（ミラノ）

eu-west-3

欧州（パリ）

eu-south-2

欧州（スペイン）

eu-north-1

欧州（ストックホルム）

eu-central-2

欧州（チューリッヒ）

il-central-1

イスラエル（テルアビブ）

me-south-1

中東（バーレーン）

me-central-1

中東（アラブ首長国連邦）

sa-east-1

南米（サンパウロ）

us-gov-east-1

AWS GovCloud（米国東部）

us-gov-west-1

AWS GovCloud（米国西部）

注※4

include先のリクエストヘッダ用詳細フォーマットの指定に従います。

注※5

JSON-XML変換をする場合，HTTPアダプタ実行環境プロパティファイルのadphttp.request.part.message.bindingプロパティで「raw」以外の値を設定しているときは，binding要素の値に「raw」を指定してください。http-header-Content-type要素の値については，「application/json」の設定を推奨します。

●要求電文フォーマット（ヘッダ変数用（HTTPアダプタ用））（クエリ用詳細電文フォーマット）

要求電文フォーマット（ヘッダ変数用）に内包（include）されるクエリ用詳細電文フォーマットを次に示します。この電文フォーマットのファイル名は「adphttp_header_query_detail.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_request」です。

表3‒106　クエリ用詳細電文フォーマット（ヘッダ変数用（HTTPアダプタ用））

タグ名

種別

出現回数

説明

<uri-query>

−

0または1回

−

任意の要素※

string

0から1,024回

リクエストラインのクエリの詳細情報を設定します。

（凡例）

−：該当する項目はありません。

注※

要素の指定がない場合は，HTTPアダプタ実行環境プロパティファイルまたはHTTPアダプタ実行環境共通プロパティファイルの指定が有効になります。要求電文とプロパティファイルの対応関係については，マニュアル「サービスプラットフォーム 解説」の「2.16.14　要求電文（ヘッダ）とHTTPアダプタ実行環境（共通）プロパティファイルのパラメタの対応関係」を参照してください。

●要求電文フォーマット（ヘッダ変数用（HTTPアダプタ用））（リクエストヘッダ用詳細電文フォーマット）

要求電文フォーマット（ヘッダ変数用）に内包（include）されるリクエストヘッダ用詳細電文フォーマットを次に示します。この電文フォーマットのファイル名は「adphttp_header_http-header_detail.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_request」です。

表3‒107　リクエストヘッダ用詳細電文フォーマット（ヘッダ変数用（HTTPアダプタ用））

タグ名

種別

出現回数

説明

<http-header>

−

0または1回

−

任意の要素※

string

0から1,024回

リクエストヘッダ情報を設定します。

ヘッダフィールド名に要素名，ヘッダフィールド値に要素値を設定してください。階層構造や属性値は指定できません。

リクエストヘッダの詳細については，マニュアル「サービスプラットフォーム 解説」の「2.16.3(3)　HTTPリクエストヘッダ」を参照してください。

（凡例）

−：該当する項目はありません。

注※

要素の指定がない場合は，HTTPアダプタ実行環境プロパティファイルまたはHTTPアダプタ実行環境共通プロパティファイルの指定が有効になります。要求電文とプロパティファイルの対応関係については，マニュアル「サービスプラットフォーム 解説」の「2.16.14　要求電文（ヘッダ）とHTTPアダプタ実行環境（共通）プロパティファイルのパラメタの対応関係」を参照してください。

●要求電文フォーマット（ヘッダ変数用（JSON-XML変換用））

JSON-XML変換の定義を設定するヘッダ変数用の要求電文フォーマットを次に示します。この電文フォーマットのファイル名は，「adp_custom_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/custom/request」です。

表3‒108　要求電文フォーマット（ヘッダ変数用（JSON-XML変換用））

タグ名

種別

出現回数※1

説明

<custom-adapter-request>

−

1回

−

<json-transfer>

boolean

0または1回

HTTPアダプタのリクエスト処理時に，JSON-XML変換するかどうかを指定するタグです。指定値は次のどちらかです。

true：JSON-XML変換します。※2

false：JSON-XML変換しません。

タグがあって値が「true」または「false」の場合

指定した値が適用されます。

タグがあって値が「true」または「false」のどちらでもない場合

システム例外を返します。

タグがあって値がない場合

デフォルトの「false」が使用されます。

タグがない場合

HTTPアダプタ定義ファイルのadphttp.request.switchover.json-transfer.modeプロパティの値が有効になります。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

HTTPアダプタ定義ファイルのadphttp.request.switchover.json-transfer.modeプロパティの値に「true」が設定されていない場合，JSON-XML変換をしません。

●要求電文フォーマット（ボディ変数用（HTTPアダプタ用））（ファイルデータ用電文フォーマット）

空のHTTPメッセージボディを表すファイルデータ用電文フォーマットの形式を次に示します。この電文フォーマットのファイル名は「adphttp_body_empty.fdx」です。

表3‒109　ファイルデータ用電文フォーマット（ボディ変数用（HTTPアダプタ用））

単純内容要素

種別

出現回数

説明

<http-body-common-empty>

−

1回

−

<data>

string

0回以上

空のデータを渡す要素です。この要素は省略できます。

（凡例）

−：該当する項目はありません。

●要求電文フォーマット（ボディ変数用（HTTPアダプタ用））（フォームデータ用電文フォーマット）

ビジネスプロセスからHTTPアダプタに渡すフォームデータ用電文フォーマットを次に示します。この電文フォーマットのファイル名は「adphttp_body_form-data.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/body_form_data」です。

表3‒110　フォームデータ用電文フォーマット（ボディ変数用（HTTPアダプタ用））

タグ名

種別

出現回数

説明

<http-body-form-data>

−

1回

−

任意の要素

string

0回以上

任意の要素を指定します。

（凡例）

−：該当する項目はありません。

●要求電文フォーマット（ボディ変数用（HTTPアダプタ用））（フォームデータ用電文フォーマット）（OAuth 2.0の認証フローとしてassertionをHTTPアダプタで作成する場合）

OAuth 2.0の認証フローとしてJWT Bearer Token Flowを使用し，assertionをHTTPアダプタで作成する場合の電文フォーマットを次に示します。この電文フォーマットのファイル名は「adphttp_body_form-data_jwt_assertion1.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/body_form_data」です。

表3‒111　フォームデータ用電文フォーマット（ボディ変数用（HTTPアダプタ用））（OAuth 2.0の認証フローとしてassertionをHTTPアダプタで作成する場合）

タグ名

種別

出現回数

説明

<http-body-form-data>

−

1回

−

<grant_type>

string

1回

OAuth 2.0の認証フロー（JWT Bearer Token Flow）を使用する場合に，グラントタイプに固定の文字列「urn:ietf:params:oauth:grant-type:jwt-bearer」を設定します。

任意の要素

string

0または1回

任意の要素を指定します。

<auth-info>※1，※2

−

1回

auth-info配下のタグに認証情報を設定します。

<claim>

−

1回

−

<iss>

string

0または1回

JWT発行者の識別子を設定します。

<aud>

string

0または1回

JWT利用者の識別子を設定します。

<sub>

string

0または1回

JWT発行者のユーザ識別子を設定します。

<exp>

string

0または1回

JWTの有効期限を設定します。

<nbf>

string

0または1回

JWTが有効になる日時を設定します。

<iat>

string

0または1回

JWTを発行した時刻を設定します。

<jti>

string

0または1回

JWTのための一意な識別子を設定します。

任意の要素

string

0または1回

任意の要素を指定します。

<header>

−

1回

−

<alg>

string

1回

JWTクレームセットの暗号化に使用するアルゴリズム（JWA RFC7518で定義された設定値）を設定します。

任意の要素

string

0または1回

任意の要素を指定します。

<secretkey>

string

1回

公開鍵認証情報登録・更新コマンドで登録した鍵IDを設定します。※3

鍵IDに対応する秘密鍵ファイルを署名時に使用します。

<signature>

string

1回

電子署名に使用するJava暗号化アーキテクチャ標準アルゴリズム名（Signatureアルゴリズム）を設定します。

<keytype>

string

1回

秘密鍵を変換するJava暗号化アーキテクチャ標準アルゴリズム名（KeyFactoryアルゴリズム）を設定します。

秘密鍵が対応するアルゴリズムを設定します。

（凡例）

−：該当する項目はありません。

注※1

設定が必要な項目および設定値は認可サーバによって異なるため，接続する認可サーバに合わせて適切な設定をする必要があります。

注※2

HTTPアダプタは，grant_type要素の設定値がurn:ietf:params:oauth:grant-type:jwt-bearerで，かつassertion要素が設定されていない場合，設定された認証情報を基に，フォームデータとしてassertionを作成します。

assertionは，次の形式で作成されます。

a.b.c

（凡例）

　a：JSON形式のヘッダ情報をBase64変換した文字列

　b：JSON形式のクレーム情報をBase64変換した文字列

　c：aとbをピリオド（.）で連結した文字列に，電子署名で使用する暗号化キーのタイプ，アルゴリズム，および秘密鍵を使用して署名し，Base64変換した文字列

作成されたassertionは，ほかのフォームデータと同様に，フォームデータとして送信されます。

注※3

公開鍵認証情報登録・更新コマンドについては，マニュアル「サービスプラットフォーム リファレンス」の「csakeyadd（公開鍵認証の秘密鍵情報の登録・更新）」を参照してください。

●要求電文フォーマット（ボディ変数用（HTTPアダプタ用））（フォームデータ用電文フォーマット）（OAuth 2.0の認証フローとしてHTTPアダプタ以外の発行者が作成したassertionをHTTPアダプタで使用する場合）

OAuth 2.0の認証フローとしてJWT Bearer Token Flowを使用し，HTTPアダプタ以外の発行者が作成したassertionをHTTPアダプタで使用する場合の電文フォーマットを次に示します。この電文フォーマットのファイル名は「adphttp_body_form-data_jwt_assertion2.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/body_form_data」です。

表3‒112　フォームデータ用電文フォーマット（ボディ変数用（HTTPアダプタ用））（OAuth 2.0の認証フローとしてHTTPアダプタ以外の発行者が作成したassertionをHTTPアダプタで使用する場合）

タグ名

種別

出現回数

説明

<http-body-form-data>

−

1回

−

<grant_type>

string

1回

OAuth 2.0の認証フロー（JWT Bearer Token Flow）を使用する場合に，グラントタイプに固定の文字列「urn:ietf:params:oauth:grant-type:jwt-bearer」を設定します。

<assertion>

string

1回

JSON Web Tokenを設定します。

assertionをHTTPアダプタで作成しない場合に，発行者が作成したJSON Web Tokenをassertionに設定します。

任意の要素

string

0または1回

任意の要素を指定します。

（凡例）

−：該当する項目はありません。

●要求電文フォーマット（ボディ変数用（HTTPアダプタ用））（フォームデータ用電文フォーマット）（OAuth 2.0の認証フローとしてResource Owner Password Credentials Flowを選択する場合）

OAuth 2.0の認証フローとしてResource Owner Password Credentials Flowを選択する場合の電文フォーマットを次に示します。この電文フォーマットのファイル名は「adphttp_body_form-data_password.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/body_form_data」です。

表3‒113　フォームデータ用電文フォーマット（ボディ変数用（HTTPアダプタ用））（OAuth 2.0の認証フローとしてResource Owner Password Credentials Flowを選択する場合）

タグ名

種別

出現回数

説明

<http-body-form-data>

−

1回

−

<grant_type>

string

1回

OAuth 2.0の認証フローとしてResource Owner Password Credentials Flowを選択する場合に，グラントタイプに固定の文字列「password」を設定します。

<username>

string

1回

リソースオーナーのユーザ名を設定します。

パスワード認証情報登録・更新コマンドで登録したユーザ名を指定します。※

任意の要素

string

0または1回

任意の要素を指定します。

（凡例）

−：該当する項目はありません。

注※

パスワード認証情報登録・更新コマンドについては，マニュアル「サービスプラットフォーム リファレンス」の「csauseradd（パスワード認証のユーザ情報の登録・更新）」を参照してください。

●応答電文フォーマット（ヘッダ変数用（HTTPアダプタ用））（応答電文フォーマット（ヘッダ変数用））

HTTPアダプタが呼び出し元のビジネスプロセスに返すヘッダ変数の応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「adphttp_header_response1.xsd」または「adphttp_header_response2.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_response」です。

表3‒114　応答電文フォーマット（ヘッダ変数用）（HTTPアダプタ用）

タグ名

種別

出現回数

説明

<http-header-response>

−

1回

−

<request-id>

string

0または1回

要求電文で指定したリクエストIDが設定されます。

要求電文で指定しなかった場合，この要素は生成されません。

<status-code>

string

1回

HTTPレスポンスのステータスラインのステータスコードが設定されます。

< reason-phrase>

string

1回

ステータスラインの理由フレーズ部分が設定されます。

<http-header-Content-Type>

string

0または1回

Content-Typeヘッダのメディアタイプが設定されます。

<http-header-Cookies>

−

（any）

1回

HTTPレスポンスのSet-Cookieヘッダが設定されます。Cookie要素を一括設定するか個別に設定するかによって使用するスキーマファイルが異なります。

Cookie要素を一括設定する場合

スキーマファイルはadphttp_header_response1.xsdを使用します。Cookie情報はany型で一括設定されます。

Cookie要素を個別設定する場合

スキーマファイルはadphttp_header_response2.xsdを使用します。Cookie要素に個々のCookie情報が設定されます。

<Cookie>

string

0回以上

HTTPレスポンスのSet-Cookieヘッダが，Cookie情報ごとに格納されます。

name属性には，HTTPレスポンスのSet-CookieヘッダのCookie名が設定されます。

host属性には，HTTPレスポンスのSet-CookieヘッダのCookieを送信するサーバのホスト（ドメイン）名が設定されます。

path属性には，HTTPレスポンスのSet-CookieヘッダのCookieを送信するサーバのパスが設定されます。

<http-header>

−

1回

HTTPレスポンスヘッダが格納されます。

任意の要素

any

0回以上

HTTPヘッダ情報が，要素名にヘッダフィールド名，要素値にヘッダフィールド値の形式で設定されます。

<http-body>

−

1回

HTTPレスポンスボディの情報が設定されます。

<output-folder-name>

string

0または1回

HTTPレスポンスでダウンロードしたファイルの出力先フォルダが設定されます。

出力先フォルダは要求電文フォーマット（ヘッダ変数用）のoutput-folder-name要素で指定した値と同じです。

作業フォルダの場合

空文字が設定されます。

共通フォルダの場合

共通フォルダ定義名が指定されます。

また，common属性には，送信対象ファイルが存在するフォルダを識別するための値が設定されます。

作業フォルダの場合

「common="false"」が設定されます。

共通フォルダの場合

「common="true"」が設定されます。

ダウンロードするファイルがない場合，この要素は生成されません。

<http-part>

−

1回

パートのメタ情報が設定されます。

<files>

−

0または1回

HTTPレスポンスで受信するファイル情報が設定されます。

<file>

−

1回以上

受信するファイルに関する情報が格納されます。

<part-id>

string

0または1回

Content-Dispositionヘッダのname属性に指定されている値が設定されます。

name属性がない場合，この要素は生成されません。

<local-file-name>

string

1回

共通フォルダまたは作業フォルダに出力されたファイル名が設定されます。

出力フォルダが共通フォルダの場合

HTTPアダプタ内で一意となる名称で出力されたファイル名が設定されます。

サブフォルダに出力する場合は，共通フォルダルートからの相対パスが設定されます。

出力フォルダが作業フォルダの場合

出力された中間ファイル名が設定されます。

<file-name>

string

0または1回

Content-Dispositionヘッダのfilename属性に指定されている値が設定されます。

filename属性がない場合，この要素は生成されません。

<Content-Type>

string

0または1回

HTTPレスポンスでダウンロードしたファイルのMIMEタイプを設定します。

省略した場合は「text/plain」を設定します。

charset属性には，ダウンロードしたファイルのContent-Typeヘッダのcharset属性に対応する文字コードを指定します。

<context>

−

1回

HTTPアダプタの実行情報が格納されます。

<adapter-name>

string

1回

このHTTPレスポンスの基になったHTTPリクエストを送信したアダプタの名称が設定されます。

<operation-name>

string

1回

このHTTPレスポンスの基になったHTTPリクエストを送信したオペレーションの名称が設定されます。

<request-method>

string

1回

このHTTPレスポンスの基になったHTTPリクエストのメソッド種別が設定されます。

<request-uri>

string

1回

このHTTPレスポンスの基になったHTTPリクエストのURI（SchemeおよびUserInfoを除くAuthorization，Path）が設定されます。

<access-token>

string

0または1回

OAuth 2.0の認証フロー実行時に認可サーバから返されるアクセストークンが設定されます。

（凡例）

−：該当する項目はありません。

●フォルト電文フォーマット

HTTPアダプタが呼び出し元のビジネスプロセスに返すフォルト電文フォーマットを次に示します。この電文フォーマットのファイル名は「adphttp_fault.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/fault」です。

表3‒115　フォルト電文フォーマット

タグ名

種別

出現回数

説明

<http-fault>

−

1回

−

<status-code>

string

1回

HTTPレスポンスのステータスラインのステータスコードが設定されます。

< reason-phrase>

string

1回

ステータスラインの理由フレーズ部分が設定されます。

<http-header>

−

1回

HTTPレスポンスヘッダが格納されます。

任意の要素

string

0回以上

HTTPヘッダ情報が，要素名にヘッダフィールド名，要素値にヘッダフィールド値の形式で設定されます。

<context>

−

1回

HTTPアダプタの実行情報が格納されます。

<adapter-name>

string

1回

このHTTPレスポンスの基になったHTTPリクエストを送信したアダプタの名称が設定されます。

<operation-name>

string

1回

このHTTPレスポンスの基になったHTTPリクエストを送信したオペレーションの名称が設定されます。

<request-method>

string

1回

このHTTPレスポンスの基になったHTTPリクエストのメソッド種別が設定されます。

<request-uri>

string

1回

このHTTPレスポンスの基になったHTTPリクエストのURI（SchemeおよびUserInfoを除くAuthorization，Path）が設定されます。

（凡例）

−：該当する項目はありません。

(c)　電文フォーマットの作成方法

HTTPアダプタで使用する電文フォーマットの作成方法について説明します。

サービスプラットフォームが提供する電文フォーマットのXMLスキーマは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥schema」に格納されています。編集する場合はフォルダごと任意の場所にコピーしてから編集してください。

次の電文フォーマットの作成方法を次に示します。

クエリ用詳細電文フォーマット

リクエストヘッダ用詳細電文フォーマット

フォームデータ用電文フォーマット

パススルーモード用電文フォーマット

ボディ変数用（JSON-XML変換用）電文フォーマット

●クエリ用詳細電文フォーマットの作成

XMLスキーマファイル（adphttp_header_query_detail.xsd）をXMLエディタなどで開き，次のように編集します。

xsd:any型の要素を，クエリ名をローカル名とするxsd:string型の要素に変更します。出現回数は任意に指定できます。

注意事項

uri-query要素直下に指定できるクエリ要素の上限は1,024個までです。1,025個以上の要素を指定した場合の動作は保証されません。

XMLスキーマファイルを上書き保存します。

●リクエストヘッダ用詳細電文フォーマットの作成

XMLスキーマファイル（adphttp_header_http-header_detail.xsd）をXMLエディタなどで開き，次のように編集します。

xsd:any型の要素を，リクエストヘッダ名をローカル名とするxsd:string型の要素に変更します。出現回数は任意に指定できます。

注意事項

http-header要素直下に指定できるリクエストヘッダ要素の上限は1,024個までです。1,025個以上の要素を指定した場合の動作は保証されません。

XMLスキーマファイルを上書き保存します。

●フォームデータ用電文フォーマットの作成

XMLスキーマファイル（adphttp_body_form-data.xsd）をXMLエディタなどで開き，次のように編集します。

xsd:any型の要素を，フォームデータのキー名をローカル名とするxsd:string型の要素に変更します。出現回数は任意に指定できます。

XMLスキーマファイルを上書き保存します。

●パススルーモード用電文フォーマットの作成

エディタなどで任意の電文フォーマットを作成します。

任意のファイル名で保存します。

注意事項

変数の型は，XML型，non-XML型，any型のどれでも指定できます。ただし，XML型の場合はXMLフォーマット定義ファイル，non-XML型の場合はバイナリフォーマット定義ファイルの電文フォーマットを作成する必要があります。

HTTPリクエストボディの文字コードはContent-Typeヘッダのcharset属性で指定できますが，HTTPアダプタでは指定された文字コードに変換しません。このため，ボディデータは要求電文（ボディ）に設定する前にあらかじめユーザ自身で文字コード変換をする必要があります。

●ボディ変数用（JSON-XML変換用）電文フォーマット

ボディ変数用の電文フォーマットは，JSON変換ツールで作成します。JSON形式の要求電文，および応答電文のサンプルファイルを入力JSONファイルとして用意し，JSON変換ツールでXSDファイルを作成してください。HTTPアダプタでJSON-XML変換の動作を変更する場合は，JSON-XML変換定義ファイルをJSON変換ツールの実行時に指定してください。

JSON変換ツールの実行形式を次に示します。

cscjson2xsd -in <入力JSONファイルのパス> -out <出力XSDファイルのパス> [-f <JSON-XML変換定義ファイルのパス>]

JSON変換ツールの詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「13.　JSON変換ツールを使用したデータ変換」を参照してください。

(3)　サービスアダプタ定義画面での操作

HTTPアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービスアダプタ定義画面（基本）で定義情報を設定します。

サービスアダプタ定義画面（基本）で設定が必要な項目については，「3.3.19(13)　HTTPアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

［サービスアダプタ定義（詳細）］タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

サービスアダプタ定義画面（詳細）で定義情報を設定します。

サービスアダプタ定義画面（詳細）で設定が必要な項目については，「3.3.19(13)　HTTPアダプタの場合」を参照してください。

(4)　HTTPアダプタの定義ファイルの作成および編集

作成および編集する定義ファイルの種類を次に示します。

HTTPアダプタ定義ファイル

HTTPアダプタの動作情報を設定するためのファイルです。

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

HTTPアダプタごとの構成情報を設定するためのファイルです。

HTTPアダプタ実行環境共通プロパティファイル

すべてのHTTPアダプタに共通の構成情報を設定するためのファイルです。

JSON-XML変換定義ファイル

JSON形式データとXML形式データとの間の変換に関する動作を設定するためのファイルです。

なお，これらの定義ファイルの作成および編集は任意です。省略した場合は各定義ファイルのデフォルト値が使用されます。

各定義ファイルの作成手順および編集手順を次に示します。

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

HTTPアダプタ定義ファイルは，サービスプラットフォームが提供するテンプレートファイルを利用して編集します。

HTTPアダプタ定義ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「cscadphttp.properties」を選択し，［編集］ボタンをクリックします。

HTTPアダプタ定義ファイルを編集するためのエディタが起動します。

エディタ上でHTTPアダプタ定義ファイルを編集します。

HTTPアダプタ定義ファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「3.10.1　HTTPアダプタ定義ファイル」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

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

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥config¥templates¥serviceid.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥config

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>を作成して格納してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥config¥<HCSCサーバ名>

コピーしたテンプレートファイルのファイル名を「<サービスID※>.properties」に変更します。

定義内容を編集して保存します。

HTTPアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.14.2　HTTPアダプタ実行環境プロパティファイル」を参照してください。

注※

サービスIDは，HTTPアダプタを新規に追加するときにサービスアダプタ定義画面で指定する任意の文字列です。

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

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

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥config¥templates¥adphttpcom.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

commonディレクトリはユーザが作成してください。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥config¥common

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>と「common」はユーザが作成してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥config¥<HCSCサーバ名>¥common

ファイル名は変更しないでください。

定義内容を編集して保存します。

HTTPアダプタ実行環境共通プロパティファイルで編集できる定義内容は，HTTPアダプタ実行環境プロパティファイルと同じです。詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.14.3　HTTPアダプタ実行環境共通プロパティファイル」を参照してください。

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

(d)　JSON-XML変換定義ファイル

JSON-XML変換定義ファイルは，サービスプラットフォームが提供するテンプレートファイルを独自定義ファイルとして追加し，編集します。ファイルの内容については，ボディ変数用の電文フォーマットの作成時に使用したJSON-XML変換定義ファイルと合わせてください。

JSON-XML変換定義ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］の［追加］ボタンをクリックして，JSON-XML変換定義ファイルを追加します。

「<サービスプラットフォームのインストールディレクトリ>¥CSC¥config¥msg¥templates」に格納されているJSON-XML変換定義ファイルのテンプレートファイル（csc_json_converter.properties）を選択してください。

［独自定義ファイル］の［編集］ボタンをクリックします。

JSON-XML変換定義ファイルを編集するためのエディタが起動します。

エディタ上でJSON-XML変換定義ファイルを編集します。

JSON-XML変換定義ファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「3.18.1　JSON-XML変換定義ファイル」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

(5)　J2EEサーバ用オプション定義ファイルの設定

プロキシサーバやコネクション継続などの設定が必要な場合は，J2EEサーバ用オプション定義ファイル（usrconf.cfg）で設定します。HTTPアダプタで設定するプロパティについては，マニュアル「サービスプラットフォーム 解説」の「2.16.6　プロキシサーバを経由した通信」およびマニュアル「サービスプラットフォーム 解説」の「2.16.7　コネクション継続（Keep-Alive）を使用した通信」を参照してください。

(6)　ビジネスプロセスの設定

HTTPアダプタを利用する場合，ビジネスプロセスのサービス呼出アクティビティ，および必要に応じてフォルト処理の設定が必要です。

サービス呼出アクティビティとフォルト処理の設定方法を次に示します。

(a)　サービス呼出アクティビティの設定

HTTPアダプタを呼び出すためのサービス呼出アクティビティを定義します。サービス呼出アクティビティの定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.6.4　サービス呼出アクティビティ」を参照してください。

［サービス呼出アクティビティ］ダイアログの設定内容を次に示します。

項目

設定値

アクティビティ名

任意の名称を設定します。

サービス名

HTTPアダプタの新規追加時に設定したサービス名を指定します。

オペレーション名

「(3)　サービスアダプタ定義画面での操作」で設定したオペレーション名を指定します。

要求電文

ボディ割当変数

送信するデータ形式に応じて次のように指定します。

ノーマルモードで送信する場合

(2)(c)で作成したフォームデータ送信用の電文フォーマットを割り当てた変数を指定します。

パススルーモードで送信する場合

(2)(c)で作成したパススルーモードでのデータ送信用の電文フォーマットを割り当てた変数を指定します。

ファイルデータを送信する場合

adphttp_body_empty.fdxを割り当てた変数を指定します。※1

ヘッダ割当変数※2

Cookieの設定方法に応じて次のように指定します。

Cookieを一括設定する場合

adphttp_header_request1.xsdを割り当てた変数を指定します。

Cookieを個別設定する場合

adphttp_header_request2.xsdを割り当てた変数を指定します。

応答電文

ボディ割当変数

受信するデータ形式に応じて次のように指定します。

パススルーモードで受信する場合

(2)(c)で作成したパススルーモードでのデータ受信用の電文フォーマットを割り当てた変数を指定します。

ファイルデータを受信する場合

adphttp_body_empty.fdxを割り当てた変数を指定します。※3

ヘッダ割当変数※2

Cookieの設定方法に応じて次のように指定します。

Cookieを一括設定する場合

adphttp_header_response1.xsdを割り当てた変数を指定します。

Cookieを個別設定する場合

adphttp_header_response2.xsdを割り当てた変数を指定します。

割当相関セット群

設定しません。

注※1

サービスを呼び出す前に変数を初期化しておく必要があります。

注※2

要求電文（ヘッダ）または応答電文（ヘッダ）を使用しない場合，設定は不要です。

注※3

サービス呼び出し後に空文字列が設定されます。

(b)　フォルト処理の設定

正常系として処理できないステータスコードやフォルトに変換したシステム例外をビジネスプロセスでエラーとして処理する場合は，サービス呼出アクティビティや上位のスコープにフォルト処理を定義します。フォルト処理の定義方法については，マニュアル「サービスプラットフォーム開発ガイド 基本開発編」の「5.4.4　フォルト処理を定義する」を参照してください。

［フォルト処理の割当］ダイアログの設定内容を次に示します。

項目

設定値

割当変数

HTTPアダプタのフォルトをキャッチする場合

adphttp_fault.xsdを割り当てた任意の変数を指定します。

システム例外のフォルトをキャッチする場合

cscfault.xsdを割り当てた任意の変数を指定します。

遷移先

フォルトが発生した場合に遷移する任意のアクティビティを指定します。

3.3.14　コマンドアダプタを定義する

コマンドアダプタの定義方法について説明します。

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

コマンドアダプタでは，要求電文と応答電文の2種類の電文があります。それぞれの内容について説明します。

電文フォーマット作成手順の詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.　電文フォーマットの作成」を参照してください。

(a)　コマンドアダプタの要求電文フォーマット

サービス呼出アクティビティを使用して，コマンドアダプタに渡す要求電文のXMLデータフォーマットと指定値について説明します。

名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/cmd/request」です。

表3‒116　要求電文フォーマット

タグ名

種別

出現回数※

説明

<request>

−

1

−

<command-line>

−

1

−

<command>

string

1

外部コマンドのファイルパスを指定するタグです。

<argument<N>>

string

0または1

外部コマンドのコマンドライン引数を指定するタグです。

argument<N>にそれぞれ１つずつ指定します。

<N>の部分は，1，2，…，100のどれかを指定します。

<N> の部分は昇順に出現する必要があります。

出現する<N>が連続値である必要はありません。

要素値が空文字列の要素は，引数として採用しません。

<config>

−

0または1

外部コマンドプロセスに関する動作オプションを設定するタグです。

各子要素で値を指定した場合，コマンドアダプタ実行環境プロパティファイルの対応するプロパティ値は無効になります。

各子要素がない場合，コマンドアダプタ実行環境プロパティファイルの対応するプロパティ値が有効になります。

コマンドアダプタ実行環境プロパティファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.15.3　コマンドアダプタ実行環境プロパティファイル」を参照してください。

<timeout>

−

0または1

外部コマンドプロセスのタイムアウトに関する情報を指定するタグです。

<value>

int

0または1

タイムアウト時間（秒）を指定するタグです。

指定可能値は，0〜86400です。

0を指定した場合，外部コマンドプロセスのタイムアウトを使用しません。

要素値が空要素の場合はエラーになります。

対応するコマンドアダプタ実行環境プロパティファイルのプロパティはadpcmd.config.timeout.valueです。詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.15.3　コマンドアダプタ実行環境プロパティファイル」を参照してください。

<enable-kill-process>

boolean

0または1

タイムアウト発生時の外部コマンドプロセス強制終了の実施可否を指定するタグです。

指定可能値は，trueまたはfalseです（大文字可）。

trueを指定した場合，タイムアウト発生時にプロセスの強制終了を試みます。

要素値が空要素の場合はエラーになります。

対応するコマンドアダプタ実行環境プロパティファイルのプロパティはadpcmd.config.timeout.enable-kill-processです。詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.15.3　コマンドアダプタ実行環境プロパティファイル」を参照してください。

<process-environment>

−

0または1

外部コマンドプロセスの環境に関する情報を設定するタグです。

<variable-file-path>

string

0または1

プロセス環境変数定義ファイルのファイルパスを指定するタグです。

絶対パスで指定してください。

HCSCサーバマシンのファイルを指定してください。

ファイルパスを指定した場合，コマンドアダプタ実行環境プロパティファイルで指定したプロセス環境変数定義ファイルの内容はすべて無視されます。

要素値が空要素の場合はエラーになります。

対応するコマンドアダプタ実行環境プロパティファイルのプロパティはadpcmd.config.process-environment.variable-file-pathです。詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.15.3　コマンドアダプタ実行環境プロパティファイル」を参照してください。

<working-dir-path>

string

0または1

外部コマンドプロセスの作業ディレクトリを指定するタグです。

絶対パスで指定してください。

HCSCサーバマシンに存在するディレクトリを指定してください。

要素値が空要素の場合はエラーになります。

対応するコマンドアダプタ実行環境プロパティファイルのプロパティはadpcmd.config.process-environment.working-dir-pathです。詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.15.3　コマンドアダプタ実行環境プロパティファイル」を参照してください。

（凡例）

−：該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

参考

サービスプラットフォームが提供している要求電文のXMLスキーマファイルは，「<サービスプラットフォームのインストールディレクトリ>/CSC/custom-adapter/Command/schema/adpcmd_request.xsd」に格納されています。

コマンドライン引数を10個以上使用したい場合は，フォルダごと任意の場所にコピーしてから，コマンドライン引数要素（argument<N>）を追加してください。

(b)　コマンドアダプタの応答電文フォーマット

サービス呼出アクティビティを使用して，コマンドアダプタから受け取る応答電文のバイナリデータフォーマットについて説明します。

●応答電文の内容

全体の構造を次の図で示します。

図3‒30　応答電文のバイナリフォーマットの構造

応答電文のバイナリデータフォーマットの詳細を次の表に示します。

表3‒117　応答電文のバイナリデータフォーマットの詳細

情報

サイズ

（バイト）

説明

終了コード

4

外部コマンドプロセスの終了コードです。

符号付2進整数（リトルエンディアン）で表現した値が格納されています。

［標準出力への出力結果］領域のサイズ

4

標準出力への出力結果として応答電文に格納されているサイズ（バイト）です。

符号付2進整数（リトルエンディアン）で表現した値が格納されています。

サイズの最小値は0，サイズの最大値はコマンドアダプタ実行環境プロパティファイルのadpcmd.config.stdout.sizeキーで指定した値です。

標準出力への出力結果

可変

外部コマンドプロセスが標準出力に出力した内容です。

サービスプラットフォームでは，標準出力への出力結果を1つの文字列として扱うバイナリフォーマットファイルを提供します。エンコード形式の設定が異なる2つのファイルを次の場所に提供します。

<サービスプラットフォームのインストールディレクトリ>/CSC/custom-adapter/Command/schema/adpcmd_response_ms932.fdx

<サービスプラットフォームのインストールディレクトリ>/CSC/custom-adapter/Command/schema/adpcmd_response_utf8.fdx

●応答電文フォーマットの作成

サービスプラットフォームが提供する応答電文のフォーマットファイルは，標準出力への出力結果を1つの文字列として扱う定義となっています。このファイルを利用する場合は，応答電文フォーマットを作成する必要はありません。

応答電文で標準出力への出力結果を構造データとして扱う場合は，バイナリフォーマットファイルを作成する必要があります。

バイナリフォーマットファイルの作成手順を次に示します。

サービスプラットフォームが提供する応答電文バイナリフォーマットファイルを，Eclipseのパッケージエクスプローラからアクセスできる場所にコピーします。

コピーしたファイルをバイナリフォーマットエディタで開きます。

複合内容要素［standard-output］を削除します。

削除する順序を次の図に示します。

応答電文バイナリフォーマットの「標準出力への出力結果」領域に対応する定義を，外部コマンドの仕様に合わせて作成します。

応答電文のバイナリデータフォーマットの詳細については，表3-117を参照してください。

作成したバイナリフォーマットファイルは，コマンドアダプタのサービスアダプタ定義画面でEXECオペレーションの応答電文フォーマットに設定します。また，作成したバイナリフォーマットファイルでビジネスプロセスの変数を作成して，サービス呼出アクティビティの応答電文に指定します。

ポイント

コマンドアダプタは，要求電文で外部コマンドを指定できるため，リクエストごとに外部コマンドを変更できます。そのため，複数のビジネスプロセスでコマンドアダプタを共有しやすく，定義コンポーネント数を削減することができます。

定義コンポーネント数を削減するため，複数の外部コマンドに対して，外部コマンドの標準出力形式に合わせて作成した応答電文フォーマットを使用したい場合は，次のとおりビジネスプロセスとコマンドアダプタを設定してください。

外部コマンドに合わせて作成したバイナリフォーマット定義ファイルは，ビジネスプロセスでだけ使用してください。

その際，サービス呼出アクティビティの応答電文変数は，コマンドアダプタが提供するバイナリフォーマット定義ファイルの変数とします。また，作成したバイナリフォーマット定義ファイルを基にした変数は，コマンドアダプタを呼び出した後に，Java呼出アクティビティや代入アクティビティで使用してください。

コマンドアダプタのEXECオペレーションの応答電文フォーマットは，コマンドアダプタが提供するバイナリフォーマット定義ファイルを使用してください。

(2)　サービスアダプタ定義画面での操作

コマンドアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービスアダプタ定義画面（基本）で定義情報を設定します。

サービスアダプタ定義画面（基本）で設定が必要な項目については，「3.3.19(14)　コマンドアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

［サービスアダプタ定義（詳細）］タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

サービスアダプタ定義画面（詳細）で定義情報を設定します。

サービスアダプタ定義画面（詳細）で設定が必要な項目については，「3.3.19(14)　コマンドアダプタの場合」を参照してください。

(3)　コマンドアダプタの定義ファイルの作成および編集

作成および編集する定義ファイルの種類を次に示します。

実行許可コマンド定義ファイル

コマンドアダプタで実行できる外部コマンドを定義するためのファイルです。

プロセス環境変数定義ファイル

外部コマンドプロセスだけで有効になる環境変数を定義するためのファイルです。

コマンドアダプタ実行環境プロパティファイル

コマンドアダプタごとの構成情報を設定するためのファイルです。

コマンドアダプタ実行環境共通プロパティファイル

すべてのコマンドアダプタに共通の構成情報を設定するためのファイルです。

各定義ファイルの作成手順および編集手順を次に示します。

(a)　実行許可コマンド定義ファイルの作成

コマンドアダプタで実行を許可するファイルパス，および指定を可能にするコマンドライン引数の仕様をまとめます。

チェック対象文字列を受理する正規表現を作成して，ファイルに定義します。

作成したファイルを任意のパスに保存します。

注意事項

実行許可コマンド定義ファイルを有効にするには，コマンドアダプタ実行環境プロパティファイルのadpcmd.config.command.allow-file-pathプロパティに保存先のファイルパスを指定してください。

(b)　プロセス環境変数定義ファイル

プロセス環境変数定義ファイルは，Javaのプロパティファイル形式で作成します。

環境変数名をキーとして，変数値を要素とします。

作成したプロセス環境変数定義ファイルは，任意の場所に任意のファイル名で保存します。

注意事項

プロセス環境変数定義ファイルを有効にするには，コマンドアダプタ実行環境プロパティファイルのadpcmd.config.process-environment.variable-file-pathプロパティに保存先のファイルパスを指定してください。

(c)　コマンドアダプタ実行環境プロパティファイル

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Command¥config¥templates¥serviceid.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Command¥config

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>を作成して格納してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Command¥config¥<HCSCサーバ名>

コピーしたテンプレートファイルのファイル名を「<サービスID※>.properties」に変更します。

定義内容を編集して保存します。

コマンドアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.15.3　コマンドアダプタ実行環境プロパティファイル」を参照してください。

注※

サービスIDは，開発環境のコマンドアダプタエディタで設定した値です。

コマンドアダプタ実行環境プロパティファイルは，コマンドアダプタを開始する際に実行環境に反映されます。このため，コマンドアダプタ実行環境プロパティファイルの内容を変更する場合は，いったんコマンドアダプタを停止する必要があります。

(d)　コマンドアダプタ実行環境共通プロパティファイル

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Command¥config¥templates¥adpcmdcom.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

commonディレクトリはユーザが作成してください。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Command¥config¥common

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>と「common」はユーザが作成してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Command¥config¥<HCSCサーバ名>¥common

ファイル名は変更しないでください。

定義内容を編集して保存します。

コマンドアダプタ実行環境共通プロパティファイルで編集できる定義内容は，コマンドアダプタ実行環境プロパティファイルと同じです。

コマンドアダプタ実行環境共通プロパティファイルは，コマンドアダプタを開始する際に実行環境に反映されます。このため，コマンドアダプタ実行環境共通プロパティファイルの内容を変更する場合は，いったんコマンドアダプタを停止する必要があります。

3.3.15　SFTPアダプタを定義する

SFTPアダプタの定義方法について説明します。

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

SFTPアダプタの電文フォーマットの定義ファイルはサービスプラットフォームが提供するスキーマを使用します。そのため，電文フォーマットの定義ファイルの作成は不要です。

SFTPアダプタで使用する電文フォーマットの内容について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥SFTP¥schema」です。

(a)　SFTPアダプタの要求電文フォーマット

SFTPアダプタの要求電文フォーマットを，オペレーションごとに説明します。

●PUTオペレーション

ビジネスプロセスからSFTPアダプタに渡すPUTオペレーションの要求電文フォーマットを次に示します。ファイル名は「sftpadp_put_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csasftp/put_request」です。

表3‒118　要求電文フォーマット（PUTオペレーション）

タグ名

種別

出現回数※1

説明

<request>

−

1回

−

<host-ipaddr>

string

0または1回

接続するSFTPサーバのIPアドレスまたはホスト名です。

Windowsを使用する場合，ループバックIPアドレス（127.0.0.1またはlocalhost）を指定すると，SFTP接続に失敗する場合があります。実IPアドレスまたはホスト名を指定してください。

<host-con-port>

long

0または1回

接続するSFTPサーバのポート番号です。

1から65535までのポート番号を指定します。

<sftp-user>※2

string

0または1回

接続するSFTPサーバのユーザ名を示すタグです。

SFTPサーバが存在するマシンのユーザ名を指定します。

<data-compression>

boolean

0または1回

転送データを圧縮するかどうかを指定するタグです。

true：転送データを圧縮します。

false：転送データを圧縮しません。

<host-auth>

−

0または1回

ホスト認証に関する設定を示すタグです。

<strict-hostkey-checking>

boolean

0または1回

厳格なホスト鍵チェックの実施の有無を指定するタグです。

true：厳格なホスト鍵チェックをします。

false：厳格なホスト鍵チェックをしません。

<overwrite-data>

boolean

0または1回

転送先にファイルが存在する場合の動作を指定するタグです。

true：ファイルを上書きします。

false：ファイルを追記します。

要素が省略された場合は「true」が仮定されます。

<user-auth>

−

0または1回

ユーザ認証に関する設定を示すタグです。

<user-auth-type>

string

0または1回

ユーザ認証の形式を示すタグです。

password：パスワード認証です。

publickey：公開鍵認証です。

<user-auth-info>

string

0または1回

ユーザ認証で使用する認証情報を指定するタグです。

パスワード認証を実施する場合

運用コマンドで設定したユーザ名を指定します。

公開鍵認証を実施する場合

運用コマンドで設定した鍵IDを指定します。

<request-id>

string

0または1回

受付で作成したリクエストIDを示すタグです。

共通フォルダを利用するときは無視されます。

<local-folder>

string

1回

ローカル側フォルダを示すタグです。

タグの属性にcommon="true"が指定されている場合

ローカルフォルダとして共通フォルダを利用し，このタグには共通フォルダ定義名を指定します。

タグの属性にcommon="false"が指定されている場合

ローカルフォルダとして作業フォルダを利用します。

<local-file-name>

string

1回

ローカル側ファイル名を示すタグです。

作業フォルダを利用する場合，作業フォルダ直下のファイルを指定してください。ファイル名の先頭以外に区切り文字（スラッシュ（/），円マーク（¥）など）は使用できません。ファイル名の先頭にスラッシュ（/）を使用した場合，スラッシュ（/）は無視されます。

共通フォルダを利用する場合，共通フォルダルート配下のファイルを指定してください。シンボリックリンク以外のファイルを指定してください。

<remote-path>

string

1回

リモートパス名（SFTPサーバに転送するときの転送先パス名）を示すタグです。

<sftp-commands-before>

string

0または1回

ファイル転送前に実行するSFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します。

<sftp-commands-after>

string

0または1回

ファイル転送後に実行するSFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

使用できる文字を次に示します。

半角英数字，半角空白，感嘆符（!），ダブルクォーテーション（"），番号記号（#），ドル記号（$），パーセント（%），アンパサンド（&），アポストロフィ（'），始め小括弧（(），終わり小括弧（)），アスタリスク（*），正符号（+），コンマ（,），ハイフン（-），ピリオド（.），スラッシュ（/），コロン（:），セミコロン（;），左アングルブラケット（<），右アングルブラケット（>），等号（=），クエスチョンマーク（?），単価記号（@），始め角括弧（[），終わり角括弧（]），円マーク（¥），アクサンシルコンフレックス（^），アンダーバー（_），アクサングラーブ（`），始め波括弧（{），終わり波括弧（}），パイプライン（|），波ダッシュ（~）

●GETオペレーション

ビジネスプロセスがSFTPアダプタに渡すGETオペレーションの要求電文のフォーマットを次に示します。ファイル名は「sftpadp_get_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csasftp/get_request」です。

表3‒119　要求電文フォーマット（GETオペレーション）

タグ名

種別

出現回数※1

説明

<request>

−

1回

−

<host-ipaddr>

string

0または1回

接続するSFTPサーバのIPアドレスまたはホスト名です。

Windowsを使用する場合，ループバックIPアドレス（127.0.0.1またはlocalhost）を指定すると，SFTP接続に失敗する場合があります。実IPアドレスまたはホスト名を指定してください。

<host-con-port>

long

0または1回

接続するSFTPサーバのポート番号です。

1から65535までのポート番号を指定します。

<sftp-user>※2

string

0または1回

接続するSFTPサーバのユーザ名を示すタグです。

SFTPサーバが存在するマシンのユーザ名を指定します。

<data-compression>

boolean

0または1回

転送データを圧縮するかどうかを指定するタグです。

true：転送データを圧縮します。

false：転送データを圧縮しません。

<host-auth>

−

0または1回

ホスト認証に関する設定を示すタグです。

<strict-hostkey-checking>

boolean

0または1回

厳格なホスト鍵チェックの実施の有無を指定するタグです。

true：厳格なホスト鍵チェックをします。

false：厳格なホスト鍵チェックをしません。

<user-auth>

−

0または1回

ユーザ認証に関する設定を示すタグです。

<user-auth-type>

string

0または1回

ユーザ認証の形式を示すタグです。

password：パスワード認証です。

publickey：公開鍵認証です。

<user-auth-info>

string

0または1回

ユーザ認証で使用する認証情報を指定するタグです。

パスワード認証を実施する場合

運用コマンドで設定したユーザ名を指定します。

公開鍵認証を実施する場合

運用コマンドで設定した鍵IDを指定します。

<request-id>

string

0または1回

受付で作成したリクエストIDを示すタグです。

共通フォルダを利用するときは無視されます。

<local-folder>

string

1回

ローカル側フォルダを示すタグです。

タグの属性にcommon="true"が指定されている場合

ローカルフォルダとして共通フォルダを利用し，このタグには「共通フォルダ定義名」を指定します。

タグの属性にcommon="false"が指定されている場合

ローカルフォルダとして作業フォルダを利用します。

<local-file-name>

string

0または1回

ローカル側ファイル名を示すタグです。

作業フォルダを利用する場合

この設定は無視されます。

共通フォルダを利用する場合

共通フォルダルート配下のファイルを指定してください。

指定したファイル名でファイルが作成されます。

存在するファイル名を指定した場合，ファイルが上書きされます。

共通フォルダルートからの相対パスで指定したサブフォルダが存在しない場合は，サブフォルダを作成します。

また，シンボリックリンク以外のファイルを指定してください。

<remote-path>

string

1回

リモートパス名（SFTPサーバ上にある取得対象パス名）を示すタグです。

<sftp-commands-before>

string

0または1回

ファイル転送前に実行するSFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します。

<sftp-commands-after>

string

0または1回

ファイル転送後に実行するSFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

使用できる文字を次に示します。

半角英数字，半角空白，感嘆符（!），ダブルクォーテーション（"），番号記号（#），ドル記号（$），パーセント（%），アンパサンド（&），アポストロフィ（'），始め小括弧（(），終わり小括弧（)），アスタリスク（*），正符号（+），コンマ（,），ハイフン（-），ピリオド（.），スラッシュ（/），コロン（:），セミコロン（;），左アングルブラケット（<），右アングルブラケット（>），等号（=），クエスチョンマーク（?），単価記号（@），始め角括弧（[），終わり角括弧（]），円マーク（¥），アクサンシルコンフレックス（^），アンダーバー（_），アクサングラーブ（`），始め波括弧（{），終わり波括弧（}），パイプライン（|），波ダッシュ（~）

●GETINFOオペレーション

ビジネスプロセスがSFTPアダプタに渡すGETINFOオペレーションの要求電文のフォーマットを次に示します。ファイル名は「sftpadp_getinfo_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csasftp/getinfo_request」です。

表3‒120　要求電文フォーマット（GETINFOオペレーション）

タグ名

種別

出現回数※1

説明

<request>

−

1回

−

<host-ipaddr>

string

0または1回

接続するSFTPサーバのIPアドレスまたはホスト名です。

Windowsを使用する場合，ループバックIPアドレス（127.0.0.1またはlocalhost）を指定すると，SFTP接続に失敗する場合があります。実IPアドレスまたはホスト名を指定してください。

<host-con-port>

long

0または1回

接続するSFTPサーバのポート番号です。

1から65535までのポート番号を指定します。

<sftp-user>※2

string

0または1回

接続するSFTPサーバのユーザ名を示すタグです。

SFTPサーバが存在するマシンのユーザ名を指定します。

<data-compression>

boolean

0または1回

転送データの圧縮の有無を指定するタグです。

true：転送データを圧縮します。

false：転送データを圧縮しません。

<host-auth>

−

0または1回

ホスト認証に関する設定を示すタグです。

<strict-hostkey-checking>

boolean

0または1回

厳格なホスト鍵チェックの実施の有無を指定するタグです。

true：厳格なホスト鍵チェックをします。

false：厳格なホスト鍵チェックをしません。

<user-auth>

−

0または1回

ユーザ認証に関する設定を示すタグです。

<user-auth-type>

string

0または1回

ユーザ認証の形式を示すタグです。

password：パスワード認証です。

publickey：公開鍵認証です。

<user-auth-info>

string

0または1回

ユーザ認証で使用する認証情報を指定するタグです。

パスワード認証を実施する場合

運用コマンドで設定したユーザ名を指定します。

公開鍵認証を実施する場合

運用コマンドで設定した鍵IDを指定します。

<getinfo-type>

string

1回

SFTPサーバから取得する情報の取得種別を指定するタグです。

LIST：ファイル情報の一覧を取得します。

NLST：ファイル名の一覧を取得します。

<getinfo-path>

string

0または1回

接続するSFTPサーバから取得する情報の取得パスを示すタグです。<getinfo-type>で指定したコマンドを実行するときに指定するパスです。

タグがない場合，リストコマンド実行前にcdコマンドを実行したかどうかで，次のように異なります。

cdコマンドを実行した場合

cdコマンドで変更したパスを利用します。

cdコマンドを実行していない場合

リモートサーバのディレクトリのパスを利用します。

<sftp-commands-before>

string

0または1回

ファイル転送前に実行するSFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します。

<sftp-commands-after>

string

0または1回

ファイル転送後に実行するSFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は，実行する順番にセミコロン（;）で区切って設定します。

（凡例）

−：該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

使用できる文字を次に示します。

半角英数字，半角空白，感嘆符（!），ダブルクォーテーション（"），番号記号（#），ドル記号（$），パーセント（%），アンパサンド（&），アポストロフィ（'），始め小括弧（(），終わり小括弧（)），アスタリスク（*），正符号（+），コンマ（,），ハイフン（-），ピリオド（.），スラッシュ（/），コロン（:），セミコロン（;），左アングルブラケット（<），右アングルブラケット（>），等号（=），クエスチョンマーク（?），単価記号（@），始め角括弧（[），終わり角括弧（]），円マーク（¥），アクサンシルコンフレックス（^），アンダーバー（_），アクサングラーブ（`），始め波括弧（{），終わり波括弧（}），パイプライン（|），波ダッシュ（~）

(b)　SFTPアダプタの応答電文フォーマット

SFTPアダプタの応答電文フォーマットを，オペレーションごとに説明します。

●PUTオペレーション

SFTPアダプタが呼び出し元のビジネスプロセスに返すPUTオペレーションの応答電文のフォーマットを次に示します。ファイル名は「sftpadp_put_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csasftp/put_response」です。

表3‒121　応答電文フォーマット（PUTオペレーション）

タグ名

種別

出現回数

説明

<response>

−

1回

−

<local-folder>

string

1回

ローカル側フォルダを示すタグです。

作業フォルダを利用した場合，属性に「common="false"」が設定されます。値には空白が設定されます。

共通フォルダを利用した場合，属性に「common="true"」が設定されます。値には，要求電文の<local-folder>タグで指定された共通フォルダ定義名が設定されます。

<local-file-name>

string

1回

ローカル側ファイル名を示すタグです。

要求電文の<local-file-name>で指定した値が設定されます。

（凡例）

−：該当する項目はありません。

●GETオペレーション

SFTPアダプタが呼び出し元のビジネスプロセスに返すGETオペレーションの応答電文のフォーマットを次に示します。ファイル名は「sftpadp_get_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csasftp/get_response」です。

表3‒122　応答電文フォーマット（GETオペレーション）

タグ名

種別

出現回数

説明

<response>

−

1回

−

<local-folder>

string

1回

ローカル側フォルダを示すタグです。

作業フォルダを利用した場合，属性に「common="false"」が設定されます。値には空白が設定されます。

共通フォルダを利用した場合，属性に「common="true"」が設定されます。値には，要求電文の<local-folder>タグで指定された共通フォルダ定義名が設定されます。

<local-file-name>

string

1回

ローカル側ファイル名を示すタグです。

作業フォルダを利用する場合

作業フォルダの下に格納したファイル名が設定されます。ファイル名は，「csc_<内部生成された文字>」の形式となります。

共通フォルダを利用する場合

要求電文の<local-file-name>で指定した値が設定されます。

<file-size>

long

1回

SFTPサーバから取得したローカルファイルのサイズを示すタグです。

（凡例）

−：該当する項目はありません。

●GETINFOオペレーション

SFTPアダプタが呼び出し元のビジネスプロセスに返すGETINFOオペレーションの応答電文のフォーマットを次に示します。ファイル名は「sftpadp_getinfo_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csasftp/getinfo_response」です。

表3‒123　応答電文フォーマット（GETINFOオペレーション）

タグ名

種別

出現回数

説明

<response>

−

1回

−

<list-info>

−

1回

ファイル一覧情報を示すタグです。

<list>

string

0回以上

ファイル情報を示すタグです。

要求電文のgetinfo-type要素に「LIST」を指定した場合

ファイル情報の一覧を設定します。

要求電文のgetinfo-type要素に「NLST」を指定した場合

ファイル名の一覧を設定します。

リモートサーバから取得したファイル情報が何もない場合，この要素は出現しません。

（凡例）

−：該当する項目はありません。

(2)　SFTPアダプタの定義ファイルの作成

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

SFTPアダプタ実行環境プロパティファイル

SFTPアダプタごとの構成情報を設定するファイルです。

SFTPアダプタ実行環境共通プロパティファイル

すべてのSFTPアダプタに共通する構成情報を設定するファイルです。

各定義ファイルの作成手順を次に示します。定義ファイルは，SFTPアダプタが提供しているテンプレートファイルを利用して作成できます。

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

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥SFTP¥config¥templates¥adpsftp.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥SFTP¥config

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>を作成して格納してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥SFTP¥config¥<HCSCサーバ名>

コピーしたテンプレートファイルのファイル名を「<サービスID※>.properties」に変更します。

定義内容を編集して保存します。

SFTPアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.16.1　SFTPアダプタ実行環境プロパティファイル」を参照してください。

注※

サービスIDは，SFTPアダプタを新規に追加するときにサービスアダプタ定義画面で指定する任意の文字列です。

(b)　SFTPアダプタ実行環境共通プロパティファイル

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥SFTP¥config¥templates¥adpsftp.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

commonディレクトリはユーザが作成してください。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥SFTP¥config¥common

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>と「common」はユーザが作成してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥SFTP¥config¥<HCSCサーバ名>¥common

ファイル名は変更しないでください。

定義内容を編集して保存します。

SFTPアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.16.2　SFTPアダプタ実行環境共通プロパティファイル」を参照してください。

(3)　データ変換の定義

データ変換定義画面を利用して，変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルのデータ変換を定義します。

データ変換の定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(4)　サービスアダプタ定義画面での操作

SFTPアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

定義情報を設定します。

サービスアダプタ定義画面（基本）で設定が必要な項目については，「3.3.19(15)　SFTPアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

［サービスアダプタ定義（詳細）］タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

定義情報を設定します。

サービスアダプタ定義画面（詳細）で設定が必要な項目については，「3.3.19(15)　SFTPアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

3.3.16　Kafkaアダプタを定義する

Kafkaアダプタの定義方法について説明します。

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

Kafkaアダプタでは，要求電文と応答電文の2種類の電文があります。それぞれの内容について説明します。

電文フォーマット作成手順の詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.　電文フォーマットの作成」を参照してください。

(a)　Kafkaアダプタの要求電文フォーマット

Kafkaアダプタの要求電文フォーマットについて説明します。

Kafkaアダプタの要求電文フォーマットには，ヘッダ電文とボディ電文があります。

●ヘッダ要求電文

ヘッダ要求電文は，Kafkaアダプタの要求電文フォーマットに従って作成します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥schema¥adpkafka_header_send_request.xsd」です。

テキストデータは，W3CのXMLの仕様に従って指定します。XML文書で使用できない「<」，「>」，「&」などの文字を使用する場合，エスケープするか，CDATAセクションを利用する必要があります。

名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/kafka/header_send_request」です。

表3‒124　Kafkaアダプタの要求電文フォーマット（ヘッダ）

タグ名

種別

出現回数

説明

<kafka-header-send-request>

−

1回

−

<record>

−

1回

−

<topic>

string

1回

メッセージの送信先トピックを指定します。

指定できる文字数は249文字以下です。半角英数文字，ピリオド（.），アンダーバー（_），ハイフン（-）を使用できます。

範囲外の数値を指定した場合，および要素値が空要素の場合は送信時にエラーになります。

<headers>

−

0または1回

−

<header>

−

0回以上

−

<key>

string

1回

メッセージヘッダのキーを指定します。任意の文字列を指定できます。

要素値が空要素の場合は，値に空文字を設定して，メッセージを送信します。

<value>※1

string

0または1回

メッセージヘッダの値を指定します。

任意の文字列を指定できます。

要素値をUTF-8でバイト配列に変換した値をメッセージヘッダの値に設定してメッセージを送信します。

要素値が空要素の場合は，値に0バイトのバイト配列（長さ0の配列）を設定して，メッセージを送信します。

要素を省略した場合は，値にnullを設定して，メッセージを送信します。

<key>※2

string

0または1回

メッセージのキーを指定します。

任意の文字列を指定できます。

要素値が空要素の場合は，値に空文字を設定して，メッセージを送信します。

要素を省略した場合は，値にnullを設定して，メッセージを送信します。

<partition>

int

0または1回

メッセージの送信先のパーティションIDを指定します。0〜2,147,483,647までの数値を指定できます。範囲外の数値を指定した場合，および要素値が空要素の場合は，要求電文解析時にエラーになります。

要素を省略した場合は，値にnullを設定して，メッセージを送信します。

<timestamp>

long

0または1回

メッセージのタイムスタンプを指定します。0〜9,223,372,036,854,775,807までの数値を指定できます。

基点からミリ秒で時間を設定します。

要素を省略した場合は，トピックのデフォルトの設定では，メッセージの送信時刻（基点からのミリ秒単位の時間）がタイムスタンプに付与されます。トピックの設定の詳細については，Apache Kafkaの公式ドキュメントを参照してください。

範囲外の数値を指定した場合，および要素値が空要素の場合は，要求電文解析時にエラーになります。

（凡例）

−：該当する項目はありません。

注※1

value要素に設定した文字列を，バイト配列に変換し，メッセージのヘッダの値に設定してKafkaに送信します。バイト配列を文字セット「UTF-8」を使用して変換します。

注※2

送信したいkeyのデータ型に応じてproducer.key.serializerにシリアライズクラスを設定する必要があります。

例えば，送信データが文字列の場合に，producer.key.serializerにByteArraySerializerを指定するなど，producer.key.serializerに送信データと対応していない値を指定したときの動作は保証しません。key要素の送信データとシリアライズクラスとの対応については，表3-125を参照してください。

key要素の送信データとシリアライズクラスとの対応を次に示します。

表3‒125　key要素の送信データとシリアライズクラスとの対応

送信データ

producer.key.serializerの値

バイナリ形式（hexBinary，base64Binary）

ByteArraySerializer

文字列

StringSerializer

producer.key.serializerにByteArraySerializerを指定した場合，ヘッダ要求電文のメッセージのkey要素に指定した値をadpkafka.request.record.binary.decodingに指定したデコード形式でデコードし，Kafkaに送信するため，producer.key.serializerに指定する値は，adpkafka.request.record.binary.decodingに指定したデコード形式に合わせる必要があります。形式が異なる場合の動作は保証されません。

producer.key.serializerおよびadpkafka.request.record.binary.decodingの詳細については，マニュアル「サービスプラットフォーム リファレンス」の「3.13.1　Kafkaアダプタ定義ファイル」を参照してください。

●ボディ要求電文

ボディ要求電文はユーザが任意に作成します。

ボディ要求電文で指定された内容は，Kafkaのproducer.value.serializerの指定に基づいてバイト配列化され，ヘッダ要求電文で指定した項目と共にProducer APIを使用してKafkaに送信されます。

ボディ要求電文は，producer.value.serializerで指定したシリアライズクラスに対応した形式で作成してください。

例えば，要求電文形式がBinaryの場合に，producer.key.serializerにStringSerializerを指定するなど，要求電文形式と対応していない値を指定したときは，送信要求実行時にエラーを出力し，処理が終了します。

要求電文形式とシリアライズクラスとの対応について次に示します。

表3‒126　要求電文形式とシリアライズクラスとの対応

要求電文形式※1

送信データ

producer.value.serializerの値

リクエスト電文の例

XML

XML形式※2

StringSerializer

<userdata>

　　<dataA>dataA</dataA>

　　<dataB>dataB</dataB>

</userdata>

JSON形式

Binary

CSV形式のデータ

ByteArraySerializer

data, data, data

文字列

data

バイナリデータ

0x64 0x61 0x74 0x61

Any

文字列

ByteArraySerializer

data

バイナリデータ

0x64 0x61 0x74 0x61

注※1

要求電文形式がXMLの場合はXMLスキーマ，Binaryの場合はバイナリフォーマット定義で作成します。

注※2

文字セットは「UTF-8」固定です。

producer.value.serializerの指定方法の詳細については，マニュアル「サービスプラットフォーム リファレンス」の「3.13.1　Kafkaアダプタ定義ファイル」を参照してください。

(b)　Kafkaアダプタの応答電文フォーマット

Kafkaアダプタの応答電文フォーマットについて説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥schema¥adpkafka_send_response.xsd」です。応答電文フォーマットの形式にはXML形式を使用してください。

名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/kafka/send_response」です。

表3‒127　要求電文フォーマット（Kafkaアダプタ）

タグ名

種別

出現回数

説明

<send_response>

−

1回

−

<status>

string

1回

送信が成功したことを示す結果「OK」が格納されます。

（凡例）

−：該当する項目はありません。

注

送信が失敗した場合，Kafkaアダプタはカスタムアダプタ開発フレームワークに例外を通知し，応答電文は返さないため，結果が格納されるのは送信処理が成功した場合だけです。

(2)　Kafkaアダプタの定義ファイルの作成

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

Kafkaアダプタ定義ファイル

Kafkaアダプタの動作情報を設定するためのファイルです。

Kafkaアダプタ実行環境プロパティファイル

Kafkaアダプタごとの構成情報を設定するファイルです。

Kafkaアダプタ実行環境共通プロパティファイル

すべてのKafkaアダプタに共通する構成情報を設定するファイルです。

各定義ファイルの作成手順を次に示します。定義ファイルは，サービスプラットフォームが提供しているテンプレートファイルを利用して作成できます。

(a)　Kafkaアダプタ定義ファイル

Kafkaアダプタ定義ファイルは，サービスプラットフォームが提供するテンプレートファイルを利用して編集します。

Kafkaアダプタ定義ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「adpkafka.properties」を選択し，［編集］ボタンをクリックします。

Kafkaアダプタ定義ファイルを編集するためのエディタが起動します。

エディタ上でKafkaアダプタ定義ファイルを編集します。

Kafkaアダプタ定義ファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「3.13.1　Kafkaアダプタ定義ファイル」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

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

Kafkaアダプタ実行環境プロパティファイルの設定方法を次に示します。

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥config¥templates¥serviceid.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥config

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>を作成して格納してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥config¥<HCSCサーバ名>

コピーしたテンプレートファイルのファイル名を「<サービスID※>.properties」に変更します。

定義内容を編集して保存します。

Kafkaアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.17.1　Kafkaアダプタ実行環境プロパティファイル」を参照してください。

注※

サービスIDは，Kafkaアダプタを新規に追加するときにサービスアダプタ定義画面で指定する任意の文字列です。

(c)　Kafkaアダプタ実行環境共通プロパティファイル

Kafkaアダプタ実行環境共通プロパティファイルの設定方法を次に示します。

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥config¥templates¥adpkafkacom.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

commonディレクトリはユーザが作成してください。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥config¥common

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>と「common」はユーザが作成してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥config¥<HCSCサーバ名>¥common

ファイル名は変更しないでください。

定義内容を編集して保存します。

Kafkaアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.17.2　Kafkaアダプタ実行環境共通プロパティファイル」を参照してください。

(3)　データ変換の定義

データ変換定義画面を利用して，変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルのデータ変換を定義します。

データ変換の定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(4)　サービスアダプタ定義画面での操作

Kafkaアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

定義情報を設定します。

サービスアダプタ定義画面（基本）で設定が必要な項目については，「3.3.19(16)　Kafkaアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

［サービスアダプタ定義（詳細）］タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

定義情報を設定します。

サービスアダプタ定義画面（詳細）で設定が必要な項目については，「3.3.19(16)　Kafkaアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

3.3.17　gRPCアダプタを定義する

gRPCアダプタの定義方法について説明します。

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

gRPCアダプタの電文フォーマットの定義ファイルはサービスプラットフォームが提供するスキーマを使用します。そのため，電文フォーマットの定義ファイルの作成は不要です。

gRPCアダプタで使用する電文フォーマットの内容について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥schema」です。

(a)　gRPCアダプタの要求電文フォーマット

gRPCアダプタの要求電文フォーマット（ヘッダ）について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥schema¥adpgrpc_metadata_request.xsd」です。

名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/grpc/header/metadata_request」です。

表3‒128　gRPCアダプタの要求電文フォーマット（ヘッダ）

タグ名

種別

出現回数

説明

<grpc-metadata-request>

−

1回

−

<metadata>

−

0回以上

gRPCサービスに送信するメタデータを指定します。

<key>

string

1回

gRPCサービスに送信するメタデータのキーを指定します。キーに指定できる値は半角英数字，アンダーバー（_），ハイフン（-），ピリオド（.）です。キーの省略はできません。指定値の大文字・小文字は区別しません。

「grpc-」から始まる要素名は指定できません。「grpc-」から始まる要素名を指定した場合の動作は保証されません。

バイナリ形式で送信する場合，この要素値は「-bin（大文字・小文字を区別する）」で終了してください。ただし，「-bin」だけを指定することはできません。

<value>

string

1回

メタデータのキーに対する値を指定します。

テキスト形式の場合，0x20および0x21〜0x7Eの範囲の文字列が指定できます。ただし，空白（0x20）は，値の最初または最後には指定できません。

指定できない値を指定した場合の動作は保証されません。

バイナリ形式の場合，Base64でエンコードした値を指定します。

(b)　gRPCアダプタの応答電文フォーマット

gRPCアダプタの応答電文フォーマット（ヘッダ）について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥schema¥adpgrpc_metadata_response.xsd」です。

名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/grpc/header/metadata_response」です。

表3‒129　gRPCアダプタの応答電文フォーマット（ヘッダ）

タグ名

種別

出現回数

説明

<grpc-metadata-response>

−

1回

−

<metadata>

−

0回以上

gRPCサービスから返却されたメタデータを指定します。

<key>

string

1回

gRPCサービスから返却されたメタデータのキーを指定します。

バイナリ形式の場合，この要素値は「-bin」で終了させてください。

<value>

string

1回

メタデータのキーに対する値を指定します。

バイナリ形式の場合，Base64でエンコードした値を指定します。

(c)　gRPCアダプタのフォルト電文フォーマット

gRPCアダプタでは，gRPCのメッセージ内容※に沿ったフォルト電文フォーマットを提供しています。このフォルト電文フォーマット（XMLスキーマファイル）は，gRPCアダプタを作成したときに，gRPCアダプタ定義画面（基本）のフォルト電文フォーマットに自動的に設定されます。

注※

gRPCを利用した通信では，google.rpc.Statusのメッセージの処理方式によってエラー処理を行っています。google.rpc.Statusのメッセージ内容，およびエラー処理については，Google社のgoogle.rpc.Statusに関するサイトを参照してください。

gRPCアダプタを作成したあと，必要に応じてフォルト電文フォーマットのXMLスキーマファイルを修正し，再登録できます。再登録することで，XMLスキーマファイルの記述を簡略化できます。

XMLスキーマファイルを修正する手順を次に示します。

次のXMLスキーマファイルを任意の場所にコピーします。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥schema¥adpgrpc_fault.xsd

コピーしたXMLスキーマファイルをテキストエディタで開きます。

XMLスキーマファイルに定義されている，/fault/status/details要素以下に定義されている次の要素のうち，使用しない要素を削除します。

retry-info

debug-info

quota-failure

error-info

precondition-failure

bad-request

request-info

resource-info

help

localized-message

additional-message

処理に必要な要素を削除した場合の動作は保証されません。

これらの要素は，Google社が提供するgoogle/rpc/error_details.protoの内容に対応しています。google/rpc/error_details.protoの内容については，Google社のgoogle/rpc/error_details.protoに関するサイトを参照してください。

なお，additional-messageは，google/rpc/error_details.protoに定義されていない任意の型のメッセージを格納する場合に使用します。

使用しない要素（子要素を含む）を削除したXMLスキーマファイルを保存します。

修正したXMLスキーマファイルを，サービスアダプタ定義画面（基本）の［フォルト電文］に設定します。

修正したXMLスキーマファイル以外を設定した場合，動作は保証されません。

gRPCアダプタのフォルト電文フォーマットの形式について説明します。

名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/grpc/fault」です。

表3‒130　gRPCアダプタのフォルト電文フォーマット

タグ名

種別

出現回数

説明

<fault>

−

1回

−

<status>

−

1回

ステータス情報を指定します。

<code>

文字列

1回

ステータスコード※を指定します。

<message>

文字列

0〜1回

開発者向けのエラーメッセージを指定します。

<details>

−

0〜1回

詳細エラーのメッセージのリストを指定します。子要素として「error_details.proto」のメッセージ構造体に応じた要素が出現します。

<additional-message>

−

0回以上

「error_details.proto」のメッセージ構造体に定義されていないメッセージの定義内容を指定します。Any型のメッセージとして扱われます。

<type-url>

文字列

1回

メッセージのタイプ（URL/resource name）を指定します。

<value>

文字列

1回

メッセージの値をBase64エンコードしたデータを指定します。

<bad-request>

−

0回以上

メッセージ構造体「BadRequest」の定義内容を指定します。

<field-violation>

−

0回以上

メッセージ構造体「FieldViolation」の定義内容を指定します。

<field>

文字列

0〜1回

引数「field」が設定されます。

<description>

文字列

0〜1回

引数「description」が設定されます。

<debug-info>

−

0回以上

メッセージ構造体「DebugInfo」の定義内容を指定します。

<stack-entries>

文字列

0回以上

引数「stack_entries」が設定されます。

<detail>

文字列

0〜1回

引数「detail」が設定されます。

<error-info>

−

0回以上

メッセージ構造体「ErrorInfo」の定義内容を指定します。

<reason>

文字列

0〜1回

引数「reason」が設定されます。

<domain>

文字列

0〜1回

引数「domain」が設定されます。

<metadata>

−

0回以上

引数「metadata」が設定されます。

<key>

文字列

1回

メタデータのキーを指定します。

<value>

文字列

1回

メタデータの値を指定します。

<help>

−

0回以上

メッセージ構造体「Help」の定義内容を指定します。

<link>

−

0回以上

メッセージ構造体「Link」の定義内容を指定します。

<description>

文字列

0〜1回

引数「description」が設定されます。

<url>

文字列

0〜1回

引数「url」が設定されます。

<localized-message>

−

0回以上

メッセージ構造体「LocalizedMessage」の定義内容を指定します。

<locale>

文字列

0〜1回

引数「locale」が設定されます。

<message>

文字列

0〜1回

引数「message」が設定されます。

<precondition-failure>

−

0回以上

メッセージ構造体「PreconditionFailure」の定義内容を指定します。

<violation>

−

0回以上

メッセージ構造体「Violation」の定義内容を指定します。

<type>

文字列

0〜1回

引数「type」が設定されます。

<subject>

文字列

0〜1回

引数「subject」が設定されます。

<description>

文字列

0〜1回

引数「description」が設定されます。

<quota-failure>

−

0回以上

メッセージ構造体「QuotaFailure」の定義内容を指定します。

<violation>

−

0回以上

メッセージ構造体「Violation」の定義内容を指定します。

<subject>

文字列

0〜1回

引数「subject」が設定されます。

<description>

文字列

0〜1回

引数「description」が設定されます。

<request-info>

−

0回以上

メッセージ構造体「RequestInfo」の定義内容を指定します。

<request-id>

文字列

0〜1回

引数「request_id」が設定されます。

<serving-data>

文字列

0〜1回

引数「serving_data」が設定されます。

<resource-info>

−

0回以上

メッセージ構造体「ResourceInfo」の定義内容を指定します。

<resource-type>

文字列

0〜1回

引数「resource_type」が設定されます。

<resource-name>

文字列

0〜1回

引数「resource_name」が設定されます。

<owner>

文字列

0〜1回

引数「owner」が設定されます。

<description>

文字列

0〜1回

引数「description」が設定されます。

<retry-info>

−

0回以上

メッセージ構造体「RetryInfo」の定義内容を指定します。

<retry-delay>

文字列

0〜1回

引数「retry_delay」が設定されます。

<seconds>

文字列

1回

引数「retry_delay」の秒が設定されます。

<nanos>

文字列

1回

引数「retry_delay」のナノ秒が設定されます。

<metadata>

−

0回以上

トレーラ（gRPCサービスから返却されたメタデータ）を指定します。

<key>

文字列

1回

メタデータのキーを指定します。

<value>

文字列

1回

メタデータのキーに対する値を指定します。

バイナリ形式の場合，Base64でエンコードした値を設定します。

注※

フォルト電文に設定できるステータスコードを次に示します。次に示すステータスコード以外の値が設定された場合，リクエストがエラーとなります。

CANCELLED

UNKNOWN

INVALID_ARGUMENT

DEADLINE_EXCEEDED

NOT_FOUND

ALREADY_EXISTS

PERMISSION_DENIED

RESOURCE_EXHAUSTED

FAILED_PRECONDITION

ABORTED

OUT_OF_RANGE

UNIMPLEMENTED

INTERNAL

UNAVAILABLE

DATA_LOSS

UNAUTHENTICATED

(2)　gRPCアダプタの定義ファイルの作成

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

gRPCアダプタ独自定義ファイル

gRPCアダプタの動作情報を設定するファイルです。

gRPCアダプタ実行環境プロパティファイル

gRPCアダプタごとの構成情報を設定するファイルです。

gRPCアダプタ実行環境共通プロパティファイル

すべてのgRPCアダプタに共通する構成情報を設定するファイルです。

各定義ファイルの作成手順を次に示します。定義ファイルは，gRPCアダプタが提供しているテンプレートファイルを利用して作成できます。

(a)　gRPCアダプタ独自定義ファイル

gRPCアダプタ独自定義ファイルは，サービスプラットフォームが提供するテンプレートファイルを利用して編集します。

gRPCアダプタ独自定義ファイルの編集手順を示します。

サービスアダプタ定義画面（詳細）の［独自定義ファイル］で「cscadpgrpc.properties」を選択し，［編集］ボタンをクリックします。

gRPCアダプタ独自定義ファイルを編集するためのエディタが起動します。

エディタ上でgRPCアダプタ独自定義ファイルを編集します。

gRPCアダプタ独自定義ファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「3.16.1　gRPCアダプタ独自定義ファイル」を参照してください。

Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

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

gRPCアダプタ実行環境プロパティファイルの設定方法を次に示します。

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥config¥templates¥serviceid.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥config

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>を作成して格納してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥config¥<HCSCサーバ名>

コピーしたテンプレートファイルのファイル名を「<サービスID※>.properties」に変更します。

定義内容を編集して保存します。

gRPCアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.19.1　gRPCアダプタ実行環境プロパティファイル」を参照してください。

注※

サービスIDは，gRPCアダプタを新規に追加するときにサービスアダプタ定義画面で指定する任意の文字列です。

(c)　gRPCアダプタ実行環境共通プロパティファイル

gRPCアダプタ実行環境共通プロパティファイルの設定方法を次に示します。

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥config¥templates¥adpgrpccom.properties）をコピーして，次のディレクトリに格納します。

全HCSCサーバ共通の定義の場合

commonディレクトリはユーザが作成してください。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥config¥common

特定のHCSCサーバ用の定義の場合

サブディレクトリ<HCSCサーバ名>と「common」はユーザが作成してください。Windowsの場合，HCSCサーバ名の大文字・小文字は区別されます。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥config¥<HCSCサーバ名>¥common

定義内容を編集して保存します。

ファイル名は変更しないでください。

gRPCアダプタ実行環境プロパティファイルで編集できる定義内容については，マニュアル「サービスプラットフォーム リファレンス」の「6.19.2　gRPCアダプタ実行環境共通プロパティファイル」を参照してください。

(3)　サービスアダプタ定義画面での操作

gRPCアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

定義情報を設定します。

サービスアダプタ定義画面（基本）で設定が必要な項目については，「3.3.19(17)　gRPCアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

［サービスアダプタ定義（詳細）］タブをクリックします。

サービスアダプタ定義画面（詳細）が表示されます。

定義情報を設定します。

サービスアダプタ定義画面（詳細）で設定が必要な項目については，「3.3.19(17)　gRPCアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

(4)　ビジネスプロセスの設定

gRPCアダプタを利用する場合，ビジネスプロセスで次の設定が必要です。

変数の設定

要求電文（ヘッダ）の変数

応答電文（ヘッダ）の変数

要求電文（ボディ）の変数

応答電文（ボディ）の変数

フォルト電文の変数

サービス呼出アクティビティの設定

フォルト処理の設定

(a)　要求電文（ヘッダ）および応答電文（ヘッダ）の変数の設定

要求電文（ヘッダ）および応答電文（ヘッダ）の変数の設定手順を次に示します。

サービスアダプタ定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

［変数名］に任意の名称を指定します。

［種別］ドロップダウンリストから「XML」を選択します。

［電文フォーマット］の［参照］ボタンをクリックします。

電文フォーマットを指定するダイアログが表示されます。

変数に応じて次のファイルを指定します。

要求電文（ヘッダ）の変数

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥schema¥adpgrpc_metadata_request.xsd

応答電文（ヘッダ）の変数

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥schema¥adpgrpc_metadata_response.xsd

［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

変数が追加されます。

(b)　要求電文（ボディ），応答電文（ボディ），およびフォルト電文の変数の設定

要求電文（ボディ），応答電文（ボディ），およびフォルト電文の変数の設定手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

［変数名］に任意の名称を指定します。

［種別］ドロップダウンリストから「XML」を選択します。

［電文フォーマット］の［取込］ボタンをクリックします。

［電文フォーマットの取込］ダイアログが表示されます。

［サービス名］をチェックし，ドロップダウンリストからサービスアダプタ定義画面で設定したgRPCアダプタの名称を選択します。

［オペレーション名］ドロップダウンリストからgRPCアダプタに設定したオペレーションを選択します。

変数に応じて［電文種別］ドロップダウンリストで電文種別を選択します。

要求電文（ボディ）の変数の場合

［要求電文（ボディ）］を選択します。

応答電文（ボディ）の変数の場合

［応答電文（ボディ）］を選択します。

フォルト電文の変数の場合

［フォルト電文］を選択します。

［電文フォーマット］に任意の名称を入力します。

［OK］ボタンをクリックします。

［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

変数が追加されます。

(c)　サービス呼出アクティビティの設定

gRPCアダプタを呼び出すためのサービス呼出アクティビティを定義します。サービス呼出アクティビティの定義方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.6.4　サービス呼出アクティビティ」を参照してください。

［サービス呼出アクティビティ］ダイアログの設定内容を次に示します。

項目

設定値

アクティビティ名

任意の名称を設定します。

サービス名

gRPCアダプタの新規追加時に設定したサービス名を指定します。

オペレーション名

「(3)　サービスアダプタ定義画面での操作」で設定したオペレーション名を指定します。

要求電文

ボディ割当変数

「(b)　要求電文（ボディ），応答電文（ボディ），およびフォルト電文の変数の設定」で設定した要求電文の変数を指定します。

ヘッダ割当変数※

「(a)　要求電文（ヘッダ）および応答電文（ヘッダ）の変数の設定」でヘッダ割当変数に設定した要求電文（ヘッダ）の変数を指定します。

応答電文

ボディ割当変数

「(b)　要求電文（ボディ），応答電文（ボディ），およびフォルト電文の変数の設定」で設定した応答電文の変数を指定します。

ヘッダ割当変数※

「(a)　要求電文（ヘッダ）および応答電文（ヘッダ）の変数の設定」でヘッダ割当変数に設定した応答電文（ヘッダ）の変数を指定します。

割当相関セット群

設定しません。

注※

要求電文（ヘッダ）または応答電文（ヘッダ）を使用しない場合，設定は不要です。

(d)　フォルト処理の設定

正常系として処理できないステータスコードやフォルトに変換したシステム例外をビジネスプロセスでエラーとして処理する場合は，サービス呼出アクティビティや上位のスコープにフォルト処理を定義します。フォルト処理の定義方法については，マニュアル「サービスプラットフォーム開発ガイド 基本開発編」の「5.4.4　フォルト処理を定義する」を参照してください。

［フォルト処理の割当］ダイアログの設定内容を次に示します。

項目

設定値

割当変数

「(b)　要求電文（ボディ），応答電文（ボディ），およびフォルト電文の変数の設定」で設定したフォルト電文の変数を指定します。

遷移先

フォルトが発生した場合に遷移する任意のアクティビティを指定します。

3.3.18　汎用カスタムアダプタを定義する

汎用カスタムアダプタの定義方法について説明します。汎用カスタムアダプタは，サービスアダプタ定義画面で定義できます。

(1)　オペレーションの設計

1つの汎用カスタムアダプタは複数のオペレーションを持つことができます。1つのオペレーションごとにオペレーション名，通信モデル，要求電文，および応答電文の設計が必要です。

(a)　オペレーション名の決定

オペレーション名は，サービスリクエスタからのサービス部品呼び出しや，ビジネスプロセスのサービス呼出アクティビティからのサービス部品呼び出しで，オペレーションを区別するための識別名です。

255バイト以内で，汎用カスタムアダプタ内で一意な名称を付け，同じ汎用カスタムアダプタ内のほかのオペレーション名と重複しないように指定してください。

指定できる文字列および記号は次のとおりです。

英数字

アンダーバー（_）

ピリオド（.）

ハイフン（-）

汎用カスタムアダプタ内のプロトコルコンバータでは，汎用カスタムアダプタが呼び出されたときに，どのオペレーションが呼ばれたのかを識別するために使います。

(b)　通信モデルの決定

汎用カスタムアダプタではオペレーションごとに通信モデルを選択できます。呼び出すサービス部品に合わせて，同期または非同期のどちらかを選択してください。

(c)　要求電文・応答電文の設計

プロトコルコンバータが受け取る要求電文とプロトコルコンバータが応答する応答電文について，電文形式と電文フォーマットを設計します。ただし，通信モデルが非同期の場合，応答電文を返さないので，応答電文を定義する必要はありません。

電文形式は，XML形式とバイナリ形式が選べます。

電文フォーマットは，サービス部品の実行に利用する電文でXML形式のデータを扱うか，バイナリ形式（XML形式以外）のデータを扱うかによって形式が異なります。呼び出すサービス部品に合わせてXML形式とバイナリ形式のどちらかを選択し，呼び出すサービス部品の形式に合わせて，電文フォーマットを作成してください。

XML形式とバイナリ形式の違いについては，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.2　電文フォーマットの種類」を参照してください。

XML形式のデータを扱う場合の電文フォーマットの作成については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.3　電文フォーマット（XMLフォーマット定義ファイル）の作成方法」を，バイナリ形式（XML形式以外）のデータを扱う場合の電文フォーマットの作成については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.4　電文フォーマット（バイナリフォーマット定義ファイル）の作成方法」を参照してください。

(2)　データ変換

「3.3.18(1)　オペレーションの設計」で設計したプロトコルコンバータが受けたい電文フォーマットと，サービスリクエスタやビジネスプロセスから要求するときの電文フォーマットが異なる場合，データ変換が必要です。電文のフォーマットは，サービスアダプタ定義画面で設定できます。

電文のデータ変換を行う場合，変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルを設定し，データ変換定義画面でデータ変換を定義します。

データ変換の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.　データ変換の定義」を参照してください。

(3)　独自定義ファイルの作成と設定

プロトコルコンバータやカスタムアダプタ開発フレームワークが使用する定義ファイルを作成します。

プロトコルコンバータ用独自定義ファイル

カスタムアダプタ開発フレームワーク動作定義ファイル

カスタムアダプタプロパティファイル

カスタムアダプタ用アプリケーション統合属性ファイル

カスタムアダプタ定義ファイル

作成した定義ファイルは，開発環境のサービスアダプタ定義画面で設定します。

次に作成するファイルの内容を説明します。

(a)　プロトコルコンバータ用独自定義ファイル

プロトコルコンバータは，アダプタコンテキストを通して，汎用カスタムアダプタに設定されたリソース内容を読み込めます。

プロトコルコンバータの動作に必要なファイルがあれば作成してください。

(b)　カスタムアダプタ開発フレームワーク動作定義ファイル

カスタムアダプタ開発フレームワークが使用するプロトコルコンバータのクラス名（パッケージ名を含む）を指定します。ファイル名は必ず「framework_properties.xml」にしてください。

カスタムアダプタ開発フレームワーク動作定義ファイルの設定内容については，「付録B.2(1)　カスタムアダプタ開発フレームワーク動作定義ファイル」を参照してください。

(c)　カスタムアダプタプロパティファイル

プロトコルコンバータに関する設定を外部ファイル化したい場合など，必要に応じて作成するファイルです。このファイルは独自定義ファイルの一種で，汎用カスタムアダプタの定義時に使用します。ファイル名は必ず「customadapter_properties.xml」にしてください。

カスタムアダプタプロパティファイルの設定内容については，「付録B.2(2)　カスタムアダプタプロパティファイル」を参照してください。

(d)　カスタムアダプタ用アプリケーション統合属性ファイル

カスタムアダプタ用アプリケーション統合属性ファイルを用いることで，運用する環境に合わせて，汎用カスタムアダプタのパラメタを設定できます。カスタムアダプタ用アプリケーション統合属性ファイルを指定する場合，ファイル名は必ず「cscadapter_property.xml」にしてください。

アプリケーション統合属性ファイルの設定内容については，「付録B.2(3)　カスタムアダプタ用アプリケーション統合属性ファイル」を参照してください。

アプリケーション統合属性ファイルを指定した場合，Session Bean属性の<pooled-instance>はアプリケーション統合属性ファイルで記載した値となります。

(e)　カスタムアダプタ定義ファイル

カスタムアダプタ定義ファイルを用いることで，データ変換時に電文の構造変換をスキップする機能（構造変換スキップ機能）を利用できます。カスタムアダプタ定義ファイルを指定する場合，ファイル名は必ず「csccustomadapter.properties」にしてください。

カスタムアダプタ定義ファイルの設定内容については，「付録B.2(4)　カスタムアダプタ定義ファイル」を参照してください。

構造変換スキップ機能の設定方法について説明します。

要求電文のデータ変換では，ビジネスプロセスから受け取ったDOMツリーから，直接，バイナリ形式の要求電文を生成し，汎用カスタムアダプタに渡したいときに，構造変換スキップ機能を有効にできます。

応答電文のデータ変換では，汎用カスタムアダプタから返ってきたバイナリ形式の応答電文から生成したDOMツリーを，そのままビジネスプロセスに返したいときに，構造変換スキップ機能を有効にできます。

構造変換スキップ機能を設定するには，開発環境のサービスアダプタ定義（詳細）画面で，［独自定義ファイル］にカスタムアダプタ定義ファイルを設定する必要があります。

サービスアダプタ定義画面については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.2　サービスアダプタ定義画面」を参照してください。

構造変換スキップ機能を使用するときの注意事項を次に示します。

開発環境のサービスアダプタ定義画面で，要求電文および応答電文の標準電文フォーマットにXMLフォーマット定義ファイルを，要求電文および応答電文のサービス電文フォーマットにバイナリフォーマット定義ファイルを指定してください。

開発環境のサービスアダプタ定義画面で，要求電文および応答電文の標準電文フォーマットには，受付電文フォーマット（バイナリフォーマット定義ファイル）からcscfdx2xsdコマンドを使用して生成したXMLフォーマット定義ファイルを指定してください。

(4)　クラスファイルの作成

プロトコルコンバータ（プロトコル変換処理）を実装するクラスファイルを作成します。作成するクラスファイルは，カスタムアダプタ開発フレームワークが提供するCSCMsgCustomProtocolConverterインターフェースを実装します。

プロトコルコンバータは，サービスプラットフォーム上で動くStateless SessionBeanの一部として動作します。そのため，クラスファイルを作成するときは，マニュアル「アプリケーションサーバ 機能解説 基本・開発編（EJBコンテナ）」のEJBやStateless Session Beanに関する説明を参照してください。

CSCMsgCustomProtocolConverterインターフェースの詳細は，「付録B.1(1)(a)　CSCMsgCustomProtocolConverterインターフェース」を参照してください。また，実装例については，「付録B.3　カスタムアダプタ開発フレームワークのサンプルプログラム」を参照してください。

プロトコルコンバータを実装するときに考慮する内容を次に示します。

(a)　汎用カスタムアダプタのインスタンスとプロトコルコンバータのインスタンスの関係

1つの汎用カスタムアダプタは複数のインスタンスを持つことがありますが，その場合でもプロトコルコンバータのインスタンスは常に1つです。そのため，プロトコルコンバータはマルチスレッドでアクセスされることに注意して実装してください。

図3‒31　汎用カスタムアダプタのインスタンスとプロトコルコンバータのインスタンスの関係

(b)　リソースの確保方法

カスタムアダプタ開発フレームワークでは，プロトコルコンバータでのリソースの確保について，次の方法を推奨しています。

静的なリソースの取得：CSCMsgCustomProtocolConverterのstartメソッド

サービス部品の呼び出しに必要なプロトコルのヘッダ情報やサービス部品のアドレスなど，サービス部品を呼び出すときに参照だけが行われるリソースについては，startメソッドでインスタンスフィールドに確保することを推奨しています。

これは，汎用カスタムアダプタ開始時に一度だけ取得すれば，以後同じリソースを使い続けることができるためです。

動的なリソース（スレッドセーフでないリソース）の取得：CSCMsgCustomProtocolConverterのinvokeメソッド

ストリームによるファイルアクセスやサービス部品に対するコネクションなど，スレッドセーフにアクセスできないリソースについては，invokeメソッドでサービス部品を呼び出すごとに取得することを推奨しています。

スレッドセーフにアクセスできないリソースをインスタンスフィールドに確保してしまうと，スレッド間の排他制御が必要になります。

サービス部品を呼び出すごとにリソースを取得すれば，スレッド間の排他制御による処理性能の低下を抑止できます。

注意事項

一度確保したリソースは，処理が終了しても保持し続けるため，システム全体に高い負荷がかかった場合に，Javaヒープ不足やMetaspace領域不足などが原因でOutOfMemoryErrorが発生することがあります。そのため，OutOfMemoryErrorが発生したときに適切にリソースを解放する処理や，ロールバックなどのエラー処理を実装しておく必要があります。

(c)　リソースファイルのファイル名指定方法

プロトコルコンバータでは，アダプタコンテキストを用いてアーカイブファイル内のリソースファイルにアクセスできます。アーカイブファイル内のリソースファイルにアクセスする場合，次の点に注意してください。

指定するファイル名は，アーカイブ内の相対パスを含むファイル名を指定してください。

独自定義ファイルのファイル名と，アーカイブファイル内のリソースファイル名が重なった場合，独自定義ファイルを指定したことになります。

複数のアーカイブファイル内で，同一名称のリソースファイルを配置しないでください。ファイル名が重複していると，どのアーカイブ内のファイルが使用されたのか特定できなくなります。

(d)　フォルト情報と例外の違い

CSCMsgCustomProtocolConverterのinvokeメソッドの実行中にエラーが起きた場合，プロトコルコンバータは例外を生成して送出，またはフォルト情報を応答電文メッセージに格納します。

フォルト情報は，サービス部品呼び出し処理（CSCMsgCustomProtocolConverterのinvokeメソッド）の実行中に発生した業務上の障害を，カスタムアダプタ開発フレームワークに伝達するために使用します。

例外は，サービス部品呼び出し処理中に発生した通信エラーなどのシステム障害を，カスタムアダプタ開発フレームワークに伝達するために使用します。

フォルトを使用した場合と例外を使用した場合とでは，障害情報を受け取るサービスアダプタやビジネスプロセスでは次のような違いがあります。

●フォルト情報

サービスリクエスタへの応答

フォルト情報の取得については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「9.2.8　エラー情報を取得する」または「9.4.7　エラー情報を取得する」を参照してください。

ビジネスプロセスへの応答

ビジネスプロセスでは，サービスプラットフォームが提供するほかのサービスアダプタのフォルトと同様に処理できます。ビジネスプロセスでのフォルト処理については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.4.4　フォルト処理を定義する」を参照してください。

参考

カスタムアダプタ開発フレームワークに伝達するフォルト情報は，SOAPのSOAP Fault情報に対応する要素を持ちます。各要素の使用方法もSOAPの仕様に準拠しています。SOAP通信基盤がサポートするSOAPおよびSAAJの仕様に従って記述してください。SOAP通信基盤のサポートするSOAPおよびSAAJの仕様については，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」の「12.　標準仕様との対応」を参照してください。

●例外

サービスリクエスタへの応答

例外情報の取得については，サービスリクエスタ作成でのエラー情報の取得に関する内容を参照してください。

ビジネスプロセスへの応答

ビジネスプロセスでは，フォルト処理はできないため，エラー（例外）として扱われます。

(e)　コンパイル

カスタムアダプタ開発フレームワークで使用する次のJARファイルをクラスパスに指定してコンパイルする必要があります。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib¥csc_adapter.jar

また，サービスプラットフォームのAPIなどを使う場合は，別途必要なJARファイルを追加してコンパイルしてください。

(5)　JARファイルの作成

汎用カスタムアダプタの開発で作成するJARファイルの総称を次のように分けています。

プロトコルコンバータJARファイル

プロトコルコンバータクラスファイルおよびカスタムアダプタ開発フレームワーク動作定義ファイルを含むJARファイル

ライブラリJARファイル

プロトコルコンバータJARファイル以外のJARファイル

それぞれのJARファイルの作成方法について説明します。

(a)　プロトコルコンバータJARファイルの作成

jarコマンドを使用して，プロトコルコンバータクラスファイルとそれが使用するクラスファイルおよび，カスタムアダプタ開発フレームワーク動作定義ファイルをJARファイルにアーカイブします。

JARファイルにアーカイブする場合のディレクトリ構成，およびjarコマンドの指定例を次に示します。

●JARファイルのディレクトリ構造

jarコマンドによってアーカイブするときのJARファイルのディレクトリ構成を次の表に示します。

表3‒131　jarコマンドによってアーカイブするときのJARファイルのディレクトリ構成

ディレクトリ名

またはファイル名

説明

指定

/

アーカイブ内のルートディレクトリです。

○

*.class

プロトコルコンバータおよびそれらが依存するクラス（インターフェース）のクラスファイル（*.class）をパッケージ名に従ったディレクトリ階層で格納します。

○

framework_properties.xml

カスタムアダプタ開発フレームワークが使用するプロトコルコンバータのクラス名（パッケージ名を含む）を指定します。

○※

*

プロトコルコンバータが使用する任意のリソースファイルです。

ディレクトリを作成して，その中にファイルを格納できます。

−

/META-INF/

管理情報を格納するディレクトリです。

jarコマンドによって自動的に作成されます。

−

MANIFEST.MF

マニフェストファイルです。

jarコマンドのmオプションを指定することで，アーカイブ内に自動的に作成されます。

−

（凡例）

○：アーカイブするときに指定が必須であることを示します。

−：アーカイブするときに指定が不要，または任意であることを示します。

注※

JARファイルが複数の場合は，プロトコルコンバータを格納したJARファイルにだけ格納してください。

●JARファイル作成時のjarコマンド指定例

JARファイルにアーカイブする場合のjarコマンドの指定例を次に示します。

前提

カレントディレクトリおよびサブディレクトリに次のようにファイルが用意されているとします。

framework_properties.xml
protocolconverter/CustomProtocolConverter.class
lib/MyLib.class
data/table.dat

指定例

「MyProtocolConverter.jar」という名称のJARファイルを作成する場合のjarコマンドの指定例を次に示します。

jar cf ..¥MyProtocolConverter.jar .¥

(b)　ライブラリJARファイルの作成

ライブラリJARファイルは一般のJARファイルと同じように作成してください。

ライブラリJARファイルの作成時の注意事項を次に示します。

●JARファイルのファイル構造

複数のJARファイル間でファイル名は重複しないようにしてください。

ファイル名が重複していると，どのJARファイルのファイルが使用されたのか特定できなくなります。なお，ディレクトリだけが重複している場合は，問題ありません。

A.jarとB.jarという2つのJARファイルを使用し，アーカイブ内のディレクトリおよびファイル構造が重複した場合の例を次の表に示します。

表3‒132　アーカイブ内のディレクトリおよびファイル構造が重複した場合の例

A.jarの構造

B.jarの構造

説明

myfile.txt

−

A.jarのファイル「myfile.txt」が使用されます。

samedata.dat

samedata.dat

A.jarとB.jarのどちらのファイル「samedata.dat」が使用されたのか特定できません。ファイル名は重複させないでください。

dir/

dir/

ディレクトリの重複はかまいません。

−

dir/b.class

B.jarのファイル「dir/b.class」が使用されます。

dir/same.class

dir/same.class

A.jarとB.jarのどちらのファイル「def/same.class」が使用されたのか特定できません。ファイル名は重複させないでください。

（凡例）

−：存在しないことを示します。

●JARファイルの配置

ファイル名が「framework_properties.xml」であるファイルをJARファイルのルートディレクトリに配置しないでください。

「framework_properties.xml」と同じファイル名のJARファイルがルートディレクトリに存在すると，プロトコルコンバータJARファイル内のファイル「framework_properties.xml」が使用されなくなるおそれがあります。

(6)　EARファイルの作成

汎用カスタムアダプタの新規登録に必要なEARファイルを作成します。

EARファイルの作成は，jarコマンドを使用し，サービスプラットフォームが提供しているJARファイルをEARファイルにアーカイブします。

EARファイルにアーカイブする場合のディレクトリ構成，およびjarコマンドの指定例を次に示します。

●EARファイルのディレクトリ構造

jarコマンドによってアーカイブするときのEARファイルのディレクトリ構成を次の表に示します。

表3‒133　jarコマンドによってアーカイブするときのEARファイルのディレクトリ構造

ディレクトリ名

またはファイル名

説明

指定

/

アーカイブ内のルートディレクトリです。

○

cscmsg_adpejb.jar

次に示すファイルのコピーを格納します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib¥cscmsg_adpejb.jar

○

/META-INF/

管理情報を格納するディレクトリです。

jarコマンドによって自動的に作成されます。

−

MANIFEST.MF

マニフェストファイルです。

jarコマンドのmオプションを指定することで，アーカイブ内に自動的に作成されます。

−

（凡例）

○：アーカイブするときに指定が必須であることを示します。

−：アーカイブするときに指定が不要，または任意であることを示します。

注意事項

上記以外のファイルは格納しないでください。複数のjarファイルを格納した場合，汎用カスタムアダプタの登録ができなくなります。

●EARファイル作成時のjarコマンド指定例

EARファイルにアーカイブする場合のjarコマンドの指定例を次に示します。

前提

カレントディレクトリに次に示すファイルのコピーを格納します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib¥cscmsg_adpejb.jar

指定例

「CustomAdapter.ear」という名称のEARファイルを作成する場合のjarコマンドの指定例を次に示します。

jar cf ..¥CustomAdapter.ear .¥

(7)　EARファイルの入れ替え

汎用カスタムアダプタの追加時にEARファイルを設定します。汎用カスタムアダプタを追加したあとにEARファイルを修正する必要がある場合，汎用カスタムアダプタのサービスアダプタ定義画面で，EARファイルを入れ替えます。

入れ替えるEARファイルに含まれるEJB-JARファイル名は，汎用カスタムアダプタの追加時に設定したEARファイルのEJB-JAR名と同じにしてください。EJB-JARファイル名が異なる場合は，EARファイルを指定したときにエラーが発生し，EARファイルを設定できません。

汎用カスタムアダプタのサービスアダプタ定義画面で，EARファイルを入れ替える手順を次に示します。

ツリービューのサービス定義一覧で，EARファイルを入れ替える汎用カスタムアダプタをダブルクリックします。

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

画面下部の［サービスアダプタ定義（詳細）］タブをクリックします。

サービスアダプタ定義（詳細）画面が表示されます。

サービスアダプタ定義（詳細）画面で，［参照］ボタンをクリックします。

入れ替えるEARファイルを指定します。

(8)　サービスアダプタ定義画面での操作

汎用カスタムアダプタを定義する場合の手順を次に示します。

サービスアダプタ定義画面を表示します。

サービスアダプタ定義画面の表示方法については，「3.3.1(4)　サービスアダプタ定義画面の表示」を参照してください。

サービス部品制御情報の［サービス名］，［サービスID］，および［最大インスタンス数］を必要に応じて編集します。

サービス部品制御情報の［追加］ボタンをクリックして，オペレーションを追加します。

「3.3.18(1)　オペレーションの設計」で設計したオペレーション名を指定してください。

サービス部品制御情報の［オペレーション］のドロップダウンリストから，編集したいオペレーションを選択します。

サービス部品制御情報の［システム例外をフォルトに変換する］チェックボックスを必要に応じてチェックします。

オペレーション情報の［通信モデル］のドロップダウンリストから，「同期」または「非同期」を選択します。

「3.3.18(1)　オペレーションの設計」で設計した通信モデルを指定してください。

次に示す操作をします。

標準電文のフォーマットを指定する場合

手順8.〜11.を実施して，手順12.に進みます。

標準電文のフォーマットを指定しない場合

手順12.に進みます。

要求電文の［>>］ボタンをクリックします。

標準電文およびデータ変換定義の情報欄が表示されます。

標準電文の［使う］チェックボックスをチェックします。

標準電文の［参照］ボタンをクリックして，［電文フォーマット］に標準電文のフォーマットを指定します。

［電文フォーマット］には電文種別は，XML電文とバイナリ電文のどちらも指定できます。

標準電文の［表示］ボタンをクリックします。

標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。

サービス部品電文の［参照］ボタンをクリックして，［電文フォーマット］にサービス部品電文のフォーマットを指定します。

「3.3.18(1)　オペレーションの設計」で設計した電文フォーマットを指定してください。

［電文フォーマット］には電文種別は，XML電文とバイナリ電文のどちらも指定できます。

サービス部品電文の［表示］ボタンをクリックします。

サービス部品電文のフォーマットが表示されます。必要に応じて指定したサービス部品電文のフォーマットを確認してください。

次に示す操作をします。

標準電文の［使う］チェックボックスをチェックした場合

手順15.〜17.を実施して，手順18.に進みます。

標準電文の［使う］チェックボックスをチェックしない場合

手順18.に進みます。

データ変換定義のファイル名を入力します。

［編集］ボタンをクリックします。

データ変換定義画面が表示されます。

なお，初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。

また，電文フォーマットを変更した場合は，電文フォーマットの変更を反映するかを確認するダイアログが表示されます。詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.2　電文フォーマットを変更した場合の定義手順」を参照してください。

標準電文とサービス部品電文の内容をマッピングします。

手順6.で「同期」を選択した場合，応答電文についても同様に，手順7.から手順17.までを実施します。

サービスアダプタ定義（詳細）タブをクリックします。

サービスアダプタ（EJB-JARファイル）の名称を確認します。

名称が「cscmsg_adpejb.jar」であることを確認します。

ユーティリティクラス（JARファイル）の［追加］ボタンをクリックして，JARファイルを登録します。

追加するファイルは，「3.3.18(5)(a)　プロトコルコンバータJARファイルの作成」で作成したJARファイルです。

必要に応じて，プロトコルコンバータで使用するJARファイル（ライブラリJARファイルなど）も追加できます。

独自定義ファイルの［追加］ボタンをクリックして，必要に応じて次のファイルを追加します。

プロトコルコンバータ用独自定義ファイル

カスタムアダプタプロパティファイル

カスタムアダプタ用アプリケーション統合属性ファイル

必要に応じて，独自定義ファイルを選択して［編集］ボタンをクリックし，ファイルの内容を編集します。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

3.3.19　サービスアダプタ定義での設定一覧

サービスアダプタの定義で使用するサービスアダプタ定義画面での設定について説明します。

注意事項

サービスアダプタ定義画面で指定する電文フォーマット定義ファイルが，外部のXMLスキーマを参照している電文フォーマットの場合，必ずルートスキーマに当たるファイルを設定してください。ルートスキーマから参照される外部のXMLスキーマファイルは，自動的に取り込まれます。

サービスアダプタ定義画面で指定する電文フォーマット定義ファイルは，一定の条件を満たしている必要があります。スキーマの条件の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5　XMLスキーマの適用範囲」を参照してください。

(1)　SOAPアダプタの場合　

SOAPアダプタを定義する場合の，サービスアダプタ定義画面での設定を次の表に示します。

表3‒134　SOAPアダプタのサービスアダプタ定義画面での設定

分類

項目

設定

基本画面

サービス部品制御情報

サービス名

◎

サービスID

◎

サービス種別

×

アドレス

×

最大インスタンス数

◎

サービスクラス名

×

オペレーション

◎

システム例外をフォルトに変換する（チェックボックス）

○

オペレーション情報

オペレーション名

×

通信モデル

×

要求電文

ヘッダ

ルート要素

○

名前空間

×

電文フォーマット

×

ボディ

使う（チェックボックス）

○

標準電文フォーマット

△※1

サービス部品電文フォーマット

◎

データ変換定義

△※1

応答電文

ヘッダ

ルート要素

○

名前空間

×

電文フォーマット

×

ボディ

使う（チェックボックス）

○

標準電文フォーマット

△※2

サービス部品電文フォーマット

◎

データ変換定義

△※2

フォルト電文

フォルト名

△※3

フォルト電文フォーマット

△※3

詳細画面

Webサービス制御情報

クライアント定義ファイル

◎

使う（チェックボックス）

○

ユーザ名

△※4

パスワード

△※4

パスワード（確認）

△※4

SessionBean制御情報

クライアント定義ファイル

−

ユーザ定義クラス（JARファイル）

−

MDB制御情報

JMSメッセージ種別

−

リモート呼出し（ラジオボタン）

−

ローカル呼出し（ラジオボタン）

−

最大メッセージ数

−

宛先URL

−

ベーシック認証（チェックボックス）

−

ユーザ名

−

パスワード

−

パスワード（確認）

−

転送キュー作成先RDエリア名

−

順序保証（チェックボックス）

−

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※1

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※2

応答電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※3

サービス部品電文のフォルト電文があるときにだけ設定します。

注※4

ベーシック認証の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注意事項

サービスアダプタ定義画面では，入力項目の前後に半角スペースや全角スペースを指定できません。

(2)　SessionBeanアダプタの場合

SessionBeanアダプタを定義する場合の，サービスアダプタ定義画面での設定を次の表に示します。

表3‒135　SessionBeanアダプタのサービスアダプタ定義画面での設定

分類

項目

設定

基本画面

サービス部品制御情報

サービス名

◎

サービスID

◎

サービス種別

×

アドレス

◎

最大インスタンス数

◎

サービスクラス名

×

オペレーション

◎

システム例外をフォルトに変換する（チェックボックス）

○

オペレーション情報

オペレーション名

×

通信モデル

×

要求電文

ヘッダ

ルート要素

−

名前空間

−

電文フォーマット

−

ボディ

使う（チェックボックス）

○

標準電文フォーマット

△※1

サービス部品電文フォーマット

◎

データ変換定義

△※1

応答電文

ヘッダ

ルート要素

−

名前空間

−

電文フォーマット

−

ボディ

使う（チェックボックス）

○

標準電文フォーマット

△※2

サービス部品電文フォーマット

◎

データ変換定義

△※2

フォルト電文

フォルト名

−

フォルト電文フォーマット

−

詳細画面

Webサービス制御情報

クライアント定義ファイル

−

使う（チェックボックス）

−

ユーザ名

−

パスワード

−

パスワード（確認）

−

SessionBean制御情報

クライアント定義ファイル

◎

ユーザ定義クラス（JARファイル）

○

MDB制御情報

JMSメッセージ種別

−

リモート呼出し（ラジオボタン）

−

ローカル呼出し（ラジオボタン）

−

最大メッセージ数

−

宛先URL

−

ベーシック認証（チェックボックス）

−

ユーザ名

−

パスワード

−

パスワード（確認）

−

転送キュー作成先RDエリア名

−

順序保証（チェックボックス）

−

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※1

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※2

応答電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注意事項

サービスアダプタ定義画面では，入力項目の前後に半角スペースや全角スペースを指定できません。

(3)　MDB（WS-R）アダプタの場合

MDB（WS-R）アダプタを定義する場合の，サービスアダプタ定義画面での設定を次の表に示します。

表3‒136　MDB（WS-R）アダプタのサービスアダプタ定義画面での設定

分類

項目

設定

基本画面

サービス部品制御情報

サービス名

◎

サービスID

◎

サービス種別

×

アドレス

◎

最大インスタンス数

◎

サービスクラス名

×

オペレーション

◎

システム例外をフォルトに変換する（チェックボックス）

○

オペレーション情報

オペレーション名

×

通信モデル

×

要求電文

ヘッダ

ルート要素

−

名前空間

−

電文フォーマット

−

ボディ

使う（チェックボックス）

○

標準電文フォーマット

△※1

サービス部品電文フォーマット

◎

データ変換定義

△※1

応答電文

ヘッダ

ルート要素

−

名前空間

−

電文フォーマット

−

ボディ

使う（チェックボックス）

−

標準電文フォーマット

−

サービス部品電文フォーマット

−

データ変換定義

−

フォルト電文

フォルト名

−

フォルト電文フォーマット

−

詳細画面

Webサービス制御情報

クライアント定義ファイル

−

使う（チェックボックス）

−

ユーザ名

−

パスワード

−

パスワード（確認）

−

SessionBean制御情報

クライアント定義ファイル

−

ユーザ定義クラス（JARファイル）

−

MDB制御情報

JMSメッセージ種別

◎

リモート呼出し（ラジオボタン）

◎※2

ローカル呼出し（ラジオボタン）

◎※2

最大メッセージ数

△※3

宛先URL

△※3

ベーシック認証（チェックボックス）

○※4

ユーザ名

△※5

パスワード

△※5

パスワード（確認）

△※5

転送キュー作成先RDエリア名

○※4

順序保証（チェックボックス）

○※4

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※1

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※2

［リモート呼出し］または［ローカル呼出し］のどちらか一方のラジオボタンを必ず選択します。

注※3

［リモート呼出し］ラジオボタンを選択した場合，必ず設定します。

注※4

［リモート呼出し］ラジオボタンを選択した場合にだけ，任意で設定できます。

注※5

［リモート呼出し］（ラジオボタン）を選択し，ベーシック認証の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注意事項

サービスアダプタ定義画面では，入力項目の前後に半角スペースや全角スペースを指定できません。ただし，MDB（WS-R）の詳細画面の［転送キュー作成先RDエリア名］には，末尾に半角スペースを指定できます。

(4)　MDB（DBキュー）アダプタの場合

MDB（DBキュー）アダプタを定義する場合の，サービスアダプタ定義画面での設定を次の表に示します。

表3‒137　MDB（DBキュー）アダプタのサービスアダプタ定義画面での設定

分類

項目

設定

基本画面

サービス部品制御情報

サービス名

◎

サービスID

◎

サービス種別

×

アドレス

◎

最大インスタンス数

◎

サービスクラス名

×

オペレーション

◎

システム例外をフォルトに変換する（チェックボックス）

○

オペレーション情報

オペレーション名

×

通信モデル

×

要求電文

ヘッダ

ルート要素

−

名前空間

−

電文フォーマット

−

ボディ

使う（チェックボックス）

○

標準電文フォーマット

△※

サービス部品電文フォーマット

◎

データ変換定義

△※

応答電文

ヘッダ

ルート要素

−

名前空間

−

電文フォーマット

−

ボディ

使う（チェックボックス）

−

標準電文フォーマット

−

サービス部品電文フォーマット

−

データ変換定義

−

フォルト電文

フォルト名

−

フォルト電文フォーマット

−

詳細画面

Webサービス制御情報

クライアント定義ファイル

−

使う（チェックボックス）

−

ユーザ名

−

パスワード

−

パスワード（確認）

−

SessionBean制御情報

クライアント定義ファイル

−

ユーザ定義クラス（JARファイル）

−

MDB制御情報

JMSメッセージ種別

−

リモート呼出し（ラジオボタン）

−

ローカル呼出し（ラジオボタン）

−

最大メッセージ数

−

宛先URL

−

ベーシック認証（チェックボックス）

−

ユーザ名

−

パスワード

−

パスワード（確認）

−

転送キュー作成先RDエリア名

−

順序保証（チェックボックス）

−

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注意事項

サービスアダプタ定義画面では，入力項目の前後に半角スペースや全角スペースを指定できません。

(5)　DBアダプタの場合

DBアダプタを定義する場合の，サービスアダプタ定義画面での設定を次の表に示します。

表3‒138　DBアダプタのサービスアダプタ定義画面での設定

分類

項目

設定

同期

非同期

基本画面

サービス部品制御情報

サービス名

◎

◎

サービスID

◎

◎

サービス種別

×

×

アドレス

×

×

最大インスタンス数※1

◎

◎

サービスクラス名

×

×

オペレーション

◎

◎

システム例外をフォルトに変換する（チェックボックス）

○

○

オペレーション情報

オペレーション名

×

×

通信モデル

◎※2

◎※3

要求電文

any型を使う（チェックボックス）

−

−

使う（チェックボックス）

○

○

標準電文フォーマット

△※4

△※4

サービス部品電文フォーマット※6

◎

◎

データ変換定義

△※4

△※4

応答電文

any型を使う（チェックボックス）

−

−

使う（チェックボックス）

○

−

標準電文フォーマット

△※5

−

サービス部品電文フォーマット※6

◎

−

データ変換定義

△※5

−

フォルト電文

フォルト名

−

−

サービス部品電文フォーマット

−

−

詳細画面

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

×

×

ユーティリティクラス（JARファイル）

−

−

独自定義ファイル※7

◎

◎

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※1

サービスアダプタ定義画面で設定した値は適用されません。最大インスタンス数は，アプリケーション統合属性ファイルの要素「hitachi-application-all-property/ejb-jar/hitachi-session-bean-property/session-runtime/stateless/pooled-instance/maximum」で指定した値が設定されます。

注※2

「同期」を設定します。

注※3

「非同期」を設定します。

注※4

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※5

応答電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※6

電文種別がXML電文の電文フォーマットを設定します。

注※7

設定されているcscadapter_property.xmlはテンプレートファイルです。cscadapter_property.xmlを選択したあと［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。プロパティファイルの詳細は，「3.3.5(4)　アプリケーション統合属性ファイルの編集」を参照してください。

また，SQLオペレーション定義ファイルを作成して，独自定義ファイルに追加してください。SQLオペレーション定義ファイルの詳細は，「3.3.5(1)　SQLオペレーション定義ファイルの作成」を参照してください。

(6)　TP1アダプタの場合

TP1アダプタを定義する場合の，サービスアダプタ定義画面での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒139　TP1アダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

サービス名

サービスアダプタ定義追加（TP1アダプタ）ウィザードで指定したHCSCコンポーネントの名称が表示されます。

◎

サービスID

HCSCコンポーネントのIDが表示されます。※1

◎

サービス種別

サービス部品の種別として「TP1アダプタ」が表示されます。

×

アドレス

この項目は使用しません。

×

最大インスタンス数

サービス部品の最大インスタンス数が表示されます。

同時に処理できる接続先システムへのRPC要求数を指定します。ここで指定する値とTP1アダプタの通信構成定義のcon_pool_num要素は同じ値を指定してください。

◎

サービスクラス名

この項目は使用しません。

×

オペレーション

オペレーション名が表示されます。サービス部品が持つオペレーション名をドロップダウンリストから選択します。

◎

オペレーション情報

−

サービス部品のオペレーションについての情報が表示されます。

−

オペレーション名

サービス部品制御情報のオペレーション欄で選択したオペレーションの名称が表示されます。

×

通信モデル

サービス部品制御情報のオペレーション欄で選択したオペレーションの通信モデルを選択します。ドロップダウンリストから次に示す「同期」または「非同期」のどちらかを選択します。

同期

応答電文の情報が表示されます。

非同期

応答電文の情報は表示されません。非同期のままアダプタ定義を保存すると応答電文のすべての項目は消えます。

◎

要求電文

−

サービスリクエスタから送信される要求電文の情報が表示されます。

−

標準

使う（チェックボックス）

標準電文をサービス部品電文のフォーマットにデータ変換する場合にチェックします。

○

電文フォーマット

サービスリクエスタから受け付けた標準電文のフォーマット名を入力します。

△※2

サービス部品

電文フォーマット

サービス部品電文のフォーマット（TP1アダプタ用の電文フォーマット定義ファイル）名を入力します。

◎

データ変換定義

標準電文からサービス部品電文へデータ変換するための定義ファイル名を入力します。

△※2

応答電文

−

サービス部品から送信される応答電文の情報が表示されます。オペレーション情報の通信モデル欄で，「同期」を選択した場合だけ，設定できます。

−

標準

使う（チェックボックス）

サービス部品電文を標準電文のフォーマットにデータ変換する場合にチェックします。

○

電文フォーマット

サービス部品から受け付けた標準電文のフォーマット名を入力します。

△※3

サービス部品

電文フォーマット

サービス部品の電文フォーマット（TP1アダプタ用の電文フォーマット定義ファイル）名を入力します。

◎

データ変換定義

サービス部品電文から標準電文へデータ変換するための定義ファイル名を入力します。

△※3

フォルト電文

−

サービス部品のフォルト電文についての情報が表示されます。

−

フォルト名

サービス部品のフォルト名が表示されます。

◎

電文フォーマット

次のフォルト電文フォーマットファイルが設定されています。

adptp1_faultfmt.xsd※4

×

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※1

TP1アダプタでは，サービスIDを基にトレースの出力パスが決められます。このため，サービスIDを編集する場合は，一度作成したことのあるTP1アダプタのサービスIDと同じサービスIDは指定しないでください。なお，サービスIDの大文字と小文字は区別されません。同じサービスIDを指定した場合は，トレースが過去に作成したトレース情報に出力されるため，障害発生時の原因究明が困難になる場合があります。

注※2

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※3

応答電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※4

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥TP1¥lib」です。

TP1アダプタを定義する場合の，サービスアダプタ定義（詳細）画面での設定項目を次の表に示します。

表3‒140　TP1アダプタのサービスアダプタ定義（詳細）画面の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

TP1アダプタ新規作成時に指定したサービス部品についての情報が表示されます。

×

ユーティリティクラス（JARファイル）

TP1アダプタのEJB-JARファイルの名称が表示されます。

TP1アダプタでは，次のユーティリティクラスが設定されています。

adptp1pc.jar（プロトコルコンバータアーカイブファイル）※1

×

独自定義ファイル

TP1アダプタの環境定義ファイル，およびTP1アダプタの通信構成定義ファイルの名称が表示されます。

TP1アダプタでは，次の独自定義ファイルが設定されています。

adptp1_config.xml（TP1アダプタ通信構成定義ファイル）※2

customadapter_properties.xml（TP1アダプタ環境定義ファイル）※3

◎

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥TP1¥lib」です。

注※2

設定されているadptp1_config.xmlはテンプレートファイルです。必要に応じてadptp1_config.xmlを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。TP1アダプタ通信構成定義ファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.4.3　TP1アダプタ通信構成定義ファイル」を参照してください。

注※3

設定されているcustomadapter_properties.xmlはテンプレートファイルです。customadapter_properties.xmlを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。TP1アダプタ環境定義ファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.4.2　TP1アダプタ環境定義ファイル」を参照してください。

(7)　ファイルアダプタの場合

ファイルアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒141　ファイルアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

−

ファイルアダプタ新規作成時に指定したサービス部品についての情報が表示されます。

−

サービス名

サービスアダプタ定義追加（ファイルアダプタ）ウィザードで指定したHCSCコンポーネントの名称が表示されます。

◎

サービスID

HCSCコンポーネントのIDが表示されます。※1

◎

サービス種別

サービス部品の種別として「ファイルアダプタ」が表示されます。

×

アドレス

この項目は使用しません。

×

最大インスタンス数

サービス部品の最大インスタンス数が表示されます。

◎

サービスクラス名

この項目は使用しません。

×

オペレーション

オペレーション名が表示されます。サービス部品が持つオペレーション名をドロップダウンリストから選択します。

◎

オペレーション情報

−

サービス部品のオペレーションについての情報が表示されます。

−

オペレーション名

サービス部品制御情報のオペレーション欄で選択したオペレーションの名称が表示されます。

×

通信モデル

サービス部品制御情報のオペレーション欄で選択したオペレーションの通信モデルを選択します。ファイルアダプタでは「同期」を選択します。

◎

要求電文

−

ビジネスプロセスから送信される要求電文の情報が表示されます。

−

標準

使う（チェックボックス）

標準電文をサービス部品電文のフォーマットにデータ変換する場合にチェックします。

○

電文フォーマット

ビジネスプロセスから受け付けた標準電文のフォーマット名を入力します。

△※2

サービス部品

電文フォーマット

サービス部品電文のフォーマット（ファイルアダプタ用の電文フォーマット定義ファイル）を入力します。

定義パターンが「XML読み込み」または「バイナリ読み込み」の場合はadpff_read.xsdが設定されています。

△

データ変換定義

標準電文からサービス部品電文へデータ変換するための定義ファイル名を入力します。

△※2

応答電文

−

サービス部品から送信される応答電文の情報が表示されます。オペレーション情報の通信モデル欄で，「同期」を選択した場合だけ，設定できます。ファイルアダプタでは「同期」を選択するため必ず設定します。

−

標準

使う（チェックボックス）

サービス部品電文を標準電文のフォーマットにデータ変換する場合にチェックします。

○

電文フォーマット

サービス部品から受け付けた標準電文のフォーマット名を入力します。

△※3

サービス部品

電文フォーマット

サービス部品の電文フォーマット（ファイルアダプタ用の電文フォーマット定義ファイル）名を入力します。

定義パターンが「XML書き込み」または「バイナリ書き込み」の場合はadpff_result.xsdが設定されています。

△

データ変換定義

サービス部品電文から標準電文へデータ変換するための定義ファイル名を入力します。

△※3

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※1

ファイルアダプタでは，サービスIDを基にトレースの出力パスが決められます。このため，サービスIDを編集する場合は，一度作成したことのあるファイルアダプタのサービスIDと同じサービスIDは指定しないでください。なお，サービスIDの大文字と小文字は区別されません。同じサービスIDを指定した場合は，トレースが過去に作成したトレース情報に出力されるため，障害発生時の原因究明が困難になる場合があります。

注※2

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※3

応答電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

ファイルアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。

表3‒142　ファイルアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

ファイルアダプタ新規作成時に指定したサービス部品についての情報が表示されます。

×

ユーティリティクラス（JARファイル）

ファイルアダプタのEJB-JARファイルの名称が表示されます。

ファイルアダプタでは，次のユーティリティクラスが設定されています。

adpffpc.jar（プロトコルコンバータアーカイブファイル）※

×

独自定義ファイル

ファイルアダプタでは独自定義ファイルは使用しません。

−

（凡例）

×：表示されている内容を確認します。

−：該当しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥lib」です。

(8)　Object Accessアダプタの場合

Object Accessアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒143　Object Accessアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

−

Object Accessアダプタ新規作成時に指定したサービス部品についての情報が表示されます。

−

サービス名

サービスアダプタ定義追加（Object Accessアダプタ）ウィザードで指定したHCSCコンポーネントの名称が表示されます。

◎

サービスID

HCSCコンポーネントのIDが表示されます。※1

◎

サービス種別

サービス部品の種別として「Object Accessアダプタ」が表示されます。

×

アドレス

この項目は使用しません。

×

最大インスタンス数

サービス部品の最大インスタンス数が表示されます。

◎

サービスクラス名

この項目は使用しません。

×

オペレーション

オペレーション名が表示されます。サービス部品が持つオペレーション名をドロップダウンリストから選択します。

Object Accessアダプタで指定できるオペレーション名は「exec2」だけです。

◎

オペレーション情報

−

サービス部品のオペレーションについての情報が表示されます。

−

オペレーション名

サービス部品制御情報のオペレーション欄で選択したオペレーションの名称が表示されます。

×

通信モデル

サービス部品制御情報のオペレーション欄で選択したオペレーションの通信モデルを選択します。Object Accessアダプタでは「同期」を選択します。

◎

要求電文

−

ビジネスプロセスから送信される要求電文の情報が表示されます。

−

標準

使う（チェックボックス）

標準電文をサービス部品電文のフォーマットにデータ変換する場合にチェックします。

○

電文フォーマット

ビジネスプロセスから受け付けた標準電文のフォーマット名を入力します。

△※2

サービス部品

電文フォーマット

サービス部品電文のフォーマット（Object Accessアダプタ用の電文フォーマット定義ファイル）です。exec2_request.xsd※3が設定されています。

×

データ変換定義

標準電文からサービス部品電文へデータ変換するための定義ファイル名を入力します。

△※2

応答電文

−

サービス部品から送信される応答電文の情報が表示されます。オペレーション情報の通信モデル欄で，「同期」を選択した場合だけ，設定できます。Object Accessアダプタでは「同期」を選択するため必ず設定します。

−

標準

使う（チェックボックス）

サービス部品電文を標準電文のフォーマットにデータ変換する場合にチェックします。

○

電文フォーマット

サービス部品から受け付けた標準電文のフォーマット名を入力します。

△※4

サービス部品

電文フォーマット

サービス部品の電文フォーマット（Object Accessアダプタ用の電文フォーマット定義ファイル）です。exec2_response.xsd※3が設定されています。

×

データ変換定義

サービス部品電文から標準電文へデータ変換するための定義ファイル名を入力します。

△※4

フォルト電文

−

サービス部品のフォルト電文についての情報が表示されます。

−

フォルト名

サービス部品のフォルト名が表示されます。

◎

電文フォーマット

次のフォルト電文フォーマットファイルが設定されています。

exec2_fault1.xsd※3

×

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※1

Object Accessアダプタでは，サービスIDを基にトレースの出力パスが決められます。このため，サービスIDを編集する場合は，一度作成したことのあるObject AccessアダプタのサービスIDと同じサービスIDは指定しないでください。なお，サービスIDの大文字と小文字は区別されません。同じサービスIDを指定した場合は，トレースが過去に作成したトレース情報に出力されるため，障害発生時の原因究明が困難になる場合があります。

注※2

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※3

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥OA¥schema」です。

注※4

応答電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

Object Accessアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。

表3‒144　Object Accessアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

Object Accessアダプタ新規作成時に指定したサービス部品についての情報が表示されます。

×

ユーティリティクラス（JARファイル）

Object AccessアダプタのEJB-JARファイルの名称が表示されます。

次のユーティリティクラスが設定されています。

adpoapc.jar（プロトコルコンバータアーカイブファイル）※

また，「3.3.8(4)　ユーザ定義ファイルの作成」で作成した次のjarファイルをユーティリティクラスに追加します。

adpoadef.jar（ユーザ定義ファイル）

◎

独自定義ファイル

Object Accessアダプタでは独自定義ファイルは使用しません。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥OA¥lib」です。

(9)　Message Queueアダプタの場合

Message Queueアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒145　Message Queueアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

−

Message Queueアダプタ新規作成時に指定したサービス部品についての情報が表示されます。

−

サービス名

サービスアダプタ定義追加（Message Queueアダプタ）ウィザードで指定したHCSCコンポーネントの名称が表示されます。

◎

サービスID

HCSCコンポーネントのIDが表示されます。※1

◎

サービス種別

サービス部品の種別として「Message Queueアダプタ」が表示されます。

×

アドレス

この項目は使用しません。

×

最大インスタンス数

サービス部品の最大インスタンス数が表示されます。

◎

サービスクラス名

この項目は使用しません。

×

オペレーション

オペレーション名が表示されます。サービス部品が持つオペレーション名をドロップダウンリストから選択します。

◎

オペレーション情報

−

サービス部品のオペレーションについての情報が表示されます。

−

オペレーション名

サービス部品制御情報のオペレーション欄で選択したオペレーションの名称が表示されます。

×

通信モデル

サービス部品制御情報のオペレーション欄で選択したオペレーションの通信モデルを選択します。Message Queueアダプタでは「同期」を選択します。

◎

要求電文

−

ビジネスプロセスから送信される要求電文の情報が表示されます。

−

標準

使う（チェックボックス）

標準電文をサービス部品電文のフォーマットにデータ変換する場合にチェックします。

○

電文フォーマット

ビジネスプロセスから受け付けた標準電文のフォーマット名を入力します。

△※2

サービス部品

電文フォーマット

サービス部品電文のフォーマット（Message Queueアダプタ用の電文フォーマット定義ファイル）名を入力します。

定義パターンが「メッセージ受信」の場合は，adpmq_rcv_request.xsd※3が設定されています。

定義パターンが「ブラウズ・メッセージ受信」の場合は，adpmq_browse_request.xsd※3が設定されています。

△

データ変換定義

標準電文からサービス部品電文へデータ変換するための定義ファイル名を入力します。

△※2

応答電文

−

サービス部品から送信される応答電文の情報が表示されます。オペレーション情報の通信モデル欄で，「同期」を選択した場合だけ，設定できます。Message Queueアダプタでは「同期」を選択するため必ず設定します。

−

標準

使う（チェックボックス）

サービス部品電文を標準電文のフォーマットにデータ変換する場合にチェックします。

○

電文フォーマット

サービス部品から受け付けた標準電文のフォーマット名を入力します。

△※4

サービス部品

電文フォーマット

サービス部品の電文フォーマット（Message Queueアダプタ用の電文フォーマット定義ファイル）名を入力します。

定義パターンが「メッセージ送信」の場合は，adpmq_snd_response.xsd※3が設定されています。

△

データ変換定義

サービス部品電文から標準電文へデータ変換するための定義ファイル名を入力します。

△※4

フォルト電文

−

サービス部品のフォルト電文についての情報が表示されます。

−

フォルト名

サービス部品のフォルト名が表示されます。

◎

電文フォーマット

オペレーションの定義パターンが次の場合に「adpmq_fault_response.xsd」※3が設定されています。

メッセージ受信

ブラウズ・メッセージ受信

メッセージ送受信

×

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※1

Message Queueアダプタでは，サービスIDを基にトレースの出力パスが決められます。このため，サービスIDを編集する場合は，一度作成したことのあるMessage QueueアダプタのサービスIDと同じサービスIDは指定しないでください。なお，サービスIDの大文字と小文字は区別されません。同じサービスIDを指定した場合は，トレースが過去に作成したトレース情報に出力されるため，障害発生時の原因究明が困難になる場合があります。

注※2

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※3

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥MQ¥schema」です。

注※4

応答電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

Message Queueアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。

表3‒146　Message Queueアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

Message Queueアダプタ新規作成時に指定したサービス部品についての情報が表示されます。

×

ユーティリティクラス（JARファイル）

Message QueueアダプタのEJB-JARファイルの名称が表示されます。

次のユーティリティクラスが設定されています。

adpmqpc.jar（プロトコルコンバータアーカイブファイル）※1

×

独自定義ファイル

次の独自定義ファイルが設定されています。

customadapter_properties.xml（Message Queueアダプタ環境定義ファイル）※2

adpmq_communication.xml（Message Queueアダプタ通信構成定義ファイル）※3

cscadapter_property.xml（アプリケーション統合属性ファイル）※4

◎

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥MQ¥lib」です。

注※2

設定されているcustomadapter_properties.xml（Message Queueアダプタ環境定義ファイル）はテンプレートファイルです。customadapter_properties.xmlを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。Message Queueアダプタ環境定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.8.1　Message Queueアダプタ環境定義ファイル」を参照してください。

注※3

設定されているadpmq_communication.xml（Message Queueアダプタ通信構成定義ファイル）はテンプレートファイルです。必要に応じてadpmq_communication.xmlを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。Message Queueアダプタ通信構成定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.8.2　Message Queueアダプタ通信構成定義ファイル」を参照してください。

注※4

設定されているcscadapter_property.xml（アプリケーション統合属性ファイル）はテンプレートファイルです。cscadapter_property.xmlを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。アプリケーション統合属性ファイルの詳細は，「3.3.9(6)　アプリケーション統合属性ファイルの編集」を参照してください。

(10)　FTPアダプタの場合

FTPアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒147　FTPアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

オペレーション

次の中から使用するオペレーションを追加します。

PUT：PUT系（STORまたはAPPE）処理

GET：GET系（RETR）処理

GETINFO：GETINFO系（LISTまたはNLST）処理

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

サービス部品

電文フォーマット

［オペレーション］の設定に応じて，次の電文フォーマット定義ファイルが設定されています。

定義パターンが「ファイル送信（PUTオペレーション）」の場合

ftpadp_put_request.xsd※1

定義パターンが「ファイル受信送信（GETオペレーション）」の場合

ftpadp_get_request.xsd※1

定義パターンが「ファイル情報取得（GETINFOオペレーション）」の場合

ftpadp_getinfo_request.xsd※1※2

×

応答電文

サービス部品

電文フォーマット

［オペレーション］の設定に応じて，次の電文フォーマット定義ファイルが設定されています。

定義パターンが「ファイル送信（PUTオペレーション）」の場合

ftpadp_put_response.xsd※1

定義パターンが「ファイル受信送信（GETオペレーション）」の場合

ftpadp_get_response.xsd※1

定義パターンが「ファイル情報取得（GETINFOオペレーション）」の場合

ftpadp_getinfo_response.xsd※1※2

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥schema」です。

注※2

Service Platform 09-50-01以前のバージョンで定義したFTPアダプタを編集する場合，電文フォーマットを指定し直す必要があります。電文フォーマットの［参照］ボタンをクリックし，ftpadp_getinfo_request.xsd（またはftpadp_getinfo_response.xsd）を指定して電文フォーマットに再設定してください。

FTPアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒148　FTPアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

FTPアダプタでは，次のユーティリティクラスが設定されています。

adpftppc.jar※

×

独自定義ファイル

FTPアダプタでは独自定義ファイルは使用しません。

−

（凡例）

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥FTP¥lib」です。

(11)　ファイル操作アダプタの場合

ファイル操作アダプタを定義する場合の，サービスアダプタ定義画面での設定項目について，オペレーションごとに説明します。

(a)　ファイル変換オペレーション

ファイル変換オペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒149　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル変換オペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル変換（TRANSFORMオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_transform_request.xsd※が設定されています。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_transform_response.xsd※が設定されています。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル変換オペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒150　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル変換オペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※1が設定されています。

×

独自定義ファイル

一括処理方式および分割処理方式共通の設定

cscFileOperation.properties（ファイル操作アダプタ定義ファイル）※2が設定されています。

また，文字コード変換UOCが独自定義ファイルを参照する場合は，次のファイルを追加します。

csc_owncodeconvert.properties

csc_owncodeconvert_in.properties（入力ファイル用）

csc_owncodeconvert_out.properties（出力ファイル用）

◎

一括処理方式を選択した場合

ファイル操作アダプタ定義ファイルの次のキーに指定したファイルを追加します。

csc.adapter.fileOperation.transform.all.inFormat

csc.adapter.fileOperation.transform.all.outFormat

csc.adapter.fileOperation.transform.all.styleSheet

◎

分割処理方式を選択した場合

ファイル操作アダプタ定義ファイルの次のキーに指定したファイルを追加します。

csc.adapter.fileOperation.transform.data.inFormat

csc.adapter.fileOperation.transform.data.outFormat

csc.adapter.fileOperation.transform.data.styleSheet

ヘッダレコード部を使用する（csc.adapter.fileOperation.transform.headerRecord=ON）場合は，ファイル操作アダプタ定義ファイルの次のキーに指定したファイルを追加します。

csc.adapter.fileOperation.transform.header.inFormat

csc.adapter.fileOperation.transform.header.outFormat

csc.adapter.fileOperation.transform.header.styleSheet

トレーラレコード部を使用する（csc.adapter.fileOperation.transform.trailerRecord=ON）場合は，ファイル操作アダプタ定義ファイルの次のキーに指定したファイルを追加します。

csc.adapter.fileOperation.transform.trailer.inFormat

csc.adapter.fileOperation.transform.trailer.outFormat

csc.adapter.fileOperation.transform.trailer.styleSheet

出力ファイルがXML形式（csc.adapter.fileOperation.transform.output=xml）の場合，csc.adapter.fileOperation.transform.outputTemplateXmlFileキーで指定した出力用テンプレートXMLファイルを追加します。

◎

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

注※2

設定されているcscFileOperation.properties（ファイル操作アダプタ定義ファイル）はテンプレートファイルです。必要に応じてcscFileOperation.propertiesを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。ファイル操作アダプタ定義ファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

(b)　ファイル複製オペレーション

ファイル複製オペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒151　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル複製オペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル複製（COPYオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_copy_request.xsd※が設定されています。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_copy_response.xsd※が設定されています。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル複製オペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒152　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル複製オペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※1が設定されています。

×

独自定義ファイル

cscFileOperation.properties（ファイル操作アダプタ定義ファイル）※2が設定されています。

○

（凡例）

○：任意で設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

注※2

設定されているcscFileOperation.properties（ファイル操作アダプタ定義ファイル）はテンプレートファイルです。必要に応じてcscFileOperation.propertiesを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。ファイル操作アダプタ定義ファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

(c)　ファイル移動オペレーション

ファイル移動オペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒153　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル移動オペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル移動（MOVEオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_move_request.xsd※が設定されています。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_move_response.xsd※が設定されています。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル移動オペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒154　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル移動オペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※1が設定されています。

×

独自定義ファイル

cscFileOperation.properties（ファイル操作アダプタ定義ファイル）※2が設定されています。

○

（凡例）

○：任意で設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

注※2

設定されているcscFileOperation.properties（ファイル操作アダプタ定義ファイル）はテンプレートファイルです。必要に応じてcscFileOperation.propertiesを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。ファイル操作アダプタ定義ファイルの詳細については，マニュアル「サービスプラットフォームリファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

(d)　ファイル・フォルダ削除オペレーション

ファイル・フォルダ削除オペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒155　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル・フォルダ削除オペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル削除（DELETEオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_delete_request.xsd※が設定されています。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_delete_response.xsd※が設定されています。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル・フォルダ削除オペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒156　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル・フォルダ削除オペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※1が設定されています。

×

独自定義ファイル

cscFileOperation.properties（ファイル操作アダプタ定義ファイル）※2が設定されています。

○

（凡例）

○：任意で設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

注※2

設定されているcscFileOperation.properties（ファイル操作アダプタ定義ファイル）はテンプレートファイルです。必要に応じてcscFileOperation.propertiesを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。ファイル操作アダプタ定義ファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

(e)　ファイル圧縮オペレーション

ファイル圧縮オペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒157　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル圧縮オペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル圧縮（COMPRESSオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_compress_request.xsd※が設定されています。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_compress_response.xsd※が設定されています。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル圧縮オペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒158　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル圧縮オペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※1が設定されています。

×

独自定義ファイル

cscFileOperation.properties（ファイル操作アダプタ定義ファイル）※2が設定されています。

○

（凡例）

○：任意で設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

注※2

設定されているcscFileOperation.properties（ファイル操作アダプタ定義ファイル）はテンプレートファイルです。必要に応じてcscFileOperation.propertiesを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。ファイル操作アダプタ定義ファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

(f)　ファイル伸張オペレーション

ファイル伸張オペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒159　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル伸張オペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル伸張（EXTRACTオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_extract_request.xsd※が設定されています。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_extract_response.xsd※が設定されています。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル伸張オペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒160　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル伸張オペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※1が設定されています。

×

独自定義ファイル

cscFileOperation.properties（ファイル操作アダプタ定義ファイル）※2が設定されています。

○

（凡例）

○：任意で設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

注※2

設定されているcscFileOperation.properties（ファイル操作アダプタ定義ファイル）はテンプレートファイルです。必要に応じてcscFileOperation.propertiesを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。ファイル操作アダプタ定義ファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

(g)　ファイル一覧取得オペレーション

ファイル一覧取得オペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒161　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル一覧取得オペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル一覧取得（GETLISTオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_get_list_request.xsd※が設定されています。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_get_list_response.xsd※が設定されています。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル一覧取得オペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒162　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル一覧取得オペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※1が設定されています。

×

独自定義ファイル

cscFileOperation.properties（ファイル操作アダプタ定義ファイル）※2が設定されています。

○

（凡例）

○：任意で設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

注※2

設定されているcscFileOperation.properties（ファイル操作アダプタ定義ファイル）はテンプレートファイルです。必要に応じてcscFileOperation.propertiesを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。ファイル操作アダプタ定義ファイルの詳細については，マニュアル「サービスプラットフォームリファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

(h)　ファイル一覧書き込みオペレーション

ファイル一覧書き込みオペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒163　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル一覧書き込みオペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル一覧書き込み（WRITELISTオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_write_list_request.xsd※が設定されています。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_write_list_response.xsd※が設定されています。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル一覧書き込みオペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒164　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル一覧書き込みオペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※1が設定されています。

×

独自定義ファイル

cscFileOperation.properties（ファイル操作アダプタ定義ファイル）※2が設定されています。

○

（凡例）

○：任意で設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

注※2

設定されているcscFileOperation.properties（ファイル操作アダプタ定義ファイル）はテンプレートファイルです。必要に応じてcscFileOperation.propertiesを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。ファイル操作アダプタ定義ファイルの詳細については，マニュアル「サービスプラットフォームリファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

(i)　ファイル読み込みオペレーション

ファイル読み込みオペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒165　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル読み込みオペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル読み込み（READオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_read_request.xsd※が設定されています。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

入力ファイルに従って，任意のスキーマファイルが設定されています。［any型を使う］をチェックした場合は，設定されません。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル読み込みオペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒166　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル読み込みオペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※が設定されています。

×

独自定義ファイル

何も設定しません。

×

（凡例）

×：表示されている内容を確認します。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

(j)　ファイル書き込みオペレーション

ファイル書き込みオペレーションの場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒167　ファイル操作アダプタのサービスアダプタ定義画面（基本）の設定項目（ファイル書き込みオペレーション）

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「ファイル書き込み（WRITEオペレーション）」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

出力ファイルに従って，任意のスキーマファイルが設定されています。［any型を使う］をチェックした場合は，設定されません。

×

応答電文

標準

［使う］チェックボックス

チェックしません。

−

サービス部品

電文フォーマット

adpfop_write_response.xsd※が設定されています。

×

フォルト電文

電文フォーマット

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥adpfop」です。

ファイル書き込みオペレーションの場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒168　ファイル操作アダプタのサービスアダプタ定義画面（詳細）の設定項目（ファイル書き込みオペレーション）

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

adpfoppc.jar※が設定されています。

×

独自定義ファイル

何も設定しません。

×

（凡例）

×：表示されている内容を確認します。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

(12)　メールアダプタの場合

メールアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒169　メールアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「SEND」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

サービス部品

電文フォーマット

adpmail_smtp_request.xsd※が設定されています。

×

応答電文

サービス部品

電文フォーマット

adpmail_smtp_response.xsd※が設定されています。

×

フォルト電文

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥schema¥mail」です。

メールアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。

表3‒170　メールアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscmsg_adpejb.jarが設定されています。

×

ユーティリティクラス（JARファイル）

次のユーティリティクラスが設定されています。

adpmailpc.jar※

×

独自定義ファイル

メールアダプタでは独自定義ファイルは使用しません。

−

（凡例）

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib」です。

追加したメールアダプタを編集するには，ツリービューのサービス定義一覧から，該当するメールアダプタを選択し，ダブルクリックします。

(13)　HTTPアダプタの場合

HTTPアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要または任意の値を設定することを示します。

表3‒171　HTTPアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

システム例外をフォルトに変換する（チェックボックス）

通信エラーなどのシステム例外をフォルトとして処理する場合はチェックします。

○

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

ボディ

サービス部品電文フォーマット

送信するデータに応じて次の電文フォーマットを指定します。

ノーマルモードの場合

次のファイルを指定します。

adphttp_body_form-data.xsd

adphttp_body_form-data_jwt_assertion1.xsd

adphttp_body_form-data_jwt_assertion2.xsd

adphttp_body_form-data_password.xsd

パススルーモードの場合

「3.3.13(2)(c)　電文フォーマットの作成方法」で作成した任意のスキーマファイルを指定します。

ファイルデータの場合

adphttp_body_empty.fdxを指定します。

◎

応答電文

ボディ

サービス部品電文フォーマット

受信するデータに応じて次の電文フォーマットを指定します。

パススルーモードの場合

「3.3.13(2)(c)　電文フォーマットの作成方法」で作成した任意のスキーマファイルを指定します。

ファイルデータの場合

adphttp_body_empty.fdxを指定します。

◎

フォルト電文

フォルト電文フォーマット

adphttp_fault.xsd※が設定されています。

×

（凡例）

◎：必ず設定します。

○：任意で設定します。

×：表示されている内容を確認します。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥schema」です。

HTTPアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。

表3‒172　　HTTPアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscmsg_adpejb.jarが設定されています。

×

ユーティリティクラス（JARファイル）

adphttppc.jar※1が設定されています。

×

独自定義ファイル

cscadphttp.properties※2が設定されています。

○

必要に応じてカスタムアダプタ定義ファイル（csccustomadapter.properties）※3を追加します。

○

JSON-XML変換をする場合はJSON-XML変換定義ファイル（csc_json_converter.properties）※4を追加します。

○

（凡例）

○：必要に応じて設定します。

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥lib」です。

注※2

設定されているcscadphttp.properties（HTTPアダプタ定義ファイル）はテンプレートファイルです。必要に応じてcscadphttp.propertiesを選択してから［編集］ボタンをクリックして内容を修正し，ファイルを保存してください。HTTPアダプタ定義ファイルの詳細は，マニュアル「サービスプラットフォームリファレンス」の「3.10.1　HTTPアダプタ定義ファイル」を参照してください。

注※3

カスタムアダプタ定義ファイル（csccustomadapter.properties）の詳細は，「付録B.2(4)　カスタムアダプタ定義ファイル」を参照してください。

注※4

JSON-XML変換定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.18.1　JSON-XML変換定義ファイル」を参照してください。

追加したHTTPアダプタを編集するには，ツリービューのサービス定義一覧から，該当するHTTPアダプタを選択し，ダブルクリックします。

(14)　コマンドアダプタの場合

コマンドアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要または任意の値を設定することを示します。

表3‒173　コマンドアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「EXEC」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

サービス部品

電文フォーマット

adpcmd_request.xsd※が設定されています。

×

応答電文

サービス部品

電文フォーマット

受信するデータに応じて次の電文フォーマット※を指定します。

adpcmd_response_ms932.fdx

adpcmd_response_utf8.fdx

×

フォルト電文

設定しません（フォルト電文は使用しません）。

−

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>/CSC/custom-adapter/Command/schema/」です。

コマンドアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。

表3‒174　コマンドアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscmsg_adpejb.jarが設定されています。

×

ユーティリティクラス（JARファイル）

adpcmdpc.jar※が設定されています。

×

独自定義ファイル

コマンドアダプタでは独自定義ファイルは使用しません。

−

（凡例）

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>/CSC/custom-adapter/Command/lib」です。

追加したコマンドアダプタを編集するには，ツリービューのサービス定義一覧から，該当するコマンドアダプタを選択し，ダブルクリックします。

(15)　SFTPアダプタの場合

SFTPアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒175　SFTPアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

オペレーション

次の中から使用するオペレーションを追加します。

PUT：PUT系処理

GET：GET系処理

GETINFO：GETINFO系処理

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

サービス部品

電文フォーマット

［オペレーション］の設定に応じて，次の電文フォーマット定義ファイルが設定されています。

定義パターンが「ファイル送信（PUTオペレーション）」の場合

sftpadp_put_request.xsd※

定義パターンが「ファイル受信送信（GETオペレーション）」の場合

sftpadp_get_request.xsd※

定義パターンが「ファイル情報取得（GETINFOオペレーション）」の場合

sftpadp_getinfo_request.xsd※

×

応答電文

サービス部品

電文フォーマット

［オペレーション］の設定に応じて，次の電文フォーマット定義ファイルが設定されています。

定義パターンが「ファイル送信（PUTオペレーション）」の場合

sftpadp_put_response.xsd※

定義パターンが「ファイル受信送信（GETオペレーション）」の場合

sftpadp_get_response.xsd※

定義パターンが「ファイル情報取得（GETINFOオペレーション）」の場合

sftpadp_getinfo_response.xsd※

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥SFTP¥schema」です。

SFTPアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒176　SFTPアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

ユーティリティクラス（JARファイル）

SFTPアダプタでは，次のユーティリティクラスが設定されています。

adpsftppc.jar※

×

独自定義ファイル

SFTPアダプタでは独自定義ファイルは使用しません。

−

（凡例）

×：表示されている内容を確認します。

−：設定しません。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥SFTP¥lib」です。

(16)　Kafkaアダプタの場合

Kafkaアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要または任意の値を設定することを示します。

表3‒177　Kafkaアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

サービス部品制御情報

オペレーション

「SEND」を追加します。

◎

オペレーション情報

通信モデル

「同期」を設定します。

◎

要求電文

サービス部品

電文フォーマット

ユーザが必要に応じて作成した，ボディ要求電文の電文フォーマット定義ファイルを指定します。

◎

応答電文

サービス部品

電文フォーマット

電文フォーマット定義ファイル（adpkafka_send_response.xsd※）が設定されています。

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥schema」です。

Kafkaアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒178　Kafkaアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscmsg_adpejb.jarが設定されています。

×

ユーティリティクラス（JARファイル）

Kafkaアダプタでは，次のユーティリティクラスが設定されています。

adpkafkapc.jar※1

×

独自定義ファイル

Kafkaアダプタ定義ファイル（adpkafka.properties）が設定されています。

JSON-XML変換を行う場合は，必要に応じてJSON-XML変換定義ファイル（csc_json_converter.properties※2）を指定します。

×

（凡例）

×：表示されている内容を確認します。

注※1

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥Kafka¥lib」です。

注※2

JSON-XML変換定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.18.1　JSON-XML変換定義ファイル」を参照してください。

(17)　gRPCアダプタの場合

gRPCアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要または任意の値を設定することを示します。

表3‒179　gRPCアダプタのサービスアダプタ定義画面（基本）の設定項目

分類

項目

説明

設定

オペレーション情報

通信モデル

「同期」が設定されています。

×

要求電文

ボディ

電文フォーマット

XMLスキーマファイルが設定されています。

×

応答電文

ボディ

電文フォーマット

XMLスキーマファイルが設定されています。

×

フォルト電文

フォルト名

サービス部品のフォルト名が表示されます。

×

電文フォーマット

フォルト電文フォーマット定義ファイル（adpgrpc_fault.xsd※）が設定されています。

◎

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥gRPC¥schema」です。

gRPCアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表3‒180　gRPCアダプタのサービスアダプタ定義画面（詳細）の設定項目

分類

項目

説明

設定

サービスアダプタ制御情報

独自定義ファイル

gRPCアダプタ独自定義ファイル（cscadpgrpc.properties）が設定されています。

◎

protoファイル※

サービスアダプタ定義追加（gRPCアダプタ）ウィザードで設定したprotoファイルが設定されています。

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※

protoファイルの詳細については，マニュアル「サービスプラットフォーム 解説」の「2.13.1(3)(b)　protoファイルの出力」を参照してください。

(18)　汎用カスタムアダプタの場合

汎用カスタムアダプタを定義する場合の，サービスアダプタ定義画面での設定を次の表に示します。

表3‒181　汎用カスタムアダプタのサービスアダプタ定義画面での設定

分類

項目

設定

同期

非同期

基本画面

サービス部品制御情報

サービス名

◎

◎

サービスID

◎

◎

サービス種別

×

×

アドレス

×

×

最大インスタンス数※1

◎

◎

サービスクラス名

×

×

オペレーション

◎

◎

システム例外をフォルトに変換する（チェックボックス）

○

○

オペレーション情報

オペレーション名

◎

◎

通信モデル

◎※2

◎※3

要求電文

any型を使う（チェックボックス）

○

○

使う（チェックボックス）

○

○

標準電文フォーマット

△※4

△※4

サービス部品電文フォーマット

◎

◎

データ変換定義

△※4

△※4

応答電文

any型を使う（チェックボックス）

○

−

使う（チェックボックス）

○

−

標準電文フォーマット

△※5

−

サービス部品電文フォーマット

◎

−

データ変換定義

△※5

−

フォルト電文

フォルト名

−

−

サービス部品電文フォーマット

−

−

詳細画面

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

×

×

ユーティリティクラス（JARファイル）

◎

◎

独自定義ファイル

○

○

（凡例）

◎：必ず設定します。

○：任意で設定します。

△：場合によっては必ず設定します。

×：表示されている内容を確認します。

−：該当しません。

注※1

アプリケーション統合属性ファイルの要素を独自定義ファイルとして追加した場合，サービスアダプタ定義画面で設定した値は適用されません。最大インスタンス数は，アプリケーション統合属性ファイルの要素「hitachi-application-all-property/ejb-jar/hitachi-session-bean-property/session-runtime/stateless/pooled-instance/maximum」で指定した値が設定されます。

注※2

「同期」を設定します。

注※3

「非同期」を設定します。

注※4

要求電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

注※5

応答電文の［使う］（チェックボックス）にチェックした場合，必ず設定します。

3.4　サービスアダプタの保存

サービスアダプタ定義画面で編集中のサービスアダプタの内容を，編集途中や編集終了時に保存できます。サービスアダプタの内容はリポジトリに保存されます。

データ変換定義で生成したデータ変換定義ファイルは，サービスアダプタ定義画面と同時に保存されます。

サービスアダプタを保存する手順を次に示します。

方法1

Eclipseのメニューから，［ファイル］−［保存］を選択します。

方法2

Eclipseのメニューから，［ファイル］−［すべて保管］を選択します。

方法3

サービスアダプタ定義画面で，［Ctrl］キー＋［S］キーを押します。

なお，サービスアダプタを定義する画面を閉じてサービスアダプタの定義を終了する場合に，サービスアダプタが保存されていないときは，リソース保管ダイアログが表示されます。リソース保管ダイアログでは，保存されていないサービスアダプタの定義を保存できます。

注意事項

不正なデータが入力されている場合，サービスアダプタを保存できないことがあります。その場合，表示されているメッセージに従って対処してください。

3.5　サービスアダプタの編集

保存したサービスアダプタの内容を変更できます。サービスアダプタの内容を変更するには，サービスアダプタ定義画面を表示して，内容を編集します。サービスアダプタ定義画面は，ツリービューのサービス定義一覧から，該当するサービスアダプタを選択し，ダブルクリックすると表示されます。

サービスアダプタの内容の定義方法については，「3.3　サービスアダプタの内容の定義」を参照してください。

また，電文フォーマットを変更した場合は，サービスアダプタの内容を編集してデータ変換を定義し直す必要があります。電文フォーマットを変更した場合の手順については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.2　電文フォーマットを変更した場合の定義手順」を参照してください。

3.6　サービスアダプタの検証

作成したサービスアダプタの内容が妥当かどうか検証できます。

必要なサービスアダプタ定義がない場合，または定義の関係が正しくない場合は正常に動作しません。そのため，実行環境で実行する前に，作成したサービスアダプタに必要な項目がそろっているか，それらの関係が正しいかどうかを検証できます。検証は，必要に応じて，任意のタイミングで検証できます。

3.6.1　検証方法

検証する手順を次に示します。

ツリービューのサービス定義一覧で，右クリックします。

サービス一覧のポップアップメニューが表示されます。

ポップアップメニューから「検証」を選択します。

検証結果がコンソールビューに表示されます。

また，パッケージングを実施した場合も，自動的に検証されます。

なお，検証する前にサービスアダプタが保存されていないときは，リソース保管ダイアログが表示されます。リソース保管ダイアログでは，保存されていないサービスアダプタの定義を保存できます。

3.6.2　検証内容の表示

検証結果として，メッセージがコンソールビューに表示されます。メッセージに従って，修正します。

表示されるメッセージの種類を次の表に示します。

表3‒182　メッセージの種類

種類

説明

エラー

次のどちらかの場合に表示されます。

定義の内容に誤りがある。

正しい構文で定義しているが，実行できない定義をしている。

警告

実行時にエラーになるおそれがある定義をしている場合に表示されます。

情報

追加情報が表示されます。

3.7　サービスアダプタの削除

作成したサービスアダプタを削除できます。

削除する手順を次に示します。次に示す2つの方法があります。

方法1

ツリービューのサービス定義一覧で，サービスを選択します。

［Delete］キーを押します。

削除を確認するダイアログボックスが表示されます。

［はい］ボタンをクリックします。

指定したサービスアダプタが削除されます。

方法2

ツリービューのサービス定義一覧で，サービスを選択して右クリックします。

サービス一覧のポップアップメニューが表示されます。

ポップアップメニューから「削除」を選択します。

削除を確認するダイアログボックスが表示されます。

［はい］ボタンをクリックします。

指定したサービスアダプタが削除されます。

付録

付録A　カスタム受付

ここでは，サービスリクエスタの仕様に合わせた受付処理を作成できるカスタム受付について説明します。

付録A.1　カスタム受付の概要

サービスプラットフォームでは，ユーザが任意の受付を作成できるようにカスタム受付フレームワークを提供しています。このカスタム受付フレームワーク上でユーザが作成したJ2EEアプリケーションを動作させることで，任意のプロトコルに対応した受付を開発できます。

(1)　カスタム受付の構成

カスタム受付は，開発者が作成する受付処理と，カスタム受付フレームワークから構成されるJ2EEアプリケーションです。

開発者が作成する受付処理の内容と，カスタム受付フレームワークで実行される処理の内容を次に示します。

開発者が作成する受付処理の内容

サービスリクエスタからのサービス部品呼び出し要求を受け付ける処理

カスタム受付フレームワークに要求電文を渡す処理

カスタム受付フレームワークから返ってきた応答電文を，サービスリクエスタに返す処理

カスタム受付フレームワークで実行される処理

受付処理から渡された要求電文を，HCSCメッセージ配送制御に渡す処理

HCSCメッセージ配送制御から返された応答電文を，受付処理に返す処理

HCSCデータ変換定義に従って，要求電文または応答電文のデータ変換を行う処理

HTTP受付ルーティング定義ファイルに設定された情報を基に，呼び出すサービスを選択する処理

(2)　カスタム受付フレームワークの動作の流れ

カスタム受付フレームワークは，カスタム受付を開発および動作させるためのフレームワークです。カスタム受付フレームワークでは，カスタム受付を作成するためのAPIを提供しています。APIの詳細は，「付録A.3　カスタム受付フレームワークのAPI」を参照してください。

カスタム受付フレームワークは，開発者が作成したカスタム受付を，サービスプラットフォームの実行環境で受付として動作させるための仕組みを提供しています。カスタム受付がサービス部品呼び出し要求を受けるときの，カスタム受付フレームワークの動作の流れを次の図に示します。

図A‒1　カスタム受付フレームワークの動作の流れ

受付処理は，サービスリクエスタからサービス部品呼び出し要求を受け付けます。

受付処理は，サービスリクエスタから受け取った要求電文を，カスタム受付フレームワークに渡します。

カスタム受付フレームワークは，要求電文のデータ変換をします。

カスタム受付フレームワークは，HCSCメッセージ配送制御を呼び出します。

カスタム受付フレームワークは，HCSCメッセージ配送制御から，応答電文を受け取ります。

カスタム受付フレームワークは，応答電文のデータ変換をします。

受付処理は，カスタム受付フレームワークから応答電文を受け取ります。

受付処理は，サービスリクエスタに応答電文を返します。

(3)　カスタム受付のデータ変換

カスタム受付では，カスタム受付フレームワークで要求電文および応答電文のデータ変換をします。ただし，通信モデルが非同期の場合は，応答電文のデータ変換をしません。この場合，受付処理にnullを返します。

受付処理から受け取った要求電文は，HCSCメッセージ配送制御を呼び出す前に，カスタム受付フレームワークによってデータ変換されます。ビジネスプロセスには，データ変換によって変換された要求電文が，HCSCメッセージ配送制御を経由して渡されます。ビジネスプロセスから返ってきた応答電文は，受付処理に返る前に，カスタム受付フレームワークによってデータ変換されます。サービスリクエスタには，データ変換によって変換された応答電文が，受付処理を経由して返されます。

カスタム受付でのデータの流れとデータ変換の関係を次に示します。

図A‒2　カスタム受付でのデータの流れとデータ変換の関係

要求電文および応答電文のデータ変換時の形式の組み合わせを次に示します。

(a)　要求電文のデータ変換時の形式の組み合わせ

ビジネスプロセスを呼び出したときに，カスタム受付フレームワークが実行できる要求電文のデータ変換の形式を次の表に示します。

表A‒1　カスタム受付フレームワークが実行できる要求電文のデータ変換の形式

要求電文の形式

データ変換の可否

受付電文フォーマット

サービス部品電文フォーマット

バイナリ

−（指定なし）

○

バイナリ

○

XML

○

XML

−（指定なし）

○

バイナリ

○

XML

○

（凡例）

○：変換できます。

(b)　応答電文のデータ変換時の形式の組み合わせ

ビジネスプロセスのオペレーションを呼び出したときに，カスタム受付フレームワークが実行できる応答電文のデータ変換の形式を次の表に示します。

表A‒2　カスタム受付フレームワークが実行できる応答電文のデータ変換の形式

応答電文の形式

データ変換の可否

サービス部品電文フォーマット

受付電文フォーマット

バイナリ

−（指定なし）

○

バイナリ

○

XML

○

XML

−（指定なし）

○

バイナリ

○

XML

○

（凡例）

○：変換できます。

付録A.2　カスタム受付の開発

ここでは，カスタム受付の開発について説明します。

カスタム受付は，開発環境で開発します。

(1)　開発するファイルの構成

開発環境で作成するカスタム受付EARファイルの構成を次に示します。

├ META-INF
│├ application.xml            … 1.
│├ cosminexus.xml             … 2.
│└ MANIFEST.MF                … 3.
└ 受付処理ファイル             … 4.

EARファイルのデプロイメント記述子

EARファイルのアプリケーション属性ファイル

EARファイルのマニフェストファイル

作成した受付処理のアーカイブファイル

なお，カスタム受付EARファイルの構成は変更しないでください。受付処理の動作に必要な定義情報などを使用したい場合は，カスタム受付ユーザファイルを作成してください。カスタム受付ユーザファイルについては，「付録A.2(3)(d)　カスタム受付ユーザファイル」を参照してください。

(2)　受付処理ファイルを作成する

開発者は，受付処理の実装ファイルおよび必要な定義ファイルをアーカイブして，受付処理ファイルを作成します。

注意事項

受付処理の実行時に確保したリソースは，処理が終了しても保持し続けるため，システム全体に高い負荷が掛かった場合に，Javaヒープ不足やMetaspace領域不足などが原因でOutOfMemoryErrorが発生することがあります。そのため，OutOfMemoryErrorが発生したときに適切にリソースを解放する処理や，ロールバックなどのエラー処理を実装しておく必要があります。

次に，受付処理ファイルの詳細を説明します。

(a)　受付処理ファイルの形式

受付処理ファイルの形式には，WARファイル形式またはEJB-JARファイル形式を選択できます。受付処理がサポートするプロトコルに応じて，どちらかを選択してください。

(b)　受付処理の実装に使用するライブラリ

受付処理の実装には，カスタム受付フレームワークが提供するAPIのライブラリJARファイルを使用します。受付処理の実装時には，次に示すJARファイルをクラスパスに指定する必要があります。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib¥cscmsg.jar
<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib¥cscmsg_urecp_custom.jar

(c)　受付処理の実装内容

受付処理で実装する内容は，次の1.〜3.です。

サービスリクエスタからのサービス部品呼び出し要求を受け付ける処理

カスタム受付フレームワークに要求電文を渡す処理

カスタム受付フレームワークから返ってきた応答電文を，サービスリクエスタに返す処理

なお，実装時に利用するカスタム受付フレームワークのAPIの詳細は，「付録A.3　カスタム受付フレームワークのAPI」を参照してください。

(d)　デプロイメント記述子の設定

受付処理ファイルのデプロイメント記述子を設定します。

設定する内容は任意です。

(e)　受付処理ファイルの作成

受付処理の実装ファイルおよび必要な定義ファイルをアーカイブした受付処理ファイルを作成します。

作成手順は，受付処理ファイルの形式に依存します。

なお，作成する受付処理ファイルは，「csc」で始まる名称にはしないでください。「csc」で始まる名称にした場合，動作は保証されません。

(3)　定義ファイルを作成する

カスタム受付で設定する定義ファイルは次の4つです。

デプロイメント記述子（application.xml）

アプリケーション属性ファイル（cosminexus.xml）

マニフェストファイル（MANIFEST.MF）

カスタム受付ユーザファイル

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

(a)　デプロイメント記述子（application.xml）

カスタム受付EARファイルのデプロイメント記述子を設定します。

デプロイメント記述子の設定は，サービスプラットフォームが提供するテンプレートを基に受付処理の設定を追加します。テンプレートの格納先を次に示します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥samples¥urecp¥application.xml

デプロイメント記述子のテンプレートファイルに記載されている要素および値の編集可否を次の表に示します。なお，デプロイメント記述子のDTDは，「application_1_3.dtd」です。

表A‒3　デプロイメント記述子のテンプレートファイルに記載されている要素

要素

編集可否

<?xml version="1.0" encoding="UTF-8"?>

×

<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">

×

<!-- All Rights Reserved. Copyright (C) 2010, Hitachi, Ltd. -->

×

<application>

×

　<display-name>CSCMsgCustomServiceDelivery</display-name>

×

　<description></description>

○

　<module>

○

　　<web>

○

　　　<web-uri>web-uri</web-uri>

○

　　　<context-root>context-root</context-root>

○

　　</web>

○

　</module>

○

　<module>

○

　　<ejb>ejb</ejb>

○

　</module>

○

　<module>

○

　　<java>java</java>

○

　</module>

○

</application>

×

（凡例）

○：編集できます。

×：編集できません。

(b)　アプリケーション属性ファイル（cosminexus.xml）

カスタム受付EARファイルのアプリケーション属性ファイルを設定します。

アプリケーション属性ファイルの設定は，サービスプラットフォームが提供するテンプレートを基に受付処理の設定を追加します。テンプレートの格納先を次に示します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥samples¥urecp¥cosminexus.xml

アプリケーション属性ファイルのテンプレートファイルに記載されている要素および値の編集可否を次の表に示します。なお，アプリケーション属性ファイルのDTDは「cosminexus_8_0.dtd」です。

表A‒4　アプリケーション属性ファイルのテンプレートファイルに記載されている要素

要素

編集可否

<?xml version="1.0" encoding="UTF-8"?>

×

<!DOCTYPE cosminexus-app PUBLIC "-//Hitachi, Ltd.//DTD Cosminexus 8.0//EN" "file:///C:/Program%20Files/Hitachi/Cosminexus/CC/admin/dtds/cosminexus_8_0.dtd">

×

<!-- All Rights Reserved. Copyright (C) 2010, Hitachi, Ltd. -->

×

<cosminexus-app>

×

　<start-order>180</start-order>

×

　<ejb-jar>

×

　　<module-name>cscmsg_urecp_custom.jar</module-name>

×

　　<session>

×

　　　<ejb-name>CSCMsgCustomFwInitializerEJB</ejb-name>

×

　　　<maximum-sessions>0</maximum-sessions>

×

　　　<stateless>

×

　　　　<pooled-instance>

×

　　　　　<minimum>1</minimum>

×

　　　　　<maximum>1</maximum>

×

　　　　</pooled-instance>

×

　　　</stateless>

×

　　　<start-order>10</start-order>

×

　　</session>

×

　　<session>

×

　　　<ejb-name>CSCMsgCustomOperationCallerEJB</ejb-name>

×

　　　<maximum-sessions>0</maximum-sessions>

×

　　　<stateless>

×

　　　　<pooled-instance>

×

　　　　　<minimum>0</minimum>

×

　　　　　<maximum>0</maximum>

×

　　　　</pooled-instance>

×

　　　</stateless>

×

　　　<start-order>20</start-order>

×

　　　<ejb-transaction-timeout>

×

　　　　<method>

×

　　　　　<method-name>*</method-name>

×

　　　　</method>

×

　　　　<transaction-timeout>0</transaction-timeout>

×

　　　</ejb-transaction-timeout>

×

　　</session>

×

　</ejb-jar>

×

</cosminexus-app>

×

（凡例）

×：編集できません。

注1

「csc」で始まる名称のモジュールの設定を追加（<module-name>要素に「csc」で始まる値を指定）しないでください。

注2

メソッドタイムアウト時間（<method-observation-timeout>要素，および<ejb-method-observation-timeout>要素）を設定しないでください。

注3

受付処理のJ2EEアプリケーション開始時および停止時の順序（<start-order>要素）には，50より大きい値を設定してください。

(c)　マニフェストファイル（MANIFEST.MF）

カスタム受付EARファイルのマニフェストファイル（MANIFEST.MF）を記載します。

なお，マニフェストファイルを作成するかどうかは任意です。

(d)　カスタム受付ユーザファイル

受付処理に関する設定を外部ファイル化したい場合などに，カスタム受付ユーザファイルを作成します。カスタム受付ユーザファイルは，カスタム受付フレームワークのAPIを使用して，受付処理の中で読み込むことができます。カスタム受付ユーザファイルを読み込むためのAPIの詳細は，「付録A.3　カスタム受付フレームワークのAPI」を参照してください。

カスタム受付ユーザファイルは，開発環境でカスタム受付を定義するときに，独自定義ファイルとして登録します。カスタム受付の定義については，「付録A.4　カスタム受付の定義」を参照してください。

(4)　カスタム受付EARファイルを作成する

antやjarコマンドなどを使用して，受付処理ファイルおよび定義ファイルをアーカイブしたカスタム受付EARファイルを作成します。

付録A.3　カスタム受付フレームワークのAPI

ここでは，カスタム受付フレームワークが提供するAPIについて説明します。

(1)　カスタム受付フレームワークのAPIの呼び出し順序

受付処理が，カスタム受付フレームワークのAPIを呼び出す順序を次の図に示します。

図A‒3　カスタム受付フレームワークのAPIの呼び出し順序

CSCMsgCustomServiceDeliveryFactoryクラスのnewInstanceメソッドを呼び出して，CSCMsgCustomServiceDeliveryFactoryオブジェクトを取得します。

1.で取得したCSCMsgCustomServiceDeliveryFactoryオブジェクトのcreateCSCMsgCustomServiceDeliveryメソッドを呼び出して，CSCMsgCustomServiceDeliveryオブジェクトを取得します。

2.で取得したCSCMsgCustomServiceDeliveryオブジェクトのinvokeXMLメソッドまたはinvokeBinaryメソッドを呼び出して，カスタム受付フレームワークに要求電文を渡します。

(2)　CSCMsgCustomServiceDeliveryFactoryクラス

(a)　説明

CSCMsgCustomServiceDeliveryFactoryクラスは，CSCMsgCustomServiceDeliveryFactoryオブジェクトの生成，CSCMsgCustomServiceDeliveryオブジェクトの生成などの機能を提供するファクトリクラスです。

(b)　形式

package jp.co.Hitachi.soft.csc.msg.message.reception.custom;
public abstract class CSCMsgCustomServiceDeliveryFactory {
  public static CSCMsgCustomServiceDeliveryFactory newInstance();
  public CSCMsgCustomServiceDelivery createCSCMsgCustomServiceDelivery();
}

(c)　メソッド

CSCMsgCustomServiceDeliveryFactoryクラスのメソッドを次の表に示します。

メソッド名

機能

newInstanceメソッド

CSCMsgCustomServiceDeliveryFactoryオブジェクトを生成します。

createCSCMsgCustomServiceDeliveryメソッド

CSCMsgCustomServiceDeliveryオブジェクトを生成します。

newInstanceメソッド

説明

CSCMsgCustomServiceDeliveryFactoryオブジェクトを生成します。

形式

public static CSCMsgCustomServiceDeliveryFactory newInstance();

パラメタ

なし。

例外

なし。

戻り値

CSCMsgCustomServiceDeliveryFactory

CSCMsgCustomServiceDeliveryFactoryオブジェクトを返却します。

createCSCMsgCustomServiceDeliveryメソッド

説明

CSCMsgCustomServiceDeliveryオブジェクトを生成します。

形式

public CSCMsgCustomServiceDelivery createCSCMsgCustomServiceDelivery();

パラメタ

なし。

例外

なし。

戻り値

CSCMsgCustomServiceDelivery

CSCMsgCustomServiceDeliveryオブジェクトを返却します。

(3)　CSCMsgCustomServiceDeliveryインターフェース

(a)　説明

カスタム受付の受付処理が，カスタム受付フレームワークと電文の受け渡しをするためのメソッドを提供します。また，開発環境で登録したカスタム受付ユーザファイルを取得するメソッドを提供します。

(b)　形式

package jp.co.Hitachi.soft.csc.msg.message.reception.custom;
public interface CSCMsgCustomServiceDelivery {
  public String invokeXML(String cscCorrelationID,
      String cscServiceOperationName, String msg)
      throws CSCMsgServerException;
  public byte[] invokeXML(String cscCorrelationID,
      String cscServiceOperationName, byte[] msg)
      throws CSCMsgServerException;
  public String invokeXML(String cscCorrelationID, String msg)
      throws CSCMsgServerException;
  public byte[] invokeXML(String cscCorrelationID, byte[] msg)
      throws CSCMsgServerException;

  public byte[] invokeBinary(String cscCorrelationID,
      String cscServiceOperationName,
      int requestMessageLength, byte[] msg)
      throws CSCMsgServerException;
  public byte[] invokeBinary(String cscCorrelationID,
      int requestMessageLength, byte[] msg)
      throws CSCMsgServerException;
  public InputStream getUserFile(String fileName);
  public InputStream getUserFileForExEnv(String fileName)
      throws CSCMsgServerException;
}

(c)　メソッド

CSCMsgCustomServiceDeliveryインターフェースのメソッドを次の表に示します。

メソッド名

機能

invokeXMLメソッド（形式1）

指定されたオペレーション名のサービスに対してXML電文のメッセージを送信し，その応答を返します。

invokeXMLメソッド（形式2）

指定されたオペレーション名のサービスに対してバイト配列型のXML電文のメッセージを送信し，その応答を返します。応答も，バイト配列型になります。

invokeXMLメソッド（形式3）※1

デフォルトのオペレーション名のサービスに対してXML電文のメッセージを送信し，その応答を返します。

invokeXMLメソッド（形式4）※1

デフォルトのオペレーション名のサービスに対してバイト配列型のXML電文のメッセージを送信し，その応答を返します。応答も，バイト配列型になります。

invokeBinaryメソッド（形式1）

指定されたオペレーション名のサービスに対してバイナリ電文のメッセージを送信し，その応答を返します。

invokeBinaryメソッド（形式2）※2

デフォルトのオペレーション名のサービスに対してバイナリ電文のメッセージを送信し，その応答を返します。

getUserFileメソッド

カスタム受付ユーザファイルのInputStreamを返します（非推奨メソッド）。

getUserFileForExEnvメソッド

カスタム受付ユーザファイルのInputStreamを返します。

注※1

invokeXMLメソッド（形式1）のオペレーション名を省略した場合と同等のメソッドです。

注※2

invokeBinaryメソッド（形式1）のオペレーション名を省略した場合と同等のメソッドです。

invokeXMLメソッド（形式1）

説明

指定されたオペレーション名のサービスに対してXML電文のメッセージを送信し，その応答を返します。

形式

public String invokeXML(String cscCorrelationID,
    String cscServiceOperationName, String msg)
    throws CSCMsgServerException;

パラメタ

cscCorrelationID（クライアント相関ID）

クライアント相関IDは，サービスリクエスタからの要求電文を一意に識別するための相関識別子です。

クライアント相関IDが次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・サイズ：255文字以内

・使用できる文字：半角の英数字，アンダーバー（_），ピリオド（.）およびハイフン（-）

クライアント相関IDは，サービスリクエスタからの要求電文と，HCSCサーバで管理しているログおよびトレースを対応づけるために使用します。したがって，HCSCサーバに送信した要求電文ごとに異なるIDを指定する必要があります。

クライアント相関IDを省略する場合，nullまたは空文字列（""）を指定します。

cscServiceOperationName（オペレーション名）

オペレーション名は，要求先のサービス名に対するオペレーション名です。

オペレーション名は，開発環境で定義したサービス部品のオペレーション名を指定します。

オペレーション名が次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・サイズ：255バイト以内

・使用できる文字：XMLSchemaのNCName定義文字

ユーザ定義受付定義画面のカスタム定義で定義していないオペレーション名を指定した場合，CSCMsgServerException例外をスローします。

オペレーション名を省略する（デフォルトのオペレーション名を使用する）場合，nullまたは空文字列（""）を指定します。

msg（ユーザ電文）

ユーザ電文は，サービスリクエスタからの要求電文（XML形式）です。

要求電文がない場合，nullまたは空文字列（""）を指定します。

nullまたは空文字（""）を指定してデータ変換などで変更しない場合，ビジネスプロセスに空の電文を渡します。

例外

CSCMsgServerException

次の場合にスローします。

・メソッドのパラメタに不正な値が指定された場合

・要求電文および応答電文のデータ変換でエラーが発生した場合

・要求先のサービス部品でエラーが発生した場合

戻り値

String

・通信モデルが同期の場合

　サービス部品の実行要求に対する応答電文（XML形式）を返却します。

　応答電文がない場合，nullを返却します。

・通信モデルが非同期の場合

　nullを返却します。

invokeXMLメソッド（形式2）

説明

指定されたオペレーション名のサービスに対して，バイト配列型のXML電文のメッセージを送信し，その応答を返します。応答も，バイト配列型になります。

ユーザ電文をバイト配列型で扱うカスタム受付の場合，このメソッドを使用することで，String型への変換処理を省くことができます。

形式

public byte[] invokeXML(String cscCorrelationID,
    String cscServiceOperationName, byte[] msg)
    throws CSCMsgServerException;

パラメタ

cscCorrelationID（クライアント相関ID）

クライアント相関IDは，サービスリクエスタからの要求電文を一意に識別するための相関識別子です。

クライアント相関IDが次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・サイズ：255文字以内

・使用できる文字：半角の英数字，アンダーバー（_），ピリオド（.）およびハイフン（-）

クライアント相関IDは，サービスリクエスタからの要求電文と，HCSCサーバで管理しているログおよびトレースを対応づけるために使用します。したがって，HCSCサーバに送信した要求電文ごとに異なるIDを指定する必要があります。

クライアント相関IDを省略する場合，nullまたは空文字列（""）を指定します。

cscServiceOperationName（オペレーション名）

オペレーション名は，要求先のサービス名に対するオペレーション名です。

オペレーション名は，開発環境で定義したサービス部品のオペレーション名を指定します。

オペレーション名が次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・サイズ：255バイト以内

・使用できる文字：XMLSchemaのNCName定義文字

カスタム受付定義画面で定義していないオペレーション名を指定した場合，CSCMsgServerException例外をスローします。

オペレーション名を省略する（デフォルトのオペレーション名を使用する）場合，nullまたは空文字列（""）を指定します。

msg（ユーザ電文）

ユーザ電文は，サービスリクエスタからの要求電文（XML形式）です。

要求電文がない場合，nullを指定します。

nullまたは空文字（""）を指定してデータ変換などで変更しない場合，ビジネスプロセスに空の電文を渡します。

例外

CSCMsgServerException

次の場合にスローします。

・メソッドのパラメタに不正な値が指定された場合

・要求電文および応答電文のデータ変換でエラーが発生した場合

・要求先のサービス部品でエラーが発生した場合

戻り値

byte[]

・通信モデルが同期の場合

　サービス部品の実行要求に対する応答電文（XML形式）を返却します。

　応答電文がない場合，nullを返却します。

・通信モデルが非同期の場合

　nullを返却します。

invokeXMLメソッド（形式3）

説明

デフォルトのオペレーション名のサービスに対してXML電文のメッセージを送信し，その応答を返します。

形式

public String invokeXML(String cscCorrelationID, String msg)
    throws CSCMsgServerException;

パラメタ

cscCorrelationID（クライアント相関ID）

クライアント相関IDは，サービスリクエスタからの要求電文を一意に識別するための相関識別子です。

クライアント相関IDが次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・サイズ：255文字以内

・使用できる文字：半角の英数字，アンダーバー（_），ピリオド（.）およびハイフン（-）

クライアント相関IDは，サービスリクエスタからの要求電文と，HCSCサーバで管理しているログおよびトレースを対応づけるために使用します。したがって，HCSCサーバに送信した要求電文ごとに異なるIDを指定する必要があります。

クライアント相関IDを省略する場合，nullまたは空文字列（""）を指定します。

msg（ユーザ電文）

ユーザ電文は，サービスリクエスタからの要求電文（XML形式）です。

要求電文がない場合，nullまたは空文字列（""）を指定します。

nullまたは空文字（""）を指定してデータ変換などで変更しない場合，ビジネスプロセスに空の電文を渡します。

例外

CSCMsgServerException

次の場合にスローします。

・メソッドのパラメタに不正な値が指定された場合

・要求電文および応答電文のデータ変換でエラーが発生した場合

・要求先のサービス部品でエラーが発生した場合

戻り値

String

・通信モデルが同期の場合

　サービス部品の実行要求に対する応答電文（XML形式）を返却します。

　応答電文がない場合，nullを返却します。

・通信モデルが非同期の場合

　nullを返却します。

invokeXMLメソッド（形式4）

説明

デフォルトのオペレーション名のサービスに対して，バイト配列型のXML電文のメッセージを送信し，その応答を返します。応答も，バイト配列型になります。

ユーザ電文をバイト配列型で扱うカスタム受付の場合，このメソッドを使用することで，String型への変換処理を省くことができます。

形式

public byte[] invokeXML(String cscCorrelationID, byte[] msg)
    throws CSCMsgServerException;

パラメタ

cscCorrelationID（クライアント相関ID）

クライアント相関IDは，サービスリクエスタからの要求電文を一意に識別するための相関識別子です。

クライアント相関IDが次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・サイズ：255文字以内

・使用できる文字：半角の英数字，アンダーバー（_），ピリオド（.）およびハイフン（-）

クライアント相関IDは，サービスリクエスタからの要求電文と，HCSCサーバで管理しているログおよびトレースを対応づけるために使用します。したがって，HCSCサーバに送信した要求電文ごとに異なるIDを指定する必要があります。

クライアント相関IDを省略する場合，nullまたは空文字列（""）を指定します。

msg（ユーザ電文）

ユーザ電文は，サービスリクエスタからの要求電文（XML形式）です。

要求電文がない場合，nullを指定します。

nullまたは空文字（""）を指定してデータ変換などで変更しない場合，ビジネスプロセスに空の電文を渡します。

例外

CSCMsgServerException

次の場合にスローします。

・メソッドのパラメタに不正な値が指定された場合

・要求電文および応答電文のデータ変換でエラーが発生した場合

・要求先のサービス部品でエラーが発生した場合

戻り値

byte[]

・通信モデルが同期の場合

　サービス部品の実行要求に対する応答電文（XML形式）を返却します。

　応答電文がない場合，nullを返却します。

・通信モデルが非同期の場合

　nullを返却します。

invokeBinaryメソッド（形式1）

説明

指定されたオペレーション名のサービスに対してバイナリ電文のメッセージを送信し，その応答を返します。

形式

public byte[] invokeBinary(String cscCorrelationID,
    String cscServiceOperationName, int requestMessageLength, byte[] msg)
    throws CSCMsgServerException;

パラメタ

cscCorrelationID（クライアント相関ID）

クライアント相関IDは，サービスリクエスタからの要求電文を一意に識別するための相関識別子です。

クライアント相関IDが次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・サイズ：255文字以内

・使用できる文字：半角の英数字，アンダーバー（_），ピリオド（.）およびハイフン（-）

クライアント相関IDは，サービスリクエスタからの要求電文と，HCSCサーバで管理しているログおよびトレースを対応づけるために使用します。したがって，HCSCサーバに送信した要求電文ごとに異なるIDを指定する必要があります。

クライアント相関IDを省略する場合，nullまたは空文字列（""）を指定します。

cscServiceOperationName（オペレーション名）

オペレーション名は，要求先のサービス名に対するオペレーション名です。

オペレーション名は，開発環境で定義したサービス部品のオペレーション名を指定します。

オペレーション名が次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・サイズ：255バイト以内

・使用できる文字：XMLSchemaのNCName定義文字

ユーザ定義受付定義画面で定義していないオペレーション名を指定した場合，CSCMsgServerException例外をスローします。

オペレーション名を省略する（デフォルトのオペレーション名を使用する）場合，nullまたは空文字列（""）を指定します。

requestMessageLength（ユーザ電文長）

ユーザ電文長は，要求電文の長さです。

ユーザ電文長が次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・0以上の整数値

・ユーザ電文（msgパラメタ）のバイト長以下の整数値

要求電文がない場合，0を指定します。

また，ユーザ電文（msgパラメタ）のバイト長より小さい値を指定した場合，要求電文の長さとして，ユーザ電文長（requestMessageLengthパラメタ）に指定した値を使用します。つまり，サービス部品に渡す要求電文には，ユーザ電文（msgパラメタ）のユーザ電文長（requestMessageLengthパラメタ）＋1バイト目以降は含まれません。

msg（ユーザ電文）

ユーザ電文は，サービスリクエスタからの要求電文（バイナリ形式）です。

要求電文がない場合，nullまたは0バイトのバイト配列を指定します。

nullまたは0バイトのバイト配列を指定してデータ変換などで変更しない場合，ビジネスプロセスに空の電文を渡します。

例外

CSCMsgServerException

次の場合にスローします。

・メソッドのパラメタに不正な値が指定された場合

・要求電文および応答電文のデータ変換でエラーが発生した場合

・要求先のサービス部品でエラーが発生した場合

戻り値

byte[]

・通信モデルが同期の場合

　サービス部品の実行要求に対する応答電文（バイナリ形式）を返却します。

　応答電文がない場合，nullを返却します。

・通信モデルが非同期の場合

　nullを返却します。

invokeBinaryメソッド（形式2）

説明

デフォルトのオペレーション名のサービスに対してバイナリ電文のメッセージを送信し，その応答を返します。

形式

public byte[] invokeBinary(String cscCorrelationID,
    int requestMessageLength, byte[] msg)
    throws CSCMsgServerException;

パラメタ

cscCorrelationID（クライアント相関ID）

クライアント相関IDは，サービスリクエスタからの要求電文を一意に識別するための相関識別子です。

クライアント相関IDが次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・サイズ：255文字以内

・使用できる文字：半角の英数字，アンダーバー（_），ピリオド（.）およびハイフン（-）

クライアント相関IDは，サービスリクエスタからの要求電文と，HCSCサーバで管理しているログおよびトレースを対応づけるために使用します。したがって，HCSCサーバに送信した要求電文ごとに異なるIDを指定する必要があります。

クライアント相関IDを省略する場合，nullまたは空文字列（""）を指定します。

requestMessageLength（ユーザ電文長）

ユーザ電文長は，要求電文の長さです。

ユーザ電文長が次の制限に従っていない場合，CSCMsgServerException例外をスローします。

・0以上の整数値

・ユーザ電文（msgパラメタ）のバイト長以下の整数値

要求電文がない場合，0を指定します。

また，ユーザ電文（msgパラメタ）のバイト長より小さい値を指定した場合，要求電文の長さとして，ユーザ電文長（requestMessageLengthパラメタ）に指定した値を使用します。つまり，サービス部品に渡す要求電文には，ユーザ電文（msgパラメタ）のユーザ電文長（requestMessageLengthパラメタ）＋1バイト目以降は含まれません。

msg（ユーザ電文）

ユーザ電文は，サービスリクエスタからの要求電文（バイナリ形式）です。

要求電文がない場合，nullまたは0バイトのバイト配列を指定します。

nullまたは0バイトのバイト配列を指定してデータ変換などで変更しない場合，ビジネスプロセスに空の電文を渡します。

例外

CSCMsgServerException

次の場合にスローします。

・メソッドのパラメタに不正な値が指定された場合

・要求電文および応答電文のデータ変換でエラーが発生した場合

・要求先のサービス部品でエラーが発生した場合

戻り値

byte[]

・通信モデルが同期の場合

　サービス部品の実行要求に対する応答電文（バイナリ形式）を返却します。

　応答電文がない場合，nullを返却します。

・通信モデルが非同期の場合

　nullを返却します。

getUserFileメソッド

説明

このメソッドは非推奨メソッドです。代わりにgetUserFileForExEnvメソッドを使用してください。

このメソッドでは，実行環境上で独自定義ファイルの設定機能を使用して配置された独自定義ファイルは取得できません。

パラメタに指定されたファイル名のカスタム受付ユーザファイルを読み込んで，ファイルの内容をストリームとして返します。

このメソッドは，カスタム受付ユーザファイルのファイル形式に関係なく，ストリームとしてファイルの内容をそのまま返します。このメソッドの呼び出し元で，ファイル形式に応じて処理してください（Propertiesクラスのloadメソッドでプロパティファイルとして読み込むなど）。

このメソッドで取得したストリームは，使用後に，呼び出し元で閉じてください。

形式

public InputStream getUserFile(String fileName);

パラメタ

fileName

カスタム受付ユーザファイルのファイル名です。

開発環境でカスタム受付ユーザファイルのファイル名を指定します。

使用できる文字は任意です。

例外

なし。

戻り値

InputStream

カスタム受付ユーザファイルのストリームを返却します。

パラメタに指定したファイル名のファイルが見つからなかった場合はnullを返却します。

getUserFileForExEnvメソッド

説明

パラメタに指定されたファイル名のカスタム受付ユーザファイルを次の優先順位で読み込んで，ファイルの内容をストリームとして返します。

表A‒5　読み込まれる独自定義ファイルの優先順位

優先順位

独自定義ファイルの種類

1

<HCSCサーバランタイム定義ファイルのdefinition-file-base-pathプロパティで指定したディレクトリ>¥<HCSCサーバ名>¥<受付ID>配下にあるカスタム受付ユーザファイル

2

csccmctlコマンド（-operation set）で運用環境に設定したカスタム受付ユーザファイル

3

開発環境で定義したカスタム受付ユーザファイル

このメソッドは，カスタム受付ユーザファイルのファイル形式に関係なく，ストリームとしてファイルの内容をそのまま返します。このメソッドの呼び出し元で，ファイル形式に応じて処理してください（Propertiesクラスのloadメソッドでプロパティファイルとして読み込むなど）。

このメソッドで取得したストリームは，使用後に，呼び出し元で閉じてください。

形式

public InputStream getUserFileForExEnv (String fileName)
    throws CSCMsgServerException;

パラメタ

fileName

カスタム受付ユーザファイルのファイル名です。

カスタム受付ユーザファイルのファイル名を指定します。

使用できる文字は任意です。

例外

CSCMsgServerException

次の場合にスローします。

・実行環境に配置した独自定義ファイルの読み込みに失敗した場合

戻り値

InputStream

カスタム受付ユーザファイルのストリームを返却します。

パラメタに指定したファイル名のファイルが見つからなかった場合はnullを返却します。

(4)　APIの使用例

カスタム受付フレームワークのAPIを利用して，受付処理をEJB（Stateless Session Bean）形式で実装する場合の実装例を次に示します。

MyReception.java

package com.example.sample.reception.ejb;

import javax.ejb.EJBObject;

/**
 * 受付処理(Stateless Session Bean)の実装例(Remoteインターフェース)
 */
public interface MyReception extends EJBObject {
  public String invoke(String cscCorrelationID, String cscServiceOperationName, String msg) throws RemoteException;
}

MyReceptionHome.java

package com.example.sample.reception.ejb;

import java.rmi.RemoteException;

import javax.ejb.CreateException;
import javax.ejb.EJBHome;

/**
 * 受付処理(Stateless Session Bean)の実装例(Homeインターフェース)
 */
public interface MyReceptionHome extends EJBHome {
  public MyReception create() throws RemoteException, CreateException;
}

MyReceptionBean.java

package com.example.sample.reception.ejb;

import java.rmi.RemoteException;

import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;

import jp.co.Hitachi.soft.csc.msg.message.reception.CSCMsgServerException;
import jp.co.Hitachi.soft.csc.msg.message.reception.custom.CSCMsgCustomServiceDelivery;
import jp.co.Hitachi.soft.csc.msg.message.reception.custom.CSCMsgCustomServiceDeliveryFactory;

/**
 * 受付処理(Stateless Session Bean)の実装例(Beanクラス)
 */
public class MyReceptionBean implements SessionBean {
  private static final CSCMsgCustomServiceDeliveryFactory factory =
      CSCMsgCustomServiceDeliveryFactory.newInstance();
  private CSCMsgCustomServiceDelivery delivery;
  private SessionContext context;

  public MyReceptionBean() {
  }

  public void ejbActivate() throws EJBException, RemoteException {
  }

  public void ejbCreate() throws CreateException {
    // CSCMsgCustomServiceDeliveryオブジェクトを生成
    delivery = factory.createCSCMsgCustomServiceDelivery();
  }

  public void ejbPassivate() throws EJBException, RemoteException {
  }

  public void ejbRemove() throws EJBException, RemoteException {
    // CSCMsgCustomServiceDeliveryオブジェクトを破棄
    delivery = null;
  }

  public String invoke(final String cscCorrelationID, final String cscServiceOperationName, final String msg) {
    try {
      // カスタム受付フレームワークを呼び出す
      final String response = delivery.invokeXML(cscCorrelationID, cscServiceOperationName, msg);
      return response;
    } catch (CSCMsgServerException e) {
      // カスタム受付フレームワークの例外をキャッチ
      // 例外処理を実装すること
    }
  }

  public void setSessionContext(final SessionContext sc) throws EJBException {
    context = sc;
  }
}

(5)　注意事項

カスタム受付フレームワークのAPIを呼び出す際は，カスタム受付が開始状態である必要があります。

カスタム受付の開始操作を実行後，開始状態になるまでの間にカスタム受付フレームワークのAPIを呼び出した場合はエラーが発生します。

付録A.4　カスタム受付の定義

ここでは，カスタム受付の定義について説明します。

カスタム受付の定義の流れを次の図に示します。

図A‒4　カスタム受付の定義の流れ

次に，カスタム受付の定義の流れに合わせてそれぞれの内容を説明します。

(1)　カスタム受付の追加

開発環境で作成したカスタム受付EARファイルをインポートします。

カスタム受付を新規に追加する手順を次に示します。

ツリービューのサービス定義一覧で，カスタム受付を追加するサービス（ビジネスプロセス）を選択して，右クリックします。

サービス一覧のポップアップメニューが表示されます。

ポップアップメニューから［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

［受付種別］のドロップダウンリストから，［カスタム受付］を選択します。

［次へ］ボタンをクリックします。

カスタム受付追加ウィザードが表示されます。

［受付名］と［EARファイル］を指定します。

受付名

カスタム受付の名称を1〜40バイトで指定します。

受付名は，ビジネスプロセス内で一意である必要があります。

EARファイル

インポートするEARファイルを絶対パスで指定します。相対パスやUNC形式で指定しないでください。

［...］ボタンをクリックして表示されるダイアログからEARファイルを選択することもできます。

［終了］ボタンをクリックします。

カスタム受付がビジネスプロセスに追加され，ユーザ定義受付定義画面が表示されます。

ユーザ定義受付定義画面の詳細は，マニュアル「サービスプラットフォーム リファレンス」の「1.2.5　ユーザ定義受付定義画面」を参照してください。

(2)　カスタム受付の定義の確認

カスタム受付をインポートしたあとに，定義された内容を確認してください。カスタム受付の内容は，ユーザ定義受付定義画面で確認できます。ユーザ定義受付定義画面は，カスタム受付追加ウィザードでカスタム受付を追加したあとに表示されます。

ユーザ定義受付定義画面を任意のタイミングで表示したい場合は，次の手順で表示させてください。

ツリービューのサービス定義一覧で，カスタム受付をダブルクリックします。

ユーザ定義受付定義画面が表示されます。

(3)　カスタム受付の定義の編集

ユーザ定義受付定義画面で，受付名，受付ID，オペレーション名などインポート済みのカスタム受付の定義を編集します。

ユーザ定義受付定義画面を任意のタイミングで表示させる手順については，「(2)　カスタム受付の定義の確認」を参照してください。また，ユーザ定義受付定義画面および入力できる値については，マニュアル「サービスプラットフォーム リファレンス」の「1.2.5　ユーザ定義受付定義画面」を参照してください。

(4)　カスタム受付の定義の保存

ユーザ定義受付定義画面で編集中のカスタム受付を編集途中や編集終了時に保存できます。カスタム受付の内容はリポジトリに保存されます。

ユーザ定義受付定義画面を閉じてカスタム受付の定義を終了する場合に，カスタム受付が保存されていないときは，リソース保管ダイアログが表示されます。リソース保管ダイアログでは，保存されていないカスタム受付の定義を保存できます。

カスタム受付を保存する方法を次に示します。

方法1

Eclipseのメニューから，［ファイル］−［保存］を選択します。

方法2

Eclipseのメニューから，［ファイル］−［すべて保管］を選択します。

方法3

Eclipseのツールバーの，［保存］アイコンをクリックします。

方法4

ユーザ定義受付定義画面で，［Ctrl］キー＋［S］キーを押します。

なお，不正なデータが入力されている場合，カスタム受付を保存できないことがあります。その場合，表示されているメッセージに従って対処してください。

(5)　リポジトリのエクスポート

定義したカスタム受付を含むリポジトリは，1つのZIPファイルにして，指定したディレクトリに保存することができます。

リポジトリをエクスポートする手順を次に示します。

Eclipseのメニューから，［HCSC-Definer］−［定義情報管理］−［全定義情報エクスポート］を選択します。

［リポジトリエクスポート］ダイアログが表示されます。

保存するディレクトリを指定し，保存するZIPファイルのファイル名を入力します。

［保存］ボタンをクリックします。

指定したディレクトリにZIPファイルが保存されます。

保存先のディレクトリに同じファイル名称のファイルがある場合，上書きを確認するダイアログが表示されます。上書きしてよいときは，［はい］ボタンをクリックして保存します。

付録A.5　カスタム受付の運用

ここでは，カスタム受付の運用について説明します。

カスタム受付の運用の流れを次の図に示します。

図A‒5　カスタム受付の運用の流れ

次に，カスタム受付の運用の流れに合わせてそれぞれの内容を説明します。

(1)　リポジトリのインポート

開発環境で作成したカスタム受付を運用環境で使用する場合，ZIPファイル形式で保存されたリポジトリ情報をリポジトリにインポートします。インポートする方法については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「4.3　リポジトリのインポート」を参照してください。

リポジトリにインポートするには，cscrepctlコマンドを実行します。詳細は，マニュアル「サービスプラットフォーム リファレンス」の「cscrepctl（インポート/エクスポート）」を参照してください。

(2)　カスタム受付の配備

カスタム受付を配備するには，運用環境でcsccompodeployコマンドを実行します。詳細は，マニュアル「サービスプラットフォーム リファレンス」の「csccompodeploy（HCSCコンポーネントの配備）」を参照してください。

カスタム受付を実行環境に配備する場合の前提条件，および配備方法は，ユーザ定義受付を配備する方法と同じです。詳細は，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「3.1.14　ユーザ定義受付を配備する」を参照してください。

(3)　カスタム受付のアプリケーション統合属性ファイルの取得

カスタム受付のアプリケーション統合属性ファイルを取得するときの前提条件，および取得方法について説明します。

(a)　前提条件

カスタム受付のアプリケーション統合属性ファイルを取得するには，HCSCサーバが起動状態である必要があります。

HCSCサーバの状態の確認方法については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「5.3.16　HCSCサーバの情報を確認する」を参照してください。

(b)　取得方法

カスタム受付のアプリケーション統合属性ファイルを取得するには，運用環境でcsccompoconfigコマンドを実行します。

詳細は，マニュアル「サービスプラットフォーム リファレンス」の「csccompoconfig（HCSCコンポーネントの定義）」を参照してください。

csccompoconfigコマンドの実行形式を次に示します。

csccompoconfig -user <ログインユーザID> -pass <ログインパスワード> -operation get -csc <HCSCサーバ名> -name <カスタム受付の受付ID>

(4)　カスタム受付のアプリケーション統合属性ファイルの定義情報の設定

カスタム受付のアプリケーション統合属性ファイルの定義情報を設定するときの前提条件，および設定方法について説明します。

(a)　前提条件

カスタム受付のアプリケーション統合属性ファイルの定義情報を設定するには，HCSCサーバが起動状態である必要があります。

HCSCサーバの状態の確認方法については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「5.3.16　HCSCサーバの情報を確認する」を参照してください。

(b)　設定方法

カスタム受付のアプリケーション統合属性ファイルの定義情報を設定するには，運用環境でcsccompoconfigコマンドを実行します。

詳細は，マニュアル「サービスプラットフォーム リファレンス」の「csccompoconfig（HCSCコンポーネントの定義）」を参照してください。

csccompoconfigコマンドの実行形式を次に示します。

HCSCサーバに配備されているカスタム受付に定義情報を設定する場合

HCSCサーバ名，およびカスタム受付の受付IDを指定して実行します。

指定したHCSCサーバ上のカスタム受付に，アプリケーション統合属性ファイルで指定した定義情報が設定されます。

csccompoconfig -user <ログインユーザID> -pass <ログインパスワード> -operation set -propfile <アプリケーション統合属性ファイル> -csc <HCSCサーバ名> -name <カスタム受付の受付ID>

クラスタ内のHCSCサーバに配備されているカスタム受付に定義情報を設定する場合

クラスタ名，およびカスタム受付の受付IDを指定して実行します。

指定したクラスタに配備されているカスタム受付に，アプリケーション統合属性ファイルで指定した定義情報が設定されます。

csccompoconfig -user <ログインユーザID> -pass <ログインパスワード> -operation set -propfile <アプリケーション統合属性ファイル> -cluster <クラスタ名> -name <カスタム受付の受付ID>

(5)　カスタム受付の開始

カスタム受付を開始するときの前提条件，および開始方法について説明します。

(a)　前提条件

カスタム受付を開始するには，次の条件を満たしている必要があります。

HCSCサーバが起動状態であること。

カスタム受付が定義されているビジネスプロセスが開始状態であること。

HCSCサーバの状態の確認方法については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「5.3.16　HCSCサーバの情報を確認する」を参照してください。

(b)　開始方法（画面の場合）

運用環境の画面を利用してカスタム受付を開始する手順を次に示します。

ツリービュー上で，開始するユーザ定義受付（カスタム受付）をダブルクリックします。

ダブルクリックしたカスタム受付の情報がエディタエリアの稼働運用ページに表示されます。

カスタム受付の稼働運用ページの内容については，マニュアル「サービスプラットフォーム リファレンス」の「4.4　稼働運用ページ」のユーザ定義受付稼働運用に関する説明を参照してください。

稼働運用ページに表示された内容を確認し，［開始］ボタンをクリックします。

カスタム受付の開始を確認するダイアログが表示されます。

ダイアログに表示された内容を確認し，［OK］ボタンをクリックします。

カスタム受付の開始処理が開始されます。開始処理中のログはコンソールビューに出力されます。

［キャンセル］ボタンをクリックした場合は，開始処理を実行しないで稼働運用ページに戻ります。

カスタム受付の開始処理が完了すると，実行結果を示すダイアログが表示されます。

実行結果を示すダイアログを確認します。

開始処理が成功した場合

［OK］ボタンをクリックして，稼働運用ページに戻ります。

稼働運用ページでは，カスタム受付の稼働状態が「開始状態」になります。また，［開始］ボタンが非活性化し，［停止］ボタンが活性化します。

開始処理が失敗した場合

ダイアログにエラーの内容が表示されます。詳細情報に表示されるメッセージIDを参照して対処してください。

(c)　開始方法（コマンドの場合）

カスタム受付を開始するには，運用環境でcsccompostartコマンドを実行します。

詳細は，マニュアル「サービスプラットフォーム リファレンス」の「csccompostart（HCSCコンポーネントの開始）」を参照してください。

csccompostartコマンドの実行形式を次に示します。

クラスタ内のすべてのHCSCサーバに配備されているカスタム受付を一括して開始する場合（クラスタ単位）

クラスタ名と-allオプションを指定して実行します。

-clusterオプションで指定したクラスタ内のすべてのHCSCサーバに配備されているカスタム受付が一括して開始されます（開始されていないサービスアダプタおよびビジネスプロセスも同時にすべて開始されます）。

csccompostart -user <ログインユーザID> -pass <ログインパスワード> -cluster <クラスタ名> -all

HCSCサーバに配備されているカスタム受付を一括して開始する場合（HCSCサーバ単位）

HCSCサーバ名と-allオプションを指定して実行します。

-cscオプションで指定したHCSCサーバに配備されているカスタム受付が開始されます（開始されていないサービスアダプタおよびビジネスプロセスも同時にすべて開始されます）。

csccompostart -user <ログインユーザID> -pass <ログインパスワード> -csc <HCSCサーバ名> -all

クラスタ内のすべてのHCSCサーバに配備されている特定のカスタム受付を開始する場合

クラスタ名とカスタム受付の受付IDを指定して実行します。

csccompostart -user <ログインユーザID> -pass <ログインパスワード> -cluster <クラスタ名> -name <カスタム受付の受付ID>

HCSCサーバに配備されている特定のカスタム受付を開始する場合

HCSCサーバ名とカスタム受付の受付IDを指定して実行します。

csccompostart -user <ログインユーザID> -pass <ログインパスワード> -csc <HCSCサーバ名> -name <カスタム受付の受付ID>

(6)　カスタム受付の情報の確認

カスタム受付の情報を参照するには，cscsvclsコマンドを実行します。詳細は，マニュアル「サービスプラットフォーム リファレンス」の「cscsvcls（サービス情報の表示）」を参照してください。

cscsvclsコマンドを実行すると，開発環境または運用環境に設定されている定義ファイルのファイル名とその状態を確認できます。確認する方法については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「3.1.7　サービス情報を確認する」を参照してください。

(7)　カスタム受付の停止

カスタム受付を停止するときの前提条件，および停止方法について説明します。

(a)　前提条件

カスタム受付を停止するには，次の条件を満たしている必要があります。

HCSCサーバが起動状態であること

HCSCサーバの状態の確認方法については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「5.3.16　HCSCサーバの情報を確認する」を参照してください。

カスタム受付が開始状態であること

カスタム受付の状態の確認方法は，ユーザ定義受付の状態を確認する方法と同じです。詳細は，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「5.3.21　ユーザ定義受付の情報を確認する」を参照してください。

(b)　停止方法

カスタム受付を停止するには，運用環境でcsccompostopコマンドを実行します。

詳細は，マニュアル「サービスプラットフォーム リファレンス」の「csccompostop（HCSCコンポーネントの停止）」を参照してください。

csccompostopコマンドの実行形式を次に示します。

クラスタ内のすべてのHCSCサーバに配備されているカスタム受付を一括して停止する場合（クラスタ単位）

クラスタ名と-allオプションを指定して実行します。

-clusterオプションで指定したクラスタ内のすべてのHCSCサーバに配備されているカスタム受付が一括して停止されます（停止されていないサービスアダプタおよびビジネスプロセスも同時にすべて停止されます）。

csccompostop -user <ログインユーザID> -pass <ログインパスワード> -cluster <クラスタ名> -all

HCSCサーバに配備されているカスタム受付を一括して停止する場合（HCSCサーバ単位）

HCSCサーバ名と-allオプションを指定して実行します。

-cscオプションで指定したHCSCサーバに配備されているカスタム受付が停止されます（停止されていないサービスアダプタおよびビジネスプロセスも同時にすべて停止されます）。

csccompostop -user <ログインユーザID> -pass <ログインパスワード> -csc <HCSCサーバ名> -all

クラスタ内のすべてのHCSCサーバに配備されている特定のカスタム受付を停止する場合

クラスタ名とカスタム受付の受付IDを指定して実行します。

csccompostop -user <ログインユーザID> -pass <ログインパスワード> -cluster <クラスタ名> -name <カスタム受付の受付ID>

HCSCサーバに配備されている特定のカスタム受付を停止する場合

HCSCサーバ名とカスタム受付の受付IDを指定して実行します。

csccompostop -user <ログインユーザID> -pass <ログインパスワード> -csc <HCSCサーバ名> -name <カスタム受付の受付ID>

なお，csccompostopコマンドの停止処理では，CSCが保持するカスタム受付の状態を「停止状態」に更新してからカスタム受付のアプリケーションを停止します。カスタム受付の停止処理中にリクエストを受信した場合，CSCが保持するカスタム受付と，カスタム受付のアプリケーションが両方とも起動していれば，リクエストは正常に受け付けられます。

(8)　配備済みのカスタム受付の削除

実行環境に配備済みのカスタム受付を削除するには，運用環境でcsccompoundeployコマンドを実行します。詳細は，マニュアル「サービスプラットフォーム リファレンス」の「csccompoundeploy（配備済みのHCSCコンポーネントの削除）」を参照してください。

配備済みのカスタム受付を削除する場合の前提条件，および削除方法は，ユーザ定義受付を削除する方法と同じです。削除する方法については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「3.3.3　ユーザ定義受付を削除する」を参照してください。

(9)　リポジトリの再インポート

運用環境にリポジトリをインポートしたあとに，開発環境でカスタム受付の定義を編集した場合，次の手順でリポジトリを再インポートします。

リポジトリのエクスポート

編集後の定義を保存したリポジトリをエクスポートします。

リポジトリのエクスポートは開発環境で実行します。

リポジトリのエクスポートの詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「3.2.2　リポジトリをエクスポートする」を参照してください。

リポジトリのインポート

開発環境でエクスポートしたリポジトリを運用環境にインポートします。

リポジトリのインポートの詳細は，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「4.3　リポジトリのインポート」を参照してください。

付録A.6　カスタム受付のチューニング

ここでは，カスタム受付の同時実行数，およびトランザクションタイムアウトの設定方法について説明します。

(1)　同時実行数の設定方法（カスタム受付）

同時実行数の設定方法を次に示します。

(a)　受付処理の場合

受付処理の同時実行数は，受付処理の処理内容に合わせて，カスタム受付の開発時および運用時に設定できます。

カスタム受付開発時の設定

受付処理の処理内容に合わせて，アプリケーション属性ファイル（cosminexus.xml）の要素に値を設定します。

カスタム受付運用時の設定

受付処理の処理内容に合わせて，アプリケーション統合属性ファイルの要素に値を設定します。

アプリケーション属性ファイル（cosminexus.xml）の詳細は，マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション／リソース定義)」の「2.　アプリケーション属性ファイル（cosminexus.xml）」を参照してください。アプリケーション統合属性ファイルの詳細は，マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション／リソース定義)」の「3.1　アプリケーション統合属性ファイル」を参照してください。

(b)　カスタム受付フレームワークの場合

カスタム受付フレームワークの同時実行数は，カスタム受付の開発時には設定できません。カスタム受付の運用時に設定できます。

アプリケーション統合属性ファイルの要素に値を設定します。

設定する要素については，次に示すXPath式を参照してください。

//hitachi-application-all-property/ejb-jar/hitachi-ejb-jar-property/display-name[.='cscmsg_urecp_custom']/../../hitachi-session-bean-property/display-name[.='CSCMsgCustomServiceDelivery']/../session-runtime/stateless/pooled-instance/minimum

//hitachi-application-all-property/ejb-jar/hitachi-ejb-jar-property/display-name[.='cscmsg_urecp_custom']/../../hitachi-session-bean-property/display-name[.='CSCMsgCustomServiceDelivery']/../session-runtime/stateless/pooled-instance/maximum

(2)　トランザクションタイムアウト時間の設定方法（カスタム受付）

トランザクションタイムアウト時間の設定方法を次に示します。

(a)　受付処理の場合

受付処理のトランザクションタイムアウトは，受付処理の実装形式に合わせて，カスタム受付の開発時および運用時に設定できます。

カスタム受付開発時の設定

受付処理の処理内容に合わせて，アプリケーション属性ファイル（cosminexus.xml）の要素に値を設定します。

カスタム受付運用時の設定

受付処理の処理内容に合わせて，アプリケーション統合属性ファイルの要素に値を設定します。

アプリケーション属性ファイル（cosminexus.xml）の詳細は，マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション／リソース定義)」の「2.　アプリケーション属性ファイル（cosminexus.xml）」を参照してください。アプリケーション統合属性ファイルの詳細は，マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション／リソース定義)」の「3.1　アプリケーション統合属性ファイル」を参照してください。

(b)　カスタム受付フレームワークの場合

カスタム受付フレームワークのトランザクションタイムアウト時間は，カスタム受付の開発時には設定できません。カスタム受付の運用時に設定できます。

アプリケーション統合属性ファイルの要素に値を設定します。

設定する要素については，次に示すXPath式を参照してください。

//hitachi-application-all-property/ejb-jar/hitachi-ejb-jar-property/display-name[.='cscmsg_urecp_custom']/../../hitachi-session-bean-property/display-name[.='CSCMsgCustomServiceDelivery']/../ejb-transaction-timeout/method/method-name[.='*']/../../transaction-timeout

付録A.7　カスタム受付でのエラーの伝わり方

サービスリクエスタからカスタム受付を使用してサービス部品を呼び出すときに，障害が発生すると，サービスリクエスタにエラーがリターンします。ここでは，エラーが発生した個所からサービスリクエスタまでどのようにエラーが伝わるかについて説明します。

(1)　サービス部品からユーザ定義例外のエラーがリターンした場合（ビジネスプロセスを使用するとき）

ここでは，サービス部品からユーザ定義例外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のエラーの伝わり方を説明します。

(a)　フォルト処理で障害情報をサービス電文にデータ変換しない場合

サービス部品からユーザ定義例外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方（フォルト処理なし）を次の図に示します。

図A‒6　サービス部品からユーザ定義例外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方（フォルト処理なし）

サービス部品で発生した例外は，そのまま例外としてカスタム受付フレームワークに伝わります。その例外をキャッチしたカスタム受付フレームワークは，CSCMsgServerExceptionを受付処理に再スローします。

(b)　フォルト処理で障害情報をサービス電文にデータ変換する場合

サービス部品からユーザ定義例外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方（フォルト処理あり）を次の図に示します。

図A‒7　サービス部品からユーザ定義例外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方（フォルト処理あり）

サービス部品で発生した例外は，そのまま例外としてビジネスプロセスのフォルト処理に伝わります。そのあと，ビジネスプロセスのフォルト処理でその障害情報を応答電文にデータ変換し，障害情報を含んだ応答電文として，以降の処理に返します。この場合，HCSCメッセージ配送制御を経由して，カスタム受付フレームワークに応答電文が返ります。カスタム受付フレームワークは，通常の応答電文と同様，その応答電文を受付処理に返します。

(2)　サービス部品からユーザ定義例外以外のエラーがリターンした場合（ビジネスプロセスを使用するとき）

ここでは，サービス部品からユーザ定義例外以外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のエラーの伝わり方を説明します。

(3)　HCSCサーバからエラーがリターンした場合（ビジネスプロセスを使用するとき）

ここでは，HCSCサーバからエラーがリターンした場合（ビジネスプロセスを使用するとき）のエラーの伝わり方を説明します。

HCSCサーバからエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方を次の図に示します。

図A‒8　HCSCサーバからエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方

図中の各エラーには，次に示すケースが該当します。

エラー1：要求パラメタ不正など

エラー2：宛先（ロケーション）が見つからない，サービスアダプタが停止しているなど

エラー3：データ変換に失敗したなど

エラー4：宛先不正，サービス部品が停止，通信障害など

エラー5：ビジネスプロセス処理上での例外エラーなど

HCSCサーバで図中のエラー1〜エラー5のどれかを検知した場合，カスタム受付フレームワークは，発生したエラーの情報をCSCMsgServerExceptionで，受付処理にスローします。

(a)　フォルト処理で障害情報をサービス電文にデータ変換しない場合

サービス部品からユーザ定義例外以外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方（フォルト処理なし）を次の図に示します。

図A‒9　サービス部品からユーザ定義例外以外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方（フォルト処理なし）

サービス部品で想定外の例外が発生した場合，RuntimeException（システム例外）としてカスタム受付フレームワークに伝わります。その例外をキャッチしたカスタム受付フレームワークは，キャッチしたRuntimeException（システム例外）を，そのまま受付処理に再スローします。

(b)　フォルト処理で障害情報をサービス電文にデータ変換する場合

サービス部品からユーザ定義例外以外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方（フォルト処理あり）を次の図に示します。

図A‒10　サービス部品からユーザ定義例外以外のエラーがリターンした場合（ビジネスプロセスを使用するとき）のカスタム受付でのエラーの伝わり方（フォルト処理あり）

サービス部品で発生した例外は，そのまま例外としてビジネスプロセスのフォルト処理に伝わります。そのあと，ビジネスプロセスのフォルト処理でその障害情報を応答電文にデータ変換し，障害情報を含んだ応答電文として，以降の処理に返します。この場合，HCSCメッセージ配送制御を経由して，カスタム受付フレームワークに応答電文が返ります。カスタム受付フレームワークは，通常の応答電文と同様，その応答電文を受付処理に返します。

(4)　ファイルイベント受付がエラーを検知した場合

ここでは，ファイル監視中にファイルイベント受付でエラーを検知した場合の要因の特定と対処方法について説明します。

ファイルイベント受付がエラーを検知する個所を次の図に示します。

図A‒11　ファイルイベント受付がエラーを検知する個所

ファイルイベント受付で検知するエラーは，監視対象のファイルによって異なります。

●更新完了通知ファイルを監視する場合

図中のエラーが発生する要因を次に示します。

取得対象ファイルが存在しない

ロックファイルの作成失敗

ロックファイルのロック取得失敗

ロックファイルのロック解放失敗

更新完了通知ファイルのリネーム失敗

ファイルイベント受付は，障害の内容を基にメッセージテキストを作成し，メッセージログに出力します。ファイルイベントトレースを確認し，次の対策をしてください。

ファイルイベントトレースの取得ポイント「IN」にトレースが出力されている場合

ビジネスプロセス内での処理は正常終了しているため，回復処理としてメッセージログに出力されるエラーメッセージを参照し，対策をしてください。

ファイルイベントトレースの取得ポイント「IN」にトレースが出力されていない場合

メッセージログに出力されるエラーメッセージを参照し，対策をしてください。対策したあとで，更新完了通知ファイルがリネームされている場合は，再度ファイル転送・データ連携ソフトウェアから更新完了通知ファイルを作成することで対処できます。リネームされていない場合は，次のファイル監視の間隔でエラーが検知されます。

●取得対象ファイルを監視する場合

図中のエラーが発生する要因を次に示します。

取得対象ファイルが存在しない

ロックファイルの作成失敗

ロックファイルのロック取得失敗

ロックファイルのロック解放失敗

取得対象ファイルのリネーム失敗

ファイルイベント受付は，障害の内容を基にメッセージテキストを作成し，メッセージログに出力します。ファイルイベントトレースを確認し，次の対策をしてください。

ファイルイベントトレースの取得ポイント「IN」にトレースが出力されている場合

ビジネスプロセス内での処理は正常終了しているため，メッセージログに出力されるエラーメッセージを参照し，対策をしてください。

ファイルイベントトレースの取得ポイント「IN」にトレースが出力されていない場合

メッセージログに出力されるエラーメッセージを参照し，対策をしてください。対策した後で，取得対象ファイルがリネームされている場合は，再度ファイル転送・データ連携ソフトウェアから取得対象ファイルを作成することで対処できます。リネームされていない場合は，次のファイル監視の間隔でエラーが検知されます。

参考

リネーム後の取得対象ファイルが残っている場合は，ファイルイベントトレースを確認し，該当するファイルに関する処理が終了しているか確認します。

処理が終了している場合は，リネーム後の取得対象ファイルを削除できます。

再度ファイル転送・データ連携ソフトウェアから取得対象ファイルを作成する場合は，リネーム後の取得対象ファイルを削除してから行う必要があります。

付録A.8　障害情報の取得（カスタム受付）

カスタム受付の運用時に障害が発生すると，障害対策に必要な次の情報が出力されます。

メッセージログ

リクエストトレース

性能解析トレース

ユーザ電文トレース

ここでは，ログおよび各種トレースの取得方法について説明します。

(1)　メッセージログ（カスタム受付）

メッセージログは，次に示すログに出力されます。

HCSC-Managerのログ

統合メッセージログ

J2EEサーバの稼働ログ

メッセージログの取得方法および出力先については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「7.4.1　メッセージログ」に関する内容を参照してください。また，詳細は，マニュアル「サービスプラットフォーム メッセージ」の「2.　メッセージ一覧」を参照してください。

(2)　リクエストトレース（カスタム受付）

リクエストトレースは，リクエストの障害要因の解析に使用します。

(a)　リクエストトレースの取得ポイント

リクエストトレースの取得ポイントを次の図に示します。

図A‒12　リクエストトレースの取得ポイント

詳細位置，およびトレース取得ポイントを次の表に示します。なお，表の「図中の番号」は，図中の番号と対応しています。

表A‒6　リクエストトレースの取得ポイント

図中の番号

詳細位置

トレース取得ポイント

1

IN

カスタム受付フレームワークの入口

2

OUT

カスタム受付フレームワークの出口

(b)　リクエストトレースの出力形式と出力内容

出力形式

リクエストトレースの出力形式については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「7.4.2　リクエストトレース」を参照してください。

出力内容

リクエストトレースに出力される内容を次の表に示します。

表A‒7　リクエストトレースに出力される内容

項目

内容

番号

トレースレコードの出力通番が出力されます。

日付

トレースレコードの取得日付（yyyy/mm/dd形式）が出力されます。

時刻

トレースレコードの取得時刻（hh:mm:ss.SSS形式）が，ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を識別するためのIDが出力されます。

CSCMSG：メッセージング基盤

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

−

メッセージ共通ID

リクエスト識別情報（親ID）が出力されます。

サービスリクエストID

リクエスト識別情報（子ID）が出力されます。

取得ポイント識別情報

取得位置

トレースの取得ポイント情報（取得位置）が出力されます。

URCP：ユーザ定義受付

プロトコル種別

トレースの取得ポイント情報（プロトコル種別）が出力されます。

CUSTM：カスタム受付

詳細位置

トレースの取得ポイント情報（詳細位置）が出力されます。

IN：受付

OUT：応答

名称

−

アダプタ種別

−

結果

応答結果種別が出力されます。ただし，詳細位置がINの場合は，出力されません。

NORMAL：正常終了

ERROR：異常終了

付加情報

応答結果の付加情報が出力されます。

受付名

受付ID

クライアント相関ID

サービス名

サービスオペレーション名

CRLF

レコード終端符号が出力されます。

（凡例）

−：何も出力されません。

(c)　リクエストトレースの取得方法と出力先

リクエストトレースの取得方法と出力先については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「7.4.2　リクエストトレース」を参照してください。

(3)　性能解析トレース（カスタム受付）

性能解析トレース（PRFトレース）は，サービスプラットフォームシステムの性能解析をするためのトレース情報で，それをCSV形式で編集出力したテキストファイルが性能解析トレースファイルです。性能解析トレースは，J2EEアプリケーションを含めた，システム全体の性能ボトルネックを解析するための情報が出力されます。システムの性能ネックや性能トラブルシュートに使用します。性能解析トレース機能については，マニュアル「アプリケーションサーバ機能解説 保守／移行編」の「7.　性能解析トレースを使用した性能解析」を参照してください。

(a)　性能解析トレースの取得ポイント

性能解析トレースの取得ポイントを次の図に示します。

図A‒13　性能解析トレースの取得ポイント

イベントID，トレース取得ポイント，および性能解析トレース取得レベルを次の表に示します。なお，表の「図中の番号」は，図中の番号と対応しています。

表A‒8　性能解析トレースの取得ポイント

イベントID

図中の番号

トレース取得ポイント

レベル

0x9860

1

カスタム受付フレームワークの入口

A

0x9861

2

カスタム受付フレームワークの出口

A

0x9862

3

データ変換（要求電文）の呼び出し口

B

0x9863

4

データ変換（要求電文）の応答受信口

B

0x9864

5

HCSCメッセージ配送制御の呼び出し口

A

0x9865

6

HCSCメッセージ配送制御の応答受信口

A

0x9866

7

データ変換（応答電文）の呼び出し口

B

0x9867

8

データ変換（応答電文）の応答受信口

B

0x986e※

9

カスタム受付フレームワークのJSON-XML変換（要求電文）の呼び出し口

B

0x986f※

10

カスタム受付フレームワークのJSON-XML変換（応答電文）の応答受信口

B

（凡例）

A：「標準」であることを示します。

B：「詳細」であることを示します。

注※

JSON-XML変換をする場合だけ出力されます。

(b)　性能解析トレースの出力形式と出力内容

出力形式

性能解析トレースファイルに出力される形式は，J2EEサーバの性能解析トレースと同様です。性能解析トレースファイルの詳細は，マニュアル「アプリケーションサーバ 機能解説 保守／移行編」の「7.3　Management Serverを利用した性能解析トレースファイルの収集」を参照してください。

出力内容

性能解析トレースファイルに出力される内容を次の表に示します。

表A‒9　性能解析トレースファイルに出力される内容

項目

内容

イベントID

取得ポイントのイベントIDが出力されます。

リターンコード

取得ポイント種別が出力されます。

0：正常終了

1：異常終了

インターフェース名

クラス名が出力されます。

パッケージ名は表示されません。

オペレーション名

メソッド名が出力されます。

オプション情報

次のオプション情報が出力されます。

リクエスト識別情報（親ID）

リクエスト識別情報（子ID）

受付名

受付ID

クライアント相関ID

サービス名

サービスオペレーション名

例外クラス名（異常終了時だけ）

(c)　性能解析トレースの取得方法と出力先

性能解析トレースファイルの取得方法および出力先は，アプリケーションサーバおよびサービスプラットフォーム全体で共通です。性能解析トレースファイルの取得方法および出力先については，マニュアル「アプリケーションサーバ 機能解説 保守／移行編」の「7.3　Management Serverを利用した性能解析トレースファイルの収集」を参照してください。

(4)　ユーザ電文トレース（カスタム受付）

ユーザ電文トレースは，電文の状態を確認するために使用します。

(a)　ユーザ電文トレースの取得ポイント

ユーザ電文トレースの取得ポイントを次の図に示します。

図A‒14　ユーザ電文トレースの取得ポイント

詳細位置，およびトレース取得ポイントを次の表に示します。なお，表の「図中の番号」は，図中の番号と対応しています。

表A‒10　ユーザ電文トレースの取得ポイント

図中の番号

詳細位置

トレース取得ポイント

1

IN

カスタム受付フレームワークの入口

2

OUT

カスタム受付フレームワークの出口

3

RQA※1

データ変換（要求電文）の応答口

4

RSB※1

データ変換（応答電文）の呼び出し口

5

ERR※2

カスタム受付フレームワークのサービス呼び出し

注※1

データ変換をする場合だけトレースを取得します。

注※2

サービス呼び出しでエラー（システム例外またはフォルト）を検出した場合だけ，要求電文のトレースを取得します。

(b)　ユーザ電文トレースの出力形式と出力内容

出力形式

ユーザ電文トレースの出力形式については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「7.4.4　ユーザ電文トレース」を参照してください。

出力内容

トレース開始時にユーザ電文トレースに出力される内容を次の表に示します。

表A‒11　ユーザ電文トレースに出力される内容（トレース開始）

項目

内容

番号

トレースレコードの出力通番が出力されます。

日付

トレースレコードの取得日付（yyyy/mm/dd形式）が出力されます。

時刻

トレースレコードの取得時刻（hh:mm:ss.SSS形式）が，ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を識別するためのIDが出力されます。

CSCMSG：メッセージング基盤

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

−

電文トレース開始取得ポイント識別情報

電文トレース開始

ユーザ電文トレース開始を示す文字列「telegramtrace started」が出力されます。

取得位置

トレースの取得ポイント情報（取得位置）が出力されます。

URCP：ユーザ定義受付

プロトコル種別

トレースの取得ポイント情報（プロトコル種別）が出力されます。

CUSTM：カスタム受付

詳細位置

トレースの取得ポイント情報（詳細位置）が出力されます。

IN：受付

OUT：応答

RQA：カスタム受付での要求時のデータ変換後

RSB：カスタム受付での応答時のデータ変換前

メッセージ共通ID

リクエスト識別情報（親ID）が出力されます。

付加情報

次の付加情報が出力されます。

リクエスト識別情報（子ID）（Service Request ID）

受付名（Reception Name）

受付ID（Reception ID）

クライアント相関ID（Client ID）

サービス名（Service Name）

サービスオペレーション名（OP）

PRFルートアプリケーション情報（RootApInfo）

CRLF

レコード終端符号が出力されます。

（凡例）

−：何も出力されません。

HCSCサーバランタイム定義ファイルにtelegramtrace-format=FIXEDを指定した場合のユーザ電文トレースデータに出力される内容を次の表に示します。

表A‒12　ユーザ電文トレースに出力される内容（telegramtrace-format=FIXEDを指定した場合）

項目

内容

番号

トレースレコードの出力通番が出力されます。

日付

トレースレコードの取得日付（yyyy/mm/dd形式）が出力されます。

時刻

トレースレコードの取得時刻（hh:mm:ss.SSS形式）が，ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を識別するためのIDが出力されます。

CSCMSG：メッセージング基盤

CSCBP：ビジネスプロセス

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

−

電文トレースデータ情報

出力位置

ユーザ電文の先頭からのオフセット値（16進数形式）が出力されます。

データ

（16進数形式）

ユーザ電文の内容（16進数形式）が出力されます。

データ

（ASCII形式）

ユーザ電文の内容（ASCII形式）が出力されます。

0x20〜0x7Eの範囲の場合にASCII文字が出力されます。

0x00〜0x1F，0x7F〜0xFFの範囲の場合は，ピリオド（.）が出力されます。

CRLF

レコード終端符号が出力されます。

（凡例）

−：何も出力されません。

注

SOAPメッセージの場合，ユーザ電文トレースデータにはユーザ電文に含まれる次の情報が出力されます。

・soap:Header要素を含む複数の子要素

・soap:Body要素の1つの子要素

なお，soap:Header要素が存在しない場合は，soap:Body要素の子要素だけが情報として出力されます。

HCSCサーバランタイム定義ファイルにtelegramtrace-format=READABLEを指定した場合，16進数形式データとUTF-8形式データの出力内容が異なります。それぞれの出力形式を次の表に示します。

表A‒13　ユーザ電文トレースデータに出力される内容（telegramtrace-format=READABLEを指定した場合）（16進数形式データ）

項目

内容

番号

トレースレコードの出力通番が表示されます。

日付

トレースレコードの取得日付（yyyy/mm/dd形式）が出力されます。

時刻

トレースレコードの取得時刻（hh:mm:ss.SSS形式）が，ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を特定するための識別子が出力されます。

CSCMSG：メッセージング基盤

CSCBP：ビジネスプロセス

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

−

電文トレースデータ情報

出力位置（16進数形式）

ユーザ電文の先頭からのオフセット値が16進数形式で出力されます。

データ（16進数形式）

ユーザ電文の内容が16進数形式で出力されます。

CRLF

レコード終端符号が出力されます。

（凡例）

−：何も出力されません。

注

SOAPメッセージの場合，ユーザ電文トレースデータにはユーザ電文に含まれる次の情報が出力されます。

・soap:Header要素を含む複数の子要素

・soap:Body要素の1つの子要素

soap:Header要素が存在しない場合は，soap:Body要素の子要素だけが情報として出力されます。

表A‒14　ユーザ電文トレースデータに出力される内容（telegramtrace-format=READABLEを指定した場合）（UTF-8形式データ）

項目

内容

番号

トレースレコードの出力通番が表示されます。

日付

トレースレコードの取得日付（yyyy/mm/dd形式）が出力されます。

時刻

トレースレコードの取得時刻（hh:mm:ss.SSS形式）が，ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を特定するための識別子が出力されます。

CSCMSG：メッセージング基盤

CSCBP：ビジネスプロセス

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

−

電文トレースデータ情報

データ（UTF-8形式）

ユーザ電文をUTF-8形式で出力します。

0x20〜0x7Eの範囲にある文字は，ASCII文字として出力します。

次の範囲にある文字は，ピリオド（.）を出力します。

0x00〜0x08

0x0B〜0x0C

0x0E〜0x1F

0x7F

0x09の場合は，水平タブを出力します。

改行コード（0x0aまたは0x0d）は出力しません。

0xFE〜0xFFの範囲にある文字は，クエスチョンマーク（?）を出力します。

マルチバイト文字として正しく記述されている場合は，マルチバイト文字を出力します※。

CRLF

レコード終端符号が出力されます。

（凡例）

−：何も出力されません。

注1

SOAPメッセージの場合，ユーザ電文トレースデータにはユーザ電文に含まれる次の情報が出力されます。

・soap:Header要素を含む複数の子要素

・soap:Body要素の1つの子要素

なお，soap:Header要素が存在しない場合は，soap:Body要素の子要素だけが情報として出力されます。

注2

ユーザ電文トレースの1行の長さは最大4,185バイトです。それを超えた分は次の行に出力されます。4,185バイト目のデータがマルチバイト文字の場合，マルチバイト文字は次の行に出力されます。

注※

マルチバイト文字の文字コードの割り当て範囲を次の表に示します。

表A‒15　UTF-8のマルチバイト文字の割り当て範囲

区分

文字コードの範囲（16進数）

2バイト文字の開始バイト

0xC0〜0xDF

3バイト文字の開始バイト

0xE0〜0xEF

4バイト文字の開始バイト

0xF0〜0xF7

5バイト文字の開始バイト

0xF8〜0xFB

6バイト文字の開始バイト

0xFC〜0xFD

マルチバイト文字の2バイト目以降

0x80〜0xBF

なお，この範囲内でも出力するデータの並びが文字セットにとって不当な場合や，出力するデータの並びが正当でも有効な文字に対応付けできない場合は，クエスチョンマーク（?）を出力します。

トレース終了時にユーザ電文トレースに出力される内容を次の表に示します。

表A‒16　ユーザ電文トレースに出力される内容（トレース終了）

項目

内容

番号

トレースレコードの出力通番が出力されます。

日付

トレースレコードの取得日付（yyyy/mm/dd形式）が出力されます。

時刻

トレースレコードの取得時刻（hh:mm:ss.SSS形式）が，ローカル時刻でミリ秒単位に出力されます。

製品ID

製品を識別するためのIDが出力されます。

CSCMSG：メッセージング基盤

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

−

電文トレース終了取得ポイント識別情報

電文トレース終了

ユーザ電文トレース終了を示す文字列「telegramtrace ended」が出力されます。

取得位置

トレースの取得ポイント情報（取得位置）が出力されます。

URCP：ユーザ定義受付

プロトコル種別

トレースの取得ポイント情報（プロトコル種別）が出力されます。

CUSTM：カスタム受付

詳細位置

トレースの取得ポイント情報（詳細位置）が出力されます。

IN：受付

OUT：応答

RQA：カスタム受付での要求時のデータ変換後

RSB：カスタム受付での応答時のデータ変換前

メッセージ共通ID

リクエスト識別情報（親ID）が出力されます。

付加情報

ユーザ電文の長さ（10進数形式）が出力されます。ユーザ電文がない場合は「null」が出力されます。

CRLF

レコード終端符号が出力されます。

（凡例）

−：何も出力されません。

(c)　ユーザ電文トレースの取得方法と出力先

ユーザ電文トレースの取得方法と出力先については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「7.4.4　ユーザ電文トレース」を参照してください。

付録B　カスタムアダプタ開発フレームワーク

カスタムアダプタ開発フレームワークを使用した汎用カスタムアダプタの開発について説明します。

付録B.1　カスタムアダプタ開発フレームワークのAPI

ここでは，サービスプラットフォームが提供するカスタムアダプタ開発フレームワークのAPIについて説明します。

カスタムアダプタ開発フレームワークで定義されているインターフェースおよび例外クラスは，次の場所に格納されています。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib¥csc_adapter.jar

汎用カスタムアダプタをコンパイルするときは，このJARファイルをクラスパスに含めてください。

(1)　プロトコルコンバータインターフェース

(a)　CSCMsgCustomProtocolConverterインターフェース

説明

プロトコルコンバータを実装するためのインターフェースです。

CSCMsgCustomProtocolConverterのパッケージ名は，jp.co.Hitachi.soft.csc.msg.adapter.customです。

形式

public interface CSCMsgCustomProtocolConverter
{
  public void start()
          throws CSCMsgCustomAdapterException;
  public void stop();
  public void setCustomAdapterContext(CSCMsgCustomAdapterContext adapterContext);
  public void invoke(CSCMsgRequestMessage requestMessage,
                     CSCMsgResponseMessage responseMessage)
          throws CSCMsgCustomAdapterException;
}

メソッド

CSCMsgCustomProtocolConverterインターフェースのメソッドを次の表に示します。

メソッド名

説明

startメソッド

汎用カスタムアダプタが開始されるときに呼び出されるメソッドです。プロトコルコンバータ開始処理を実装します。

このメソッドは，一度だけ呼び出されます。

stopメソッド

汎用カスタムアダプタが終了されるときに呼び出されるメソッドです。プロトコルコンバータ終了処理を実装します。

このメソッドは，一度だけ呼び出されます。

setCustomAdapterContextメソッド

アダプタコンテキストが設定されるときに呼び出されるメソッドです。与えられたアダプタコンテキストをプロトコルコンバータのインスタンスフィールドに格納する処理を記述します。

このメソッドは，一度だけ呼び出されます。

invokeメソッド

汎用カスタムアダプタを介してサービス部品を呼び出すときに呼び出されるメソッドです。サービス部品を呼び出す処理を記述します。

このメソッドは，サービスアダプタの呼び出し要求があるたびに呼び出されます。

カスタムアダプタ開発フレームワークからの各メソッドの呼び出し順序を次の図に示します。

図B‒1　カスタムアダプタ開発フレームワークからの各メソッドの呼び出し順序

1. コンストラクタ

プロトコルコンバータは，汎用カスタムアダプタ開始時に，カスタムアダプタ開発フレームワークから呼び出されたデフォルトコンストラクタによってインスタンス化されます。

2. setCustomAdapterContextメソッド

プロトコルコンバータクラスがインスタンス化された直後に，カスタムアダプタ開発フレームワークから呼ばれます。このメソッドは，汎用カスタムアダプタの開始時に一度だけ呼ばれます。引数として受け取ったアダプタコンテキストは，プロトコルコンバータのインスタンスフィールドに保持してください。

3. startメソッド

setServiceAdapterInfoメソッドの直後にカスタムアダプタ開発フレームワークから呼ばれます。このメソッドは，汎用カスタムアダプタの開始時に一度だけ呼ばれます。

4. invokeメソッド

サービス部品呼び出し処理時にカスタムアダプタ開発フレームワークから呼ばれます。このメソッドで，プロトコル変換とサービス呼び出し処理を行います。

5. stopメソッド

汎用カスタムアダプタがHCSCサーバから削除される直前にカスタムアダプタ開発フレームワークから呼ばれます。汎用カスタムアダプタの終了時処理を行います。このメソッドは，汎用カスタムアダプタの終了時に一度だけ呼ばれます。

注意事項

publicなデフォルトコンストラクタ

カスタムアダプタ開発フレームワークは，このインターフェースを実装したクラスをインスタンス化するときに，デフォルトコンストラクタを使用します。そのため，このインターフェースを実装したクラスでは，publicなデフォルトコンストラクタを実装する必要があります。

マルチスレッド

プロトコルコンバータは，複数の汎用カスタムアダプタのインスタンスから共有されるため，スレッドセーフなクラスを実装する必要があります。

例外の送出

CSCMsgCustomProtocolConverterの各メソッドでは，指定された例外だけ送出できます。java.lang.RuntimeExceptionおよびその派生クラスは送出しないでください。送出した場合，動作は保証されません。

●startメソッド

説明

汎用カスタムアダプタが開始されるときに呼び出されるメソッドです。

汎用カスタムアダプタのライフサイクルを通じて使用するリソースは，このメソッドで確保することを推奨します。

形式

public void start()
  throws CSCMsgCustomAdapterException;

パラメタ

なし。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgCustomAdapterException：

startメソッドの実行に失敗した場合に発生させます。

戻り値

なし。

●stopメソッド

説明

汎用カスタムアダプタ終了時に呼び出されるメソッドです。汎用カスタムアダプタの終了処理を記述します。

形式

public void stop();

パラメタ

なし。

例外

なし。

戻り値

なし。

●setCustomAdapterContextメソッド

説明

アダプタコンテキストが設定されるときに呼び出されるメソッドです。

このメソッドのあとに必ずstartメソッドを呼び出します。

このメソッドで受け取ったアダプタコンテキストインターフェースは，汎用カスタムアダプタのライフサイクルを通じて保持する必要があります。

形式

public void setCustomAdapterContext(CSCMsgCustomAdapterContext adapterContext);

パラメタ

adapterContext：

CSCMsgCustomAdapterContextのリファレンスが渡されます。

例外

なし。

戻り値

なし。

●invokeメソッド

説明

汎用カスタムアダプタを経由してサービス部品を呼び出すときに，呼び出されるメソッドです。サービス部品を呼び出す処理を記述します。

requestMessageに格納されている要求電文を基にサービス部品を呼び出します。

通信モデルが同期の場合，応答電文はresponseMessageを格納します。

通信モデルが非同期の場合，responseMessageにはnullが渡されます。

形式

public void invoke (CSCMsgRequestMessage requestMessage,
                    CSCMsgResponseMessage responseMessage)
  throws CSCMsgCustomAdapterException;

パラメタ

requestMessage：

要求電文が格納されたCSCMsgRequestMessageのリファレンスが渡されます。

responseMessage：

通信モデルが同期の場合，応答電文を格納するCSCMsgResponseMessageのリファレンスが渡されます。通信モデルが非同期通信の場合，nullが渡されます。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgCustomAdapterException：

invokeメソッドの実行に失敗した場合に発生させます。

戻り値

なし。

(2)　アダプタコンテキストインターフェース

(a)　CSCMsgCustomAdapterContextインターフェース

説明

プロトコルコンバータがアダプタ情報を取得するためのインターフェースです。CSCMsgCustomAdapterContextのパッケージ名は，jp.co.Hitachi.soft.csc.msg.adapter.customです。

アダプタコンテキストインターフェースは，汎用カスタムアダプタ開始処理の直前に，setCustomAdapterContextメソッドの引数として入力されます。プロトコルコンバータでは，この引数をインスタンスフィールドとして保持し，必要な情報を取得します。

形式

public interface CSCMsgCustomAdapterContext
{
  public String getAdapterName();
  public Properties getProperties();
  public byte[] getResourceAsBytes(String fileName)
    throws CSCMsgResourceAccessException;
  public java.io.InputStream getResourceAsStream(String fileName)
    throws CSCMsgResourceAccessException;
}

メソッド

CSCMsgCustomAdapterContextインターフェースのメソッドを次の表に示します。

メソッド名

説明

getAdapterNameメソッド

汎用カスタムアダプタの名称を取得します。

getPropertiesメソッド

カスタムアダプタプロパティファイルの内容をPropertiesとして取得します。

getResourceAsBytesメソッド

独自定義ファイルの内容をバイナリ形式で取得します。

getResourceAsStreamメソッド

独自定義ファイルにアクセスするためのストリームを取得します。

●getAdapterNameメソッド

説明

汎用カスタムアダプタの名称を取得します。

形式

public String getAdapterName();

パラメタ

なし。

例外

なし。

戻り値

汎用カスタムアダプタの名称を返却します。

●getPropertiesメソッド

説明

カスタムアダプタプロパティファイルの内容をPropertiesとして取得します。

形式

public Properties getProperties();

パラメタ

なし。

例外

なし。

戻り値

プロパティファイルの内容を返却します。

●getResourceAsBytesメソッド

説明

次の優先順位によって，独自定義ファイルの内容をバイナリ形式で取得します。

表B‒1　独自定義ファイルの優先順位

優先順位

独自定義ファイルの種類

1

<HCSCサーバランタイム定義ファイルのdefinition-file-base-pathプロパティで指定したディレクトリ>¥<HCSCサーバ名>¥<サービスID>配下にある独自定義ファイル

2

csccmctlコマンド（-operation set）で運用環境に設定した独自定義ファイル

3

開発環境で定義した独自定義ファイル

形式

public byte[] getResourceAsBytes(String fileName)
  throws CSCMsgResourceAccessException;

パラメタ

fileName：

アクセスしたい独自定義ファイル名を指定します。

例外

CSCMsgResourceAccessException：

fileNameで指定したリソースが見つからなかった，またはjava.io.IOExceptionが発生しました。

戻り値

独自定義ファイルの内容をバイナリ形式で返却します。

●getResourceAsStreamメソッド

説明

次の優先順位によって，独自定義ファイルにアクセスするためのストリームを取得します。

表B‒2　独自定義ファイルの優先順位

優先順位

独自定義ファイルの種類

1

<HCSCサーバランタイム定義ファイルのdefinition-file-base-pathプロパティで指定したディレクトリ>¥<HCSCサーバ名>¥<サービスID>配下にある独自定義ファイル

2

csccmctlコマンド（-operation set）で運用環境に設定した独自定義ファイル

3

開発環境で定義した独自定義ファイル

形式

public java.io.InputStream getResourceAsStream(String fileName)
  throws CSCMsgResourceAccessException;

パラメタ

fileName：

アクセスしたい独自定義ファイル名を指定します。

例外

CSCMsgResourceAccessException：

fileNameで指定したリソースが見つからなかった，またはjava.io.IOExceptionが発生しました。

戻り値

独自定義ファイルの内容をストリーム形式で返却します。

注意事項

このメソッドで取得したストリームをstaticなフィールドに割り当てないでください。メモリリークが発生するおそれがあります。

(3)　メッセージインターフェース

HCSCサーバとプロトコルコンバータの間でメッセージを交換するためのインターフェースの一覧を次の表に示します。

表B‒3　メッセージ操作に使用するAPIの一覧

インターフェース名

説明

CSCMsgMessageConstantインターフェース

メッセージの操作に必要な定数を定義します。

CSCMsgRequestMessageインターフェース

サービス部品呼び出しに必要な情報（オペレーション名，電文など）を取得するためのメソッドを提供します。

CSCMsgResponseMessageインターフェース

サービス部品呼び出し結果（電文またはフォルト情報）を格納するためのメソッドを提供します。

(a)　CSCMsgMessageConstantインターフェース

説明

プロトコルコンバータがメッセージの操作に必要な定数を定義するインターフェースです。CSCMsgMessageConstantのパッケージ名は，jp.co.Hitachi.soft.csc.msg.adapter.customです。

プロトコルコンバータで要求メッセージに格納されている電文の種類，または応答メッセージに格納する電文の種類を確認するためにこの定数を使用します。

形式

public interface CSCMsgMessageConstant
{
  public static final int MESSAGE_TYPE_NONE;
  public static final int MESSAGE_TYPE_XML;
  public static final int MESSAGE_TYPE_BINARY;
  public static final int MESSAGE_TYPE_ANY;
}

メンバ属性

MESSAGE_TYPE_NONE：

電文が格納されていないことを示します。

MESSAGE_TYPE_XML：

電文の形式がXML形式(DOM形式)であることを示します。

MESSAGE_TYPE_BINARY：

電文の形式がバイナリであることを示します。

MESSAGE_TYPE_ANY：

電文の形式が任意形式であることを示します。

(b)　CSCMsgRequestMessageインターフェース

説明

サービス部品の呼び出しに必要な情報（オペレーション名，電文など）を取得するためのメソッドを提供するインターフェースです。

CSCMsgRequestMessageのパッケージ名は，jp.co.Hitachi.soft.csc.msg.adapter.customです。

形式

public interface CSCMsgRequestMessage
{
  public byte[] getBytes()
          throws CSCMsgIllegalMessageTypeException,
                 CSCMsgInvalidMessageException;
  public Map getMessageContext();
  public int getMessageType();
  public String getOperationName();
  public org.w3c.dom.Document getXMLDocument()
          throws CSCMsgIllegalMessageTypeException,
                 CSCMsgInvalidMessageException;
  public byte[] getXMLBytes()
          throws CSCMsgIllegalMessageTypeException,
                 CSCMsgInvalidMessageException;
}

メソッド

CSCMsgRequestMessageインターフェースのメソッドを次の表に示します。

メソッド名

説明

getBytesメソッド

バイナリ形式の電文を取得します。

getMessageContextメソッド

ビジネスプロセス経由で汎用カスタムアダプタを呼び出した場合に経由したビジネスプロセスに関する情報を返却します。

getMessageTypeメソッド

要求メッセージに格納されている電文の種別を取得します。

getOperationNameメソッド

サービス部品呼び出し時に呼び出すオペレーションの名称を取得します。

getXMLDocumentメソッド

XML形式の電文を取得します。

getXMLBytesメソッド

XML形式の電文をバイト配列で取得します。

●getBytesメソッド

説明

バイナリ形式の電文を取得します。

形式

public byte[] getBytes()
  throws CSCMsgIllegalMessageTypeException,
         CSCMsgInvalidMessageException;

パラメタ

なし。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgIllegalMessageTypeException：

電文の形式がバイナリではありません。または，電文が格納されている状態です。電文の種別がXML形式の場合は，このメソッドを使用して電文を取得することはできません。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgInvalidMessageException：

格納されている電文が不正です。

戻り値

設定されている電文の種別がバイナリ形式（MESSAGE_TYPE_BINARY）の場合，バイト配列で応答を返します。

電文が格納されていない（MESSAGE_TYPE_NONE）場合，0バイトのバイト配列（長さ0の配列）を返します。

注意事項

このメソッドで取得したバイナリ電文（バイト配列）については，変更しても問題ありません。

このメソッドを実行したときに，オブジェクトのコピーを作成します。そのため，再度このメソッドを発行すると，変更前のオブジェクトを再取得することになるので注意してください。

●getMessageContextメソッド

説明

ビジネスプロセス経由で汎用カスタムアダプタを呼び出した場合は経由したビジネスプロセスに関する情報を返却します。

返却される情報の形式はjava.util.Mapです。

返却されるMapは，Collections#unmodifiableMap()が返したオブジェクトです。

そのため，変更できません。

また，返却されるMapは同期化されないため複数スレッドで共有する場合は排他処理が必要です。

なお，ビジネスプロセスを経由しない呼び出しの場合は次の表のHCSCサーバ名からJ2EEサーバ名までの情報だけが返却されるMapに含まれます。

表B‒4　取得情報一覧

情報種別

Mapの内容

説明

要素

値

要素名

要素の型

値の型

ビジネスプロセス名

CSCMsgCustomAdapterConstant.ContextType.BP_DEFINITION_NAME

enum

java.lang.String

汎用カスタムアダプタの呼び出し元のビジネスプロセス名※1

ビジネスプロセスのバージョン

CSCMsgCustomAdapterConstant.ContextType.BP_VERSION

enum

java.lang.String

汎用カスタムアダプタの呼び出し元のビジネスプロセスのバージョン※1

サービス呼出アクティビティ名

CSCMsgCustomAdapterConstant.ContextType.BP_INVOKEACTIVITY_NAME

enum

java.lang.String

汎用カスタムアダプタの呼び出し元のビジネスプロセスのサービス呼出アクティビティ名※1

汎用カスタムアダプタのサービス名

CSCMsgCustomAdapterConstant.ContextType.BP_INVOKEACTIVITY_CUSTOMADAPTERNAME

enum

java.lang.String

サービス呼出アクティビティから呼び出される汎用カスタムアダプタのサービス名※1

オペレーション名

CSCMsgCustomAdapterConstant.ContextType.BP_INVOKEACTIVITY_OPERATIONNAME

enum

java.lang.String

サービス呼出アクティビティのオペレーション名※1※2

プロセスインスタンスID

CSCMsgCustomAdapterConstant.ContextType.BP_PROCESSINSTANCEID

enum

java.lang.String

プロセスインスタンスID※1

HCSCサーバ名

CSCMsgCustomAdapterConstant.ContextType.SERVERNAME_HCSC

enum

java.lang.String

HCSCサーバ名

クラスタ名

CSCMsgCustomAdapterConstant.ContextType.SERVERNAME_CLUSTER

enum

java.lang.String

クラスタ名

J2EEサーバ名

CSCMsgCustomAdapterConstant.ContextType.SERVERNAME_J2EE

enum

java.lang.String

J2EEサーバ名

注※1

ここで取得できる情報は該当の汎用カスタムアダプタを呼び出したビジネスプロセスの情報です。

BP1 → BP2 → 汎用カスタムアダプタのように，ビジネスプロセスからビジネスプロセスを呼び出す場合はBP1の情報は取得できません。

注※2

サービス呼出アクティビティから呼び出される汎用カスタムアダプタに複数のオペレーションが定義されている場合は，そのリクエスト処理で呼び出されるオペレーションだけ取得できます。

形式

public Map getMessageContext();

パラメタ

なし。

例外

なし。

戻り値

java.util.Map

●getMessageTypeメソッド

説明

要求メッセージに格納されている電文の種別を取得します。

形式

public int getMessageType();

パラメタ

なし。

例外

なし。

戻り値

要求メッセージに格納されている電文の種別を返却します。返却される値については，「付録B.1(3)(a)　CSCMsgMessageConstantインターフェース」を参照してください。ただし，任意形式の汎用カスタムアダプタを作成した場合は，電文の種別に関係なく，「MESSAGE_TYPE_ANY」を返却します。

●getOperationNameメソッド

説明

サービス部品呼び出し時に呼び出すオペレーションの名称を取得します。

形式

public String getOperationName();

パラメタ

なし。

例外

なし。

戻り値

呼び出すオペレーションの名称を返却します。

●getXMLDocumentメソッド

説明

XML形式の電文を取得します。

形式

public org.w3c.dom.Document getXMLDocument()
  throws CSCMsgIllegalMessageTypeException,
         CSCMsgInvalidMessageException;

パラメタ

なし。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgIllegalMessageTypeException：

電文の形式がXML形式ではありません。または，電文が格納されている状態です。電文の種別がバイナリ形式の場合は，このメソッドを使用して電文を取得することはできません。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgInvalidMessageException：

格納されている電文が不正です。

戻り値

設定されている電文の種別がXML形式（MESSAGE_TYPE_XML）の場合，DOM形式のオブジェクトで応答を返します。

電文が格納されていない（MESSAGE_TYPE_NONE）場合，nullを返します。

注意事項

このメソッドで取得したXML電文（DOM）については，変更しても問題ありません。

このメソッドを実行したときに，オブジェクトのコピーを作成します。そのため，再度このメソッドを発行すると，変更前のオブジェクトを再取得することになるので注意してください。

任意形式の汎用カスタムアダプタを作成した場合，このメソッドを実行するとエラー（KDEC03016-E）になり，電文を取得できません。この場合は，getBytesメソッドを使用してください。

●getXMLBytesメソッド

説明

XML形式の電文をバイト配列で取得します。

StAXなどを利用して電文を読み込む場合，このメソッドを利用することでメモリ使用量を削減できます。

形式

public byte[] getXMLBytes()
  throws CSCMsgIllegalMessageTypeException,
         CSCMsgInvalidMessageException;

パラメタ

なし。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgIllegalMessageTypeException：

電文の形式がXML形式ではありません。

電文の種別がバイナリ形式の場合は，このメソッドを使用して電文を取得することはできません。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgInvalidMessageException：

格納されている電文が不正です。

戻り値

設定されている電文の種別がXML形式（MESSAGE_TYPE_XML）の場合，バイト配列形式のオブジェクトで応答を返します。

電文が格納されていない（MESSAGE_TYPE_NONE）場合，nullを返します。

注意事項

このメソッドで取得したXML電文（バイト配列）については，変更しても問題ありません。

このメソッドを実行したときに，オブジェクトのコピーを作成します。そのため，再度このメソッドを発行すると，変更前のオブジェクトを再取得することになるので注意してください。

XML ProcessorのStAXを利用してXML電文を読み込む場合，次の点に注意してください。

・XMLバージョン1.1の電文を設定した場合，例外が発生します。

・ISO-10646-UCS-4エンコーディングを使用した場合，例外が発生します。

・XML文書に「:」で始まる要素名が含まれる場合，例外になりません。

・XML文書中の文字データの中に，CDATAセクション終了区切り子（"]]>"）が単独で含まれる場合，例外になりません。

・空要素の場合，開始タグと終了タグだけが出力されます。

　（例）<sample></sample>

(c)　CSCMsgResponseMessageインターフェース

説明

サービス部品呼び出し結果（電文またはフォルト情報）を格納するためのメソッドを提供するインターフェースです。

CSCMsgResponseMessageのパッケージ名は，jp.co.Hitachi.soft.csc.msg.adapter.customです。

形式

public interface CSCMsgResponseMessage
{
  public int getMessageType();
  public void setBytes(byte[] message)
          throws CSCMsgIllegalMessageTypeException,
                 CSCMsgMultipleMessageInsertionException,
                 CSCMsgInvalidMessageException;
  public void setFault(String faultCode,
                       String faultString,
                       String faultActor,
                       byte[] faultDetail)
          throws CSCMsgMultipleMessageInsertionException;
  public void setFault(String faultCode,
                       String faultString,
                       String faultActor,
                       org.w3c.dom.Document faultDetail)
          throws CSCMsgMultipleMessageInsertionException,
                 CSCMsgInvalidMessageException;
  public void setXMLDocument(org.w3c.dom.Document dom)
          throws CSCMsgIllegalMessageTypeException,
                 CSCMsgMultipleMessageInsertionException,
                 CSCMsgInvalidMessageException;
  public void setXMLBytes(byte[] byte)
          throws CSCMsgIllegalMessageTypeException,
                 CSCMsgMultipleMessageInsertionException,
                 CSCMsgInvalidMessageException;
}

メソッド

CSCMsgResponseMessageインターフェースのメソッドを次の表に示します。

メソッド名

説明

getMessageTypeメソッド

応答メッセージに格納する電文の種別を取得します。

setBytesメソッド

応答メッセージにバイナリ形式の電文を格納します。

setFaultメソッド（形式1）

サービス部品を呼び出すときに発生したフォルト情報を格納します。

setFaultメソッド（形式2）

サービス部品を呼び出すときに発生したフォルト情報を格納します。

setXMLDocumentメソッド

応答メッセージにXML形式の電文を格納します。

setXMLBytesメソッド

応答メッセージに，XML形式の電文をバイト配列で格納します。

●getMessageTypeメソッド

説明

応答メッセージに格納する電文の種別を取得します。

形式

public int getMessageType();

パラメタ

なし。

例外

なし。

戻り値

応答メッセージに格納する電文の種別を返却します。ただし，任意形式の汎用カスタムアダプタを作成した場合は，電文の種別に関係なく，「MESSAGE_TYPE_ANY」を返却します。

MESSAGE_TYPE_NONE：

電文を格納しません。

MESSAGE_TYPE_XML：

電文の種別がXML形式の電文を格納します。

MESSAGE_TYPE_BINARY：

電文の種別がバイナリ形式の電文を格納します。

●setBytes メソッド

説明

応答メッセージにバイナリ形式の電文を格納します。

形式

public void setBytes(byte[] message)
        throws CSCMsgIllegalMessageTypeException,
               CSCMsgMultipleMessageInsertionException,
               CSCMsgInvalidMessageException;

パラメタ

message：

バイナリ形式の電文を指定します。

なお，バイナリ形式の電文を格納した場合は，電文の種別をバイナリ形式（MESSAGE_TYPE_BINARY）に設定し，長さ0のバイト列やnullを格納した場合は，電文を格納しない種別（MESSAGE_TYPE_NONE）に設定します。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgIllegalMessageTypeException：

設定されている電文の種別がバイナリではありません。または電文が格納されていない状態ではありません。要求時の電文の形式がXMLの場合に，応答時の電文の形式をバイナリに変えることはできません。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgMultipleMessageInsertionException：

すでに電文またはフォルト情報が設定されています。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgInvalidMessageException：

指定したバイナリ形式に誤りがあります。

戻り値

なし。

注意事項

任意形式の汎用カスタムアダプタを作成した場合は，電文の形式に関係なく，このメソッドを使用してください。格納した電文の種別を任意形式（MESSAGE_TYPE_ANY）に設定します。長さ0のバイト列やnullを格納した場合でも，任意形式（MESSAGE_TYPE_ANY）に設定します。

●setFaultメソッド（形式1）

説明

サービス部品を呼び出したときに発生したフォルト情報を格納します。

faultDetailの内容をバイナリ形式で格納する場合に使用します。

なお，応答時の電文は存在しないため，電文を格納しない種別（MESSAGE_TYPE_NONE）を設定します。

形式

public void setFault(String faultCode,
                     String faultString,
                     String faultActor,
                     byte[] faultDetail)
        throws CSCMsgMultipleMessageInsertionException;

パラメタ

faultCode：

FaultCode情報を指定します。

nullを指定した場合，"Server.ServiceExecutionError"が格納されます。

faultString：

FaultString情報を指定します。

nullを指定した場合，"Service Excution Error at CustomAdapter"が格納されます。

faultActor：

FaultActor情報を指定します。

nullを指定した場合，HCSC-Definerで設定したサービスIDが格納されます。

faultDetail：

XML形式のDetail情報をバイト配列で指定します。

長さ0のバイト列を指定した場合，そのまま長さ0のバイト列が格納されます。nullを指定した場合，そのままnullが格納されます。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgMultipleMessageInsertionException：

すでに応答電文またはフォルト情報が設定されています。

戻り値

なし。

注意事項

faultDetailは，XML文書をバイナリ化したものです。必ず，先頭にXML宣言をしてください。宣言をしなかった場合は，エラーにはなりませんが，正常に動作しないおそれがあります。

XML文書をバイト配列に変換する場合は，文字コードとしてUTF-8を使用してください。指定した文字コード以外では，正常に動作しないおそれがあります。

●setFaultメソッド（形式2）

説明

サービス部品を呼び出したときに発生したフォルト情報を格納します。

faultDetailの内容をXML形式（DOM形式）で格納する場合に使用します。

なお，応答時の電文は存在しないため，電文を格納しない種別（MESSAGE_TYPE_NONE）を設定します。

形式

public void setFault(String faultCode,
                     String faultString,
                     String faultActor,
                     org.w3c.dom.Document faultDetail)
        throws CSCMsgMultipleMessageInsertionException,
               CSCMsgInvalidMessageException;

パラメタ

faultCode：

FaultCode情報を指定します。

nullを指定した場合，"Server.ServiceExecutionError"が格納されます。

faultString：

FaultString情報を指定します。

nullを指定した場合，"Service Excution Error at CustomAdapter"が格納されます。

faultActor：

FaultActor情報を指定します。

nullを指定した場合，HCSC-Definerで設定したサービスIDが格納されます。

faultDetail：

Detail情報をDOM形式で指定します。

nullを指定した場合，そのままnullが格納されます。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgMultipleMessageInsertionException：

すでに応答電文またはフォルト情報が設定されています。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgInvalidMessageException：

指定したDOM形式に誤りがあります。

戻り値

なし。

●setXMLDocument メソッド

説明

応答メッセージにXML形式（DOM形式）の電文を格納します。

形式

public void setXMLDocument(org.w3c.dom.Document dom)
        throws CSCMsgIllegalMessageTypeException,
               CSCMsgMultipleMessageInsertionException,
               CSCMsgInvalidMessageException;

パラメタ

dom：

DOM形式の電文を指定します。

なお，XML形式の電文を格納した場合は，電文の種別をXML（MESSAGE_TYPE_XML）に設定し，nullを格納した場合は，電文を格納しない種別（MESSAGE_TYPE_NONE）に設定します。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgIllegalMessageTypeException：

設定されている電文の種別がXMLではありません。または電文が格納されていない状態ではありません。要求時の電文の形式がXMLの場合に，応答時の電文の形式をバイナリに変えることはできません。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgMultipleMessageInsertionException：

すでに電文またはフォルト情報が設定されています。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgInvalidMessageException：

指定したDOM形式に誤りがあります。

戻り値

なし。

注意事項

任意形式の汎用カスタムアダプタを作成した場合，このメソッドを実行するとエラー（KDEC03016-E）になり，電文を格納できません。この場合は，setBytesメソッドを使用してください。

●setXMLBytes メソッド

説明

応答メッセージに，XML形式(バイト配列)の電文を格納します。

汎用カスタムアダプタでXML形式の電文をバイト配列で扱っていた場合，DOM形式に変換する必要がないため，このメソッドを利用することでメモリ使用量を削減できます。

形式

public void setXMLBytes(byte[] byte)
        throws CSCMsgIllegalMessageTypeException,
               CSCMsgMultipleMessageInsertionException,
               CSCMsgInvalidMessageException;

パラメタ

byte：

バイト配列の電文を指定します。

なお，byteがnullではない場合は，電文の種別をXML（MESSAGE_TYPE_XML）に設定し，nullである場合は，電文を格納しない種別（MESSAGE_TYPE_NONE）に設定します。

例外

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgIllegalMessageTypeException：

要求電文の種別がXMLではありません。要求電文の種別がバイナリの場合に，応答電文の種別をXMLに変えることはできません。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgMultipleMessageInsertionException：

すでに電文またはフォルト情報が設定されています。

jp.co.Hitachi.soft.csc.msg.adapter.custom.CSCMsgInvalidMessageException：

指定したXML形式に誤りがあります。

戻り値

なし。

注意事項

電文の作成時にStAXを使用する場合，次の点に注意してください。

・XMLバージョン1.1の電文を設定した場合，例外が発生します。

・ISO-10646-UCS-4エンコーディングを使用した場合，例外が発生します。

・XML文書に「:」で始まる要素名が含まれる場合，例外になりません。

・XML文書中の文字データの中に，CDATAセクション終了区切り子（"]]>"）が単独で含まれる場合，例外になりません。

・空要素の場合，開始タグと終了タグだけが出力されます。

　（例）<sample></sample>

(d)　CSCMsgCustomAdapterConstantクラス

説明

CSCMsgRequestMessageインターフェースのgetMessageContextメソッドで取得できる，ビジネスプロセス情報を格納したMapのキーを定義するインターフェースです。

CSCMsgCustomAdapterConstantのパッケージ名は，jp.co.Hitachi.soft.csc.msg.adapter.customです。

形式

public interface CSCMsgCustomAdapterConstant {
  public enum ContextType {
           BP_DEFINITION_NAME,
           BP_VERSION,
           BP_INVOKEACTIVITY_NAME,
           BP_INVOKEACTIVITY_CUSTOMADAPTERNAME,
           BP_INVOKEACTIVITY_OPERATIONNAME,
           BP_PROCESSINSTANCEID,
           SERVERNAME_HCSC,
           SERVERNAME_CLUSTER,
           SERVERNAME_J2EE;
  }
}

Enum定数

BP_DEFINITION_NAME：

汎用カスタムアダプタの呼び出し元のビジネスプロセス名

BP_VERSION：

汎用カスタムアダプタの呼び出し元のビジネスプロセスのバージョン

BP_INVOKEACTIVITY_NAME：

汎用カスタムアダプタの呼び出し元のビジネスプロセスのサービス呼出アクティビティ名

BP_INVOKEACTIVITY_CUSTOMADAPTERNAME：

サービス呼出アクティビティから呼び出される汎用カスタムアダプタのサービス名

BP_INVOKEACTIVITY_OPERATIONNAME：

サービス呼出アクティビティのオペレーション名

BP_PROCESSINSTANCEID：

プロセスインスタンスID

SERVERNAME_HCSC：

HCSCサーバ名

SERVERNAME_CLUSTER：

クラスタ名

SERVERNAME_J2EE：

J2EEサーバ名

(4)　例外クラス

プロトコルコンバータの開発時に発生する例外クラスの一覧を次の表に示します。

表B‒5　プロトコルコンバータの例外クラス一覧

クラス名

説明

CSCMsgCustomAdapterExceptionクラス

汎用カスタムアダプタの初期化処理やサービス部品を呼び出す処理で例外が発生した場合に送出する例外です。

CSCMsgIllegalMessageTypeExceptionクラス

電文の取得または格納時に，電文タイプと異なるタイプの電文形式のメソッドが呼ばれた場合に送出する例外です。

CSCMsgMultipleMessageInsertionExceptionクラス

すでに電文またはフォルト情報が格納されれた場合に送出する例外です。

電文またはフォルト情報を格納したあとに，再び電文またはフォルト情報を設定することはできません。

CSCMsgInvalidMessageException クラス

要求電文の場合，格納さてている電文の種別（形式）が不正なときに送出する例外です。

応答電文の場合，不正な形式の電文種別を指定しているときに送出する例外です。

CSCMsgResourceAccessException クラス

リソースアクセス処理中にエラーが発生した場合に送出する例外です。

次のどちらかの場合に発生します。

取得しようとしたリソースがない場合

入出力例外（java.io.IOException）が発生した場合

付録B.2　カスタムアダプタ開発フレームワークの定義ファイル

ここでは，カスタムアダプタ開発フレームワークで汎用カスタムアダプタを開発するときに定義するファイルの内容について説明します。

(1)　カスタムアダプタ開発フレームワーク動作定義ファイル

カスタムアダプタ開発フレームワーク動作定義ファイルは，java.util.PropertiesクラスのloadFromXMLメソッドで読み込むことができるXML形式のプロパティファイルです。カスタムアダプタ開発フレームワーク動作定義ファイルのファイル名は必ず「framework_properties.xml」にしてください。

機能

カスタムアダプタ開発フレームワークが読み込むプロトコルコンバータのクラス名（パッケージ名を含む）を指定します。プロトコルコンバータのクラス名は，key属性がclassnameであるentryタグに記述します。

ファイルの格納先

プロトコルコンバータのJARファイルを作成するときに，JARファイルのルートディレクトリに格納します。プロトコルコンバータのJARファイルの作成方法については，「3.3.18(5)　JARファイルの作成」を参照してください。

注意事項

ファイルが存在しない場合，またはjava.util.PropertiesクラスのloadFromXMLメソッドで読み込めないファイル形式の場合は，汎用カスタムアダプタを起動できません。

複数のentry要素でkey属性を重複して指定しないでください。

記述例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="classname">protocolconverter.MyProtocolConverter</entry>
</properties>

(2)　カスタムアダプタプロパティファイル

カスタムアダプタプロパティファイルは，java.util.PropertiesクラスのloadFromXMLメソッドで読み込むことができるXML形式のプロパティファイルです。カスタムアダプタプロパティファイルのファイル名は，必ず「customadapter_properties.xml」にしてください。

機能

プロトコルコンバータで使用するプロパティを設定します。

汎用カスタムアダプタの開始時に，カスタムアダプタ開発フレームワークからプロパティが読み込まれます。読み込まれたプロパティは，アダプタコンテキストからgetPropertyメソッドで取得するPropertyインスタンスとして取得できます。

ファイルの格納先

汎用カスタムアダプタの定義時に，独自定義ファイルとして汎用カスタムアダプタに登録します。汎用カスタムアダプタの定義方法については，「3.3.18　汎用カスタムアダプタを定義する」を参照してください。

注意事項

ファイルが存在する場合でも，java.util.PropertiesクラスのloadFromXMLメソッドで読み込むことができないファイル形式のときは，汎用カスタムアダプタを起動できません。

記述例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="init">1</entry>
<entry key="min">0</entry>
<entry key="max">10</entry>
</properties>

(3)　カスタムアダプタ用アプリケーション統合属性ファイル

カスタムアダプタ用アプリケーション統合属性ファイルは，アプリケーション統合属性ファイルの一つで，次の場合に使用するXML形式のファイルです。

アプリケーション，EJB-JAR，およびSessionBeanの属性を一括して取得する場合

アプリケーション，EJB-JAR，およびSessionBeanの属性を一括して編集する場合

カスタムアダプタ用アプリケーション統合属性ファイルのファイル名は，必ず「cscadapter_property.xml」にしてください。

アプリケーション統合属性ファイルの詳細については，次の個所を参照してください。

マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「9.2　アプリケーション統合属性ファイルによるプロパティ設定」

マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション／リソース定義)」の「3.1　アプリケーション統合属性ファイル」

機能

アプリケーション統合属性ファイルを使用することで，実行環境に合わせて汎用カスタムアダプタのパラメタを設定できます。

ファイルの格納先

汎用カスタムアダプタの定義時に，独自定義ファイルとして汎用カスタムアダプタに登録します。汎用カスタムアダプタの定義方法については，「3.3.18　汎用カスタムアダプタを定義する」を参照してください。

指定内容

カスタムアダプタ用アプリケーション統合属性ファイルのテンプレートを次の表に示します。このテンプレートを基に，可変部分を変更または追加してください。

また，<hitachi-application-all-property>/<ejb-jar>/<hitachi-session-bean-property>以下の要素として，次の項目の追加および編集ができます。

<ejb-ref>（リモートインターフェースを持つEnterprise Beanへの参照情報についての定義）

<ejb-local-ref>（EJB参照情報の設定）

<env-entry>（環境エントリについての定義）

<resource-ref>（リソース参照についての定義）

<resource-env-ref>（リソース環境変数についての定義）

<linked-queue>（queue名称）

表B‒6　カスタムアダプタ用アプリケーション統合属性ファイルのテンプレート

タグ

説明

変更可否

<?xml version="1.0" encoding="MS932"?>

XML宣言

○

<!DOCTYPE hitachi-application-all-property

PUBLIC '-//Hitachi, Ltd.//DTD Application All Property 7.1//EN'

'http://localhost/hitachi-application-all-property_7_1.dtd'>

DOCTYPE宣言

−

<hitachi-application-all-property>

ルートタグ

−

　<hitachi-application-property>

アプリケーションに関する情報の定義開始タグ

−

　　<description></description>

アプリケーションの説明

○

　　<icon>

Deployツール上に表示されるJ2EEアプリケーションのアイコンの定義開始タグ

−

　　　<small-icon></small-icon>

スモールアイコン（16×16）のファイル名

○

　　　<large-icon></large-icon>

ラージアイコン（32×32）のファイル名

○

　　</icon>

Deployツール上に表示されるJ2EEアプリケーションのアイコンの定義終了タグ

−

　　<lookup-name>CTMADP</lookup-name>

クライアントからEJBをルックアップするときに使う名称

○※1

　　<security-prop>

Enterprise Beanのセキュリティの管理方法の定義開始タグ

−

　　　<security-method>no_security_for_methods_without_roles

　　　</security-method>

セキュリティの管理方法

−

　　　<default-security-role></default-security-role>

security-methodにmap_methods_without_rolesを指定した場合のデフォルトセキュリティロール

−

　　</security-prop>

Enterprise Beanのセキュリティの管理方法の定義終了タグ

−

　　<start-order>120</start-order>

J2EEアプリケーション開始時および停止時の順番

△※2

　　<scheduling-unit>Application</scheduling-unit>

キューの配置モデルの指定

−

　　<scheduling>

CTMとの連携についての定義開始タグ

−

　　　<queue-name>CTMADP</queue-name>

スケジューリングをするキューの名称

○※1

　　　<parallel-count>1</parallel-count>

CTMがアプリケーションを呼び出すために用意するスレッド数

−

　　　<queue-length></queue-length>

スケジューリングをするキューの長さ

−

　　</scheduling>

CTMとの連携についての定義終了タグ

−

　　<managed-by-ctm>false</managed-by-ctm>

CTM連携をするかどうかの指定

−

　　<method-observation-recovery-mode>

　　</method-observation-recovery-mode>

J2EEアプリケーションの時間監視機能の障害回復モードの指定

−

　</hitachi-application-property>

アプリケーションに関する情報の定義終了タグ

−

　<ejb-jar>

EJBに関する情報の定義開始タグ

−

　　<hitachi-ejb-jar-property>

EJB-JARの属性に関する情報の定義開始タグ

−

　　<description xml:lang="en"></description>

EJB-JARの説明

○

　　　<display-name xml:lang="en">CSCMsgServiceAdapter

　　　</display-name>

EJB-JARの表示名

−

　　　<icon xml:lang="en">

GUIツール上に表示されるEJB-JARのアイコンの定義開始タグ

−

　　　　<small-icon></small-icon>

スモールアイコン（16×16）のファイル名

○

　　　　<large-icon></large-icon>

ラージアイコン（32×32）のファイル名

○

　　　</icon>

GUIツール上に表示されるEJB-JARのアイコンの定義終了タグ

−

　　　<ejb-client-jar></ejb-client-jar>

クライアントJARファイルの名称

−

　　</hitachi-ejb-jar-property>

EJB-JARの属性に関する情報の定義終了タグ

−

　　<hitachi-session-bean-property>

SessionBeanの属性の定義の開始タグ

−

　　　<description xml:lang="en"></description>

SessionBeanの説明

○

　　　<display-name xml:lang="en">CSCMsgServiceAdapterEJB

　　　</display-name>

SessionBeanの表示名

−

　　　<icon xml:lang="en">

GUIツール上に表示されるSessionBeanのアイコンの定義開始タグ

−

　　　　<small-icon></small-icon>

スモールアイコン（16×16）のファイル名

○

　　　　<large-icon></large-icon>

ラージアイコン（32×32）のファイル名

○

　　　</icon>

GUIツール上に表示されるSessionBeanのアイコンの定義終了タグ

−

　　　<session-type>Stateless</session-type>

SessionBeanの種別

−

　　　<transaction-type>Container</transaction-type>

トランザクション管理種別

−

　　　<env-entry>

環境エントリについての定義開始タグ

△※3

　　　　<description xml:lang="en"></description>

env-entryの説明

　　　　<env-entry-name>CscServerName</env-entry-name>

環境エントリの名称

　　　　<env-entry-type>java.lang.String</env-entry-type>

環境エントリのデータ型

　　　　<env-entry-value>HCSC</env-entry-value>

環境エントリの値

　　　</env-entry>

環境エントリについての定義終了タグ

　　　<env-entry>

環境エントリについての定義開始タグ

　　　　<description xml:lang="en"></description>

env-entryの説明

　　　　<env-entry-name>CscClusterName</env-entry-name>

環境エントリの名称

　　　　<env-entry-type>java.lang.String</env-entry-type>

環境エントリのデータ型

　　　　<env-entry-value>Cluster</env-entry-value>

環境エントリの値

　　　</env-entry>

環境エントリについての定義終了タグ

　　　<env-entry>

環境エントリについての定義開始タグ

　　　　<description xml:lang="en"></description>

env-entryの説明

　　　　<env-entry-name>AdapterName</env-entry-name>

環境エントリの名称

　　　　<env-entry-type>java.lang.String</env-entry-type>

環境エントリのデータ型

　　　　<env-entry-value>CTMADP</env-entry-value>

環境エントリの値

　　　</env-entry>

環境エントリについての定義終了タグ

　　　<container-transaction>

コンテナのトランザクションについての定義開始タグ

−

　　　　<description xml:lang="en"></description>

container-transactionの説明

−

　　　　<method>

メソッドについての定義開始タグ

−

　　　　　<description xml:lang="en"></description>

メソッドの説明

−

　　　　　<method-intf></method-intf>

メソッドが属するインターフェース種別

−

　　　　　<method-name>*</method-name>

メソッド名

−

　　　　</method>

メソッドについての定義終了タグ

−

　　　　<trans-attribute>Required</trans-attribute>

メソッドに割り当てるトランザクション属性

−

　　　</container-transaction>

コンテナのトランザクションについての定義終了タグ

−

　　　<session-runtime>

runtimeの定義開始タグ

−

　　　　<lookup-name>CSCMsgServiceAdapterEJB

　　　　</lookup-name>

クライアントからEJBをルックアップする場合に使う名前

−

　　　　<optional-name>CTMADP</optional-name>

リモートインターフェースの別名

△※3

　　　　<maximum-sessions>0</maximum-sessions>

セッションの最大数

○

　　　　<stateless>

statelessの定義開始タグ

−

　　　　　<pooled-instance>

プール内のインスタンスについての定義開始タグ

−

　　　　　　<minimum>1</minimum>

プール内のインスタンスの最小数

○

　　　　　　<maximum>0</maximum>

プール内のインスタンスの最大数

○

　　　　　</pooled-instance>

プール内のインスタンスについての定義終了タグ

−

　　　　　<instance-timeout>0</instance-timeout>

インスタンス取得時のタイムアウト時間

○

　　　　</stateless>

stateless定義の終了タグ

−

　　　　<enable-scheduling>false</enable-scheduling>

該当するBeanをスケジューリングの対象にするかどうか（スケジューラのGateとして使用するかどうか）の指定

−

　　　　<pass-by-reference>true</pass-by-reference>

Bean単位でのデータの参照渡し（pass by reference）の指定

△※3

　　　　<scheduling>

CTM連携関連の情報の定義開始タグ

−

　　　　　<queue-name>CSCMsgServiceAdapterEJB

　　　　　</queue-name>

スケジューリングを行うqueue名称

−

　　　　　<parallel-count>1</parallel-count>

CTMがアプリケーションを呼び出すために用意するスレッド数

−

　　　　　<queue-length></queue-length>

スケジューリングをするキューの長さ

−

　　　　</scheduling>

CTM連携関連の情報の定義終了タグ

−

　　　　<front-ejb>false</front-ejb>

フロントEJB（クライアントが直接呼び出すEJB）かどうかの指定

−

　　　</session-runtime>

runtimeの定義終了タグ

−

　　　<start-order>10</start-order>

J2EEアプリケーション開始時および停止時の順番の指定

−

　　</hitachi-session-bean-property>

SessionBeanの属性の定義の終了タグ

−

　</ejb-jar>

EJBに関する情報の定義の終了タグ

−

</hitachi-application-all-property>

ルートタグ

−

（凡例）

○：変更できます。

△：自動的に変更されます。

−：変更できません。

注※1

サービスIDを指定してください。

注※2

汎用カスタムアダプタのデプロイ時に自動的に設定されます。

注※3

汎用カスタムアダプタのデプロイ時に自動的に追加または上書きされます。

注意事項

「表B-6　カスタムアダプタ用アプリケーション統合属性ファイルのテンプレート」で示した変更できる項目以外は，テンプレートの内容を変更しないでください。

ファイル形式がアプリケーション統合属性ファイルとして適切でない場合，汎用カスタムアダプタを配備できません。

(4)　カスタムアダプタ定義ファイル

カスタムアダプタ定義ファイルの機能，および設定できるプロパティについて説明します。

機能

汎用カスタムアダプタの情報を設定します。

ファイルの格納先

<サービスプラットフォームのインストールディレクトリ>¥CSC¥samples¥customadapter¥csccustomadapter.properties

設定できるプロパティ

custom-adapter.dt-skip={ true | false }

データ変換時に電文の構造変換をスキップするかどうかを指定します。キーまたは値を省略した場合は，構造変換をスキップしません。

true

構造変換をスキップします。

false

構造変換をスキップしません。

なお，値を指定する場合は，trueまたはfalseのどちらかを指定してください。trueまたはfalse以外の値を指定した場合，コマンド実行時にエラーになります。

付録B.3　カスタムアダプタ開発フレームワークのサンプルプログラム

ここでは，カスタムアダプタ開発フレームワークを使用する汎用カスタムアダプタのサンプルプログラムについて説明します。

(1)　サンプルプログラムの概要

サンプルプログラムでは，カウント増加要求（increment），またはカウント減少要求（decrement）を受け付け，カウンタサービスを呼び出す汎用カスタムアダプタを作成します。

カウンタサービスを呼び出す汎用カスタムアダプタの概要を次の図に示します。

図B‒2　カウンタサービスを呼び出す汎用カスタムアダプタの概要

次にカウンタサービス，および汎用カスタムアダプタのプロトコルコンバータについて説明します。

(a)　カウンタサービス

カウンタサービスは，カウントを保持します。

サンプルプログラムのカウンタサービスは通常のJavaクラスですが，サービスに見立てています。そのため，カウンタサービスの格納先は，プロトコルコンバータと同じJARになります。

カウンタサービスは次に示す3つのサービスを提供します。

カウント増加サービス（increment）

カウントを1つ増やします。

カウント減少サービス（decrement）

カウントを1つ減らします。ただし，カウントを0未満にしようとしたときには，例外が発生します。

カウント値参照サービス（getCount）

現在のカウント値を返します。

(b)　プロトコルコンバータ

プロトコルコンバータは，カウンタサービスを呼び出します。

プロトコルコンバータは，次に示す2つのオペレーションを持ちます。

カウントの増加（incrementオペレーション）

カウンタサービスのカウント増加サービスを要求電文で指定された回数呼び出します。

非同期通信で，要求電文としてバイナリ電文を受け付けます。

要求電文で増加量を指定でき，指定された増加量の絶対値分だけ，カウンタサービスのカウント増加を実行します。増加量は1バイトの符号付の2進数で指定します。

要求電文フォーマットについては，「付録B.3(2)(a)　incrementの要求電文フォーマット」を参照してください。

カウントの減少（decrementオペレーション）

カウンタサービスのカウント減少サービスを呼び，指定された数だけ減らします。

同期通信で，要求電文としてXML電文を受け付け，応答電文としてXML電文を返します。

要求電文で増加量を指定でき，指定された減少量の整数値分だけ，カウントを減らします。減少量は整数値を文字列で与えます。

カウンタの減少要求の応答電文は，カウント減少後のカウント値を含みます。

カウンタサービスのカウント減少サービスを実施した場合に例外が発生したときは，フォルトが発生します。また，要求電文で与えられたカウンタの減少量がIntegerクラスのparseIntメソッドで処理できない形式だった場合は，例外を送出します。

要求電文フォーマットについては「付録B.3(2)(b)　decrementの要求電文フォーマット」を，応答電文フォーマットについては「付録B.3(2)(c)　decrementの応答電文フォーマット」を参照してください。

(2)　電文フォーマット

サンプルプログラムで使用する電文形式を次に示します。

(a)　incrementの要求電文フォーマット

1バイトの符号付の2進整数を1つ取るバイナリフォーマット定義ファイルを作成します。ファイル名は，「BinaryRequest.fdx」にしてください。

バイナリフォーマット定義ファイルの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.4　電文フォーマット（バイナリフォーマット定義ファイル）の作成方法」を参照してください。

(b)　decrementの要求電文フォーマット

decrementの要求電文フォーマット（XMLフォーマット定義ファイル）は，テキストエディタなどを使用してXML文書形式で作成します。ファイル名は「XMLRequest.xsd」にしてください。

XMLフォーマット定義ファイルの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.3　電文フォーマット（XMLフォーマット定義ファイル）の作成方法」を参照してください。

作成するXMLフォーマット定義ファイルの内容を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/RequestXML" xmlns:tns="http://www.example.org/RequestXML">
    <element name="request" type="string"></element>
</schema>

(c)　decrementの応答電文フォーマット

decrementの応答電文フォーマット（XMLフォーマット定義ファイル）は，テキストエディタなどを使用してXML文書形式で作成します。ファイル名は「XMLResponse.xsd」にしてください。

XMLフォーマット定義ファイルの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.3　電文フォーマット（XMLフォーマット定義ファイル）の作成方法」を参照してください。

作成するXMLフォーマット定義ファイルの内容を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/RequestXML" xmlns:tns="http://www.example.org/RequestXML">
    <element name="response" type="string"></element>
</schema>

(3)　サンプルコード

サンプルプログラムで使用するカウンタサービス，およびプロトコルコンバータのサンプルコードについて説明します。

(a)　カウンタサービス

カウンタサービスのサンプルコードを次に示します。クラス名は「Counter」，パッケージ名は「service」です。

/* All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd. */
package service;

/**
 * カウント値の増減とカウント値の取得クラス(サービスに見立てる)
 * カウント値は常に0以上
 */
public class Counter {
    /**
     * カウント値 (常に0以上)
     */
    protected int count;
    /**
     * コンストラクタ
     * @param init countの初期値
     * @throws IllegalArgumentException不正な0未満の値を指定しました。
     * @return void
     */
    public Counter(int init) {

        if (init < 0) {
              throw new IllegalArgumentException();
        }
              this.count = init;
    }
    /**
     * カウントを一つ増やす
     * @return void
     */
    public void increment() {
        ++this.count;
    }

    /**
     * カウントを一つ減らす
     * @throws IllegalStateException countが0以下の時に呼び出しました。
     * @return void
     */
    public void decrement() {
        if (this.count <= 0) {
              throw new IllegalStateException();
        }
        --this.count;
    }
    /**
     * カウント値を取得する
     * @return int カウント値
     */
    public int getCount() {
        return this.count;
    }
}

(b)　プロトコルコンバータ

プロトコルコンバータのサンプルコードを次に示します。クラス名は「MyProtocolConverter」，パッケージ名は「protocolconverter」です。

/* All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd. */
package protocolconverter;

import java.util.Properties;

import javax.xml.parsers.*;
import org.w3c.dom.*;
import jp.co.Hitachi.soft.csc.msg.adapter.custom.*;

import service.Counter;
/**
 * カスタムプロトコルコンバータインターフェースの実装クラス
 */
public class MyProtocolConverter implements CSCMsgCustomProtocolConverter {
    /**
     * アダプタコンテキスト
     */
    private CSCMsgCustomAdapterContext adapterContext;
    /**
     * カウンタクラス(サービスに見立てている)
     */
    private Counter counter;
    /**
     * DOM. XML電文を作成するために使用
     */
    private DocumentBuilderFactory docBuilderFactory;
    private DocumentBuilder docBuilder;
    /**
     * publicなデフォルトコンストラクタ (必須)
     */
    public MyProtocolConverter() { }
    /**
     * カスタムアダプタ開始時(startが呼ばれる前)に呼ばれます。
     * アダプタコンテキストを取得します。
     * @param adapterContext アダプタコンテキスト
     */
    public void setCustomAdapterContext(
             CSCMsgCustomAdapterContext adapterContext) {
        this.adapterContext = adapterContext;
    }
    /**
     * カスタムアダプタ開始時(setCustomAdapterContextが呼ばれた後)に呼ばれます。
     * 初期化処理を実装します。
     * @throws CSCMsgCustomAdapterException カスタムアダプタで例外が発生しました。
     */
    public void start() throws CSCMsgCustomAdapterException {
        try {
             log("start");

             Properties properties = this.adapterContext.getProperties();
             String init = properties.getProperty("init");
             if (init == null) {
                  // init値の指定は必須
                  throw new CSCMsgCustomAdapterException("init");
            }

            // リソースの確保（アダプタのライフサイクル中使い続けるリソース）
            this.counter = new Counter(Integer.parseInt(init));

            docBuilderFactory = DocumentBuilderFactory.newInstance();
            //docBuilderFactory.setNamespaceAware(true);
            docBuilder = docBuilderFactory.newDocumentBuilder();
        } catch (CSCMsgCustomAdapterException e) {
            // カスタムアダプタ側で障害解析に必要なログを出力する
            log(e);
            throw e;
        } catch (Exception e) { // RuntimeExceptionもキャッチする
            // カスタムアダプタ側で障害解析に必要なログを出力する
            log(e);
            // CSCMsgCustomAdapterExceptionでラップして再送出
            throw new CSCMsgCustomAdapterException("start failed", e);
        }
    }
    /**
     * サービス部品呼び出し処理を実装します。
     * @param request 要求メッセージ
     * @param response 応答メッセージ
     * @throws CSCMsgCustomAdapterException カスタムアダプタで例外が発生しました。
     */
    public void invoke(CSCMsgRequestMessage request,
             CSCMsgResponseMessage response)
             throws CSCMsgCustomAdapterException {

        try {
             log("invoke [" + request.getOperationName() + "]");

            // オペレーション名で振り分け
            if (request.getOperationName().equals("increment")) {
                  // カウント増加処理
                  execIncrement(request, response);
            } else if(request.getOperationName().equals("decrement")) {
                  // カウント減少処理
                  try {
                       execDecrement(request, response);
                  } catch(IllegalStateException e) { // カウントの減少に失敗
                       // ログ出力
                       log(e);
                       // フォルト設定
                       response.setFault("invoke error", "decrement failed",
                                 this.adapterContext.getAdapterName(), (Document)null);
                  }
            } else {
                 throw new CSCMsgCustomAdapterException("unknown operation");
            }
            // 現在のカウントを出力
            log("Count:" + counter.getCount());
        } catch (CSCMsgCustomAdapterException e) {
            // カスタムアダプタ側で障害解析に必要なログを出力する
            log(e);
            throw e;
        } catch (Exception e) { // RuntimeExceptionもキャッチする
            // カスタムアダプタ側で障害解析に必要なログを出力する
            log(e);
            // CSCMsgCustomAdapterExceptionでラップして再送出
            throw new CSCMsgCustomAdapterException("invoke failed", e);
        }
    }
    /**
     * カウント増加処理
     * @param request 要求メッセージ
     * @param response 応答メッセージ
     * @throws CSCMsgCustomAdapterException カスタムアダプタで例外が発生しました。
     * @throws CSCMsgIllegalMessageTypeException 電文形式がバイナリ形式ではありません。
     * @throws CSCMsgInvalidMessageException 不正な電文が指定されました。
     */
    private void execIncrement(
              CSCMsgRequestMessage request,
              CSCMsgResponseMessage response)
        throws CSCMsgCustomAdapterException,
              CSCMsgIllegalMessageTypeException,
              CSCMsgInvalidMessageException {
        // 非同期オペレーション：increment

        if (response != null) {
              // 通信モデルが同期
              throw new CSCMsgCustomAdapterException("不正な通信モデル");
        }

        if (request.getMessageType() != CSCMsgMessageConstant.MESSAGE_TYPE_BINARY) {
              // 電文フォーマットがバイナリ形式でない
              throw new CSCMsgCustomAdapterException("不正な電文フォーマット(要求)");
        }

        byte[] data = request.getBytes();
        if (data.length != 1) {
            throw new CSCMsgCustomAdapterException("不正なデータ");
        }

        int loop = Math.abs(data[0]);
        for (int i = 0; i < loop; ++i) {
             counter.increment();
        }
    }
    /**
     * カウント減少処理
     * @param request 要求メッセージ
     * @param response 応答メッセージ
     * @throws CSCMsgCustomAdapterException カスタムアダプタで例外が発生しました。
     * @throws CSCMsgIllegalMessageTypeException 電文形式がバイナリ形式ではありません。
     * @throws CSCMsgInvalidMessageException 不正な電文が指定されました。
     * @throws CSCMsgMultipleMessageInsertionException すでに電文またはフォルト情報が格納されています。
     */
    private void execDecrement(
             CSCMsgRequestMessage request,
             CSCMsgResponseMessage response)
        throws CSCMsgCustomAdapterException,
             CSCMsgIllegalMessageTypeException,
             CSCMsgInvalidMessageException,
             CSCMsgMultipleMessageInsertionException  {
        // 同期オペレーション：decrement

        if (response == null) {
              // 通信モデルが非同期
              throw new CSCMsgCustomAdapterException("不正な通信モデル");
        }

        if (request.getMessageType() != CSCMsgMessageConstant.MESSAGE_TYPE_XML) {
              // 電文フォーマットがXML形式でない
              throw new CSCMsgCustomAdapterException("不正な電文フォーマット(要求)");
        }

        if (response.getMessageType() != CSCMsgMessageConstant.MESSAGE_TYPE_XML) {
              // 電文フォーマットがXML形式でない
              throw new CSCMsgCustomAdapterException("不正な電文フォーマット(応答)");
        }

        // 要求電文解析処理
        NodeList nodeList = request.getXMLDocument().getElementsByTagName("request");
        if (nodeList.getLength() != 1) {
              // ルートノードが見つからない
              throw new CSCMsgCustomAdapterException("不正な要求電文");
        }
        Text text = (Text)nodeList.item(0).getChildNodes().item(0);

        int loop = Math.abs(Integer.parseInt(text.getNodeValue()));
        for (int i = 0; i < loop; ++i) {
             this.counter.decrement();
        }

        // 応答電文の組み立て
        Document responseDoc = docBuilder.newDocument();
        Element rootElement = responseDoc.createElement("response");
        responseDoc.appendChild(rootElement);
        Text countTextNode = responseDoc.createTextNode(Integer.toString(counter.getCount()));
        rootElement.appendChild(countTextNode);

        // 応答電文の格納
        response.setXMLDocument(responseDoc);
    }
    /**
     * 終了処理，リソースの解放などを行う
     */
    public void stop() {
        log("stop");

        // リソースの解放
        this.counter = null;
        this.adapterContext = null;
        this.docBuilderFactory = null;
        this.docBuilder = null;
    }
    /**
     * ログ出力
     * @param message 出力するメッセージ
     */
    public void log(String message) {
        // 標準出力への出力結果は，ユーザ出力ログに出力される
        System.out.printf("[%s] %s¥n",
                this.adapterContext.getAdapterName(), message);
                System.out.flush();
    }
    /**
     * ログ出力
     * @param message 出力する例外
     */
    public void log(Exception e) {
        // 標準エラー出力への出力結果は，ユーザエラーログに出力される
        e.printStackTrace();
        System.err.flush();
    }
}

(4)　プロパティファイル

サンプルプログラムで使用するプロパティファイルについて説明します。

(a)　カスタムアダプタ開発フレームワーク動作定義ファイル

カスタムアダプタ開発フレームワーク動作定義ファイルには，プロトコルコンバータのクラス名をパッケージ名付きで指定します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="classname">protocolconverter.MyProtocolConverter</entry>
</properties>

(b)　カスタムアダプタプロパティファイル

カスタムアダプタプロパティファイルには，プロトコルコンバータで使用するプロパティを設定します。

カウンタサービスのカウントの初期値を1に設定するプロパティファイルを次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="init">1</entry>
</properties>

(5)　プロトコルコンバータJARファイル

プロトコルコンバータクラスファイルとカスタムアダプタ開発フレームワーク動作定義ファイルを含むJARファイルを作成します。

プロトコルコンバータJARファイルの作成は，jarコマンドを使用して，プロトコルコンバータクラスファイルとそれが使用するクラスファイル，およびカスタムアダプタ開発フレームワーク動作定義ファイルをJARファイルにアーカイブします。

jarコマンドによるアーカイブ時のJARファイルのディレクトリ構成については，「3.3.18(5)　JARファイルの作成」を参照してください。

(a)　事前準備

カレントディレクトリおよびサブディレクトリに，作成したファイルを次に示すように配置します。

framework_properties.xml
protocolconverter/CustomProtocolConverter.class
service/Counter.class

(b)　ファイルの作成

ここでは，作成するJARファイルを「MyProtocolConverter.jar」というファイル名でアーカイブします。

次のコマンドを実行すると，JARファイルが作成されます。

jar cf ..¥MyProtocolConverter.jar .¥

(6)　EARファイル

汎用カスタムアダプタの新規登録に必要なEARファイルを作成します。ここでは，作成するEARファイルを「CustomAdapter.ear」というファイル名でアーカイブします。

EARファイルの作成はjarコマンドを使用し，サービスプラットフォームが提供しているJARファイルをEARファイルにアーカイブします。

jarコマンドによるアーカイブ時のEARファイルのディレクトリ構成については，「3.3.18(6)　EARファイルの作成」を参照してください。

(a)　事前準備

カレントディレクトリに次に示すファイルのコピーを格納します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥lib¥cscmsg_adpejb.jar

(b)　ファイルの作成

作成するEARファイルのファイル名は「CustomAdapter.ear」にしてください。

次のコマンドを実行すると，EARファイルが作成されます。

jar cf ..¥CustomAdapter.ear .¥

(c)　ファイルの登録

汎用カスタムアダプタとして使用するには，アダプタ追加ウィザードを利用し，作成したEARファイルをHCSC-Definerに登録する必要があります。登録方法については，「3.2.18　汎用カスタムアダプタを新規に追加する」を参照してください。

付録B.4　汎用カスタムアダプタの定義画面

ここでは，汎用カスタムアダプタを定義するときのサービスアダプタ定義画面について説明します。

(1)　サービスアダプタ定義（基本）画面

サービスアダプタ定義（基本）画面の項目について説明します。

図B‒3　サービスアダプタ定義（基本）画面

(a)　［サービス部品制御情報］

汎用カスタムアダプタ新規作成時に指定したサービス部品についての情報が表示されます。

［サービス名］

サービスアダプタ定義追加ウィザードで設定した内容が表示されます。

［サービスID］

サービスIDを入力します。サービスIDは，8バイト以内の英数字およびアンダーバー（_）で指定します。

［サービス種別］

サービス部品の種別として「汎用カスタムアダプタ」が表示されます。

［アドレス］

この項目は使用しません。

［最大インスタンス数］

サービス部品の最大インスタンス数が表示されます。

［サービスクラス名］

この項目は使用しません。

［オペレーション］

オペレーション名が表示されます。サービス部品が持つオペレーション名をドロップダウンリストから選択できます。

［システム例外をフォルトに変換する］チェックボックス

サービス部品で発生した例外をフォルトに変換する場合にチェックします。

［追加］ボタン

オペレーションを追加するダイアログが表示されます。

［削除］ボタン

オペレーション欄で選択したオペレーションを削除します。

(b)　［オペレーション情報］

サービス部品のオペレーションについての情報が表示されます。

［オペレーション名］

サービス部品制御情報のオペレーション欄で選択したオペレーションの名称が表示されます。

［通信モデル］

サービス部品制御情報のオペレーション欄で選択したオペレーションの通信モデルが表示されます。同期または非同期をドロップダウンリストから選択できます。選択内容によって，次のように表示が変わります。

同期を選択した場合：応答電文とフォルト電文の情報が表示されます。

非同期を選択した場合：応答電文とフォルト電文の情報は表示されません。非同期のまま，アダプタ定義を保存すると，応答電文とフォルト電文の全項目は消えます。

(c)　［要求電文］

サービスリクエスタから送信される要求電文の情報が表示されます。

［any型を使う］チェックボックス

要求電文のデータ型を指定しないで作成する場合にチェックします。

［標準］

［使う］チェックボックス

サービスリクエスタから受け付けた標準電文の内容を確認したり，標準電文を汎用カスタムアダプタ用の電文のフォーマットにデータ変換したりする場合にチェックします。

［電文フォーマット］

サービスリクエスタから受け付けた標準電文のフォーマット名が表示されます。

［参照］ボタン

標準電文フォーマットを設定するダイアログが表示されます。

［表示］ボタン

標準電文のフォーマットが表示されます。

［出力］ボタン

標準電文フォーマットの出力先を指定するダイアログが表示されます。

［サービス部品］

［電文フォーマット］

汎用カスタムアダプタのプロトコルコンバータが受け取る要求電文の電文フォーマットのフォーマット名が表示されます。

［参照］ボタン

汎用カスタムアダプタのプロトコルコンバータが受け取る要求電文の電文フォーマットを設定するダイアログが表示されます。

［表示］ボタン

汎用カスタムアダプタのプロトコルコンバータが受け取る要求電文の電文フォーマットが表示されます。

［出力］ボタン

汎用カスタムアダプタのプロトコルコンバータが受け取る要求電文の電文フォーマットの出力先を指定するダイアログが表示されます。

［データ変換定義］

標準電文から汎用カスタムアダプタのプロトコルコンバータが受け取る要求電文へデータ変換するための定義ファイル名を入力します。標準電文の［使う］チェックボックスにチェックを入れていない場合は，この項目は使用しません。

［編集］ボタン

データ変換定義画面が表示されます。データ変換定義欄で設定した定義ファイルの内容を編集できます。初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。標準電文の［使う］チェックボックスにチェックを入れていない場合は，この項目は使用しません。

［削除］ボタン

［編集］ボタンで設定したデータ変換定義を削除します。標準電文の［使う］チェックボックスにチェックを入れていない場合は，この項目は使用しません。

(d)　［応答電文］

サービス部品から送信される応答電文の情報が表示されます。

オペレーション情報の通信モデル欄で，「同期」を選択した場合だけ，設定できます。

［any型を使う］チェックボックス

応答電文のデータ型を指定しないで作成する場合にチェックします。

［標準］

［使う］チェックボックス

サービス部品から受け付けた汎用カスタムアダプタ用の電文の内容を確認したり，汎用カスタムアダプタ用の電文を標準電文のフォーマットにデータ変換したりする場合にチェックします。

［電文フォーマット］

サービスリクエスタへ応答する標準電文のフォーマット名が表示されます。

［参照］ボタン

標準電文フォーマットを設定するダイアログが表示されます。

［表示］ボタン

標準電文のフォーマットが表示されます。

［出力］ボタン

標準電文フォーマットの出力先を指定するダイアログが表示されます。

［サービス部品］

［電文フォーマット］

汎用カスタムアダプタのプロトコルコンバータが送信する応答電文の電文フォーマットのフォーマット名が表示されます。

［参照］ボタン

汎用カスタムアダプタのプロトコルコンバータが送信する応答電文の電文フォーマットを設定するダイアログが表示されます。

［表示］ボタン

汎用カスタムアダプタのプロトコルコンバータが送信する応答電文の電文フォーマットが表示されます。

［出力］ボタン

汎用カスタムアダプタのプロトコルコンバータが送信する応答電文の電文フォーマットの出力先を指定するダイアログが表示されます。

［データ変換定義］

汎用カスタムアダプタのプロトコルコンバータから送信する応答電文から標準電文へデータ変換するための定義ファイル名を入力します。標準電文の［使う］チェックボックスにチェックを入れていない場合は，この項目は使用しません。

［編集］ボタン

データ変換定義画面が表示されます。データ変換定義欄で設定した定義ファイルの内容を編集できます。初めて定義する場合は，［ルート要素選択］ダイアログが表示されます。標準電文の［使う］チェックボックスにチェックを入れていない場合は，この項目は使用しません。

［削除］ボタン

［編集］ボタンで設定したデータ変換定義を削除します。標準電文の［使う］チェックボックスにチェックを入れていない場合は，この項目は使用しません。

(e)　［フォルト電文］

サービス部品のフォルト電文についての情報が表示されます。

［追加］ボタン

フォルト名を追加するダイアログが表示されます。汎用カスタムアダプタの定義では，このボタンは使用しません。

［削除］ボタン

フォルト名欄で選択したフォルト名を削除します。汎用カスタムアダプタの定義では，このボタンは使用しません。

［フォルト名］

サービス部品のフォルトの名称が表示されます。汎用カスタムアダプタの定義では，この欄は使用しません。

［電文フォーマット］

サービス部品のフォルト電文のフォーマット名が表示されます。汎用カスタムアダプタの定義では，この欄は使用しません。

［参照］ボタン

フォルト電文のフォーマットを設定するダイアログが表示されます。汎用カスタムアダプタの定義では，このボタンは使用しません。

［表示］ボタン

フォルト電文のフォーマットが表示されます。汎用カスタムアダプタの定義では，このボタンは使用しません。

［出力］ボタン

フォルト電文のフォーマットの出力先を指定するダイアログが表示されます。汎用カスタムアダプタの定義では，このボタンは使用しません。

(2)　サービスアダプタ定義（詳細）画面

サービスアダプタ定義（詳細）画面の項目について説明します。

図B‒4　サービスアダプタ定義（詳細）画面

(a)　［サービスアダプタ制御情報］

汎用カスタムアダプタの新規作成時に指定したサービス部品についての情報が表示されます。

サービスアダプタ

［サービスアダプタ（EJB-JARファイル）］

汎用カスタムアダプタのEJB-JARファイルの名称が表示されます。

［参照］ボタン

汎用カスタムアダプタのEJB-JARファイル名を設定するダイアログが表示されます。

ユーティリティクラス

［ユーティリティクラス（JARファイル）］

［追加］ボタンで設定したユーティリティクラスが表示されます。

［追加］ボタン

ユーティリティクラスを追加するダイアログが表示されます。「3.3.18　汎用カスタムアダプタを定義する」で作成したJARファイルを追加します。

［出力］ボタン

ユーティリティクラスの出力先を指定するダイアログが表示されます。

［削除］ボタン

ユーティリティクラス欄で選択したファイルを削除します。

独自定義ファイル

［独自定義ファイル］

［追加］ボタンで設定したプロトコルコンバータ用独自定義ファイル，カスタムアダプタプロパティファイル，カスタムアダプタ用アプリケーション統合属性ファイル，およびカスタムアダプタ定義ファイルが表示されます。

［追加］ボタン

独自定義ファイル（プロトコルコンバータ用独自定義ファイル，カスタムアダプタプロパティファイル，カスタムアダプタ用アプリケーション統合属性ファイル，およびカスタムアダプタ定義ファイル）を追加するダイアログが表示されます。

［編集］ボタン

独自定義ファイル（プロトコルコンバータ用独自定義ファイル，カスタムアダプタプロパティファイル，カスタムアダプタ用アプリケーション統合属性ファイル，およびカスタムアダプタ定義ファイル）を編集するためのエディタが起動します。独自定義ファイルを複数選択してクリックした場合は，選択されたすべての独自定義ファイルに対してエディタが起動します。エディタ上で独自定義ファイルを保存したあと，汎用カスタムアダプタを保存することで，編集した内容がリポジトリに反映されます。独自定義ファイルの編集中に汎用カスタムアダプタを保存しようとすると，独自定義ファイルを保存してよいか確認するダイアログが表示されます。

［出力］ボタン

独自定義ファイル（プロトコルコンバータ用独自定義ファイル，カスタムアダプタプロパティファイル，カスタムアダプタ用アプリケーション統合属性ファイル，およびカスタムアダプタ定義ファイル）の出力先を指定するダイアログが表示されます。

［削除］ボタン

独自定義ファイル欄で選択したファイルを削除します。

付録B.5　汎用カスタムアダプタを使用する際の環境設定

ここでは，汎用カスタムアダプタを使用するときに，HCSCサーバの実行環境に対して設定する必要がある内容について説明します。

(1)　保護区リストファイルの設定

HCSCサーバ上で汎用カスタムアダプタを使用するには，プロトコルコンバータ（プロトコル変換処理）を実装しているクラスを，メソッドキャンセルを禁止するクラスとして保護区リストファイルに設定します。

「保護区リストファイル」の要素として，汎用カスタムアダプタの実装クラス名またはプリフィックス名を設定してください。

設定した保護区リストファイルは，J2EEサーバの起動時に読み込まれ，サービスプラットフォームをインストールしたマシン上で動作するすべてのJ2EEサーバで有効になります。

「保護区リストファイル」については，マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.5　criticalList.cfg（保護区リストファイル）」を参照してください。

付録B.6　トラブルシューティング

ここでは，汎用カスタムアダプタの運用時に発生する障害と考えられる原因と対処方法を説明します。

(1)　汎用カスタムアダプタの配備に関するトラブルシューティング

汎用カスタムアダプタを配備できない場合の原因，原因の特定および対策を次に示します。

(a)　原因

汎用カスタムアダプタのデプロイに失敗する場合，主に次の原因が考えられます。

カスタムアダプタ用アプリケーション統合属性ファイルの形式または内容に誤りがある。

「3.3.18　汎用カスタムアダプタを定義する」に示す正しい手順に従っていないため，誤りがあるEARファイルを登録した。

(b)　原因の特定

デプロイ時に表示されるコンソールログを確認してください。

次のようなメッセージが表示されていた場合：

KEOS50007-E An exception occurred during the operation. (Cosminexus Manager
name = <マネージャ識別名>, object name = jp.co.Hitachi.soft.csc.msg:type=
CSCMsgAdapterBuilder, operation = setup, details = The application attributes
file is invalid. (<詳細情報>) ErrorCode=KDEC10031-E)

原因の1.または2.のおそれがあります。

具体的な原因については，＜詳細情報＞を確認してください。

(c)　対策

次の対処をしてください。

カスタムアダプタ用アプリケーション統合属性ファイルの形式または内容に誤りがないか確認してください。誤りがある場合は，ファイルを再作成してください。アプリケーション統合属性ファイルについては，「付録B.2(3)　カスタムアダプタ用アプリケーション統合属性ファイル」を参照してください。

使用しているEARファイルの形式または内容に誤りがないか確認してください。誤りがある場合は，ファイルを再作成してください。EARファイルの作成方法については，「3.3.18(6)　EARファイルの作成」を参照してください。

(2)　汎用カスタムアダプタの開始に関するトラブルシューティング

汎用カスタムアダプタを開始できない場合の原因，原因の特定および対策を次に示します。

(a)　原因

汎用カスタムアダプタの開始に失敗する場合，主に次の原因が考えられます。

登録されているすべてのJARファイルのルートフォルダに，カスタムアダプタ開発フレームワーク動作定義ファイルが配置されていない。

カスタムアダプタ開発フレームワーク動作定義ファイルの形式に誤りがある。

カスタムアダプタプロパティファイルの形式に誤りがある。

プロトコルコンバータJARファイルにプロトコルコンバータのクラスファイルが含まれていない。

カスタムアダプタ開発フレームワーク動作定義ファイルで，プロトコルコンバータの指定に誤りがある，または存在しないプロトコルコンバータを指定している。

プロトコルコンバータにpublicなデフォルトコンストラクタがない。

プロトコルコンバータのstartメソッドで例外が発生した。

(b)　原因の特定

メッセージログファイルを確認してください。

メッセージログに次のようなメッセージが記録されていた場合：

KDEC02513-E An attempt to read the file has failed. (adapter name =
<アダプタ名>, file name =<ファイル名>, information =<詳細情報>)

埋め文字と原因の対応を次の表に示します。

表B‒7　KDEC02513-E発生時の原因

ファイル名

詳細情報

原因

framework_properties.xml

InputStream is null

原因の1.のおそれがあります。

InvalidPropertiesFormatException

原因の2.のおそれがあります。

defs/customadapter_properties.xml

InvalidPropertiesFormatException

原因の3.のおそれがあります。

メッセージログに次のようなメッセージが記録されていた場合：

KDEC03015-E An initialization error occurred in the protocol converter.
(adapter name = <アダプタ名>, information =<原因となった例外名>)

埋め文字と原因の対応を次の表に示します。

表B‒8　KDEC03015-E発生時の原因

原因となった例外名

原因

ClassNotFoundException

原因の4.または5.のおそれがあります。

IllegalAccessException

原因の6.のおそれがあります。

CSCMsgCustomAdapterException

原因の7.のおそれがあります。

(c)　対策

原因が1.〜2.の場合，次の対処をしてください。

カスタムアダプタ開発フレームワーク動作定義ファイルの形式または内容に誤りがないか確認してください。誤りがある場合は，ファイルを再作成してください。カスタムアダプタ開発フレームワーク動作定義ファイルの詳細は，「付録B.2(1)　カスタムアダプタ開発フレームワーク動作定義ファイル」を参照してください。

カスタムアダプタ開発フレームワーク動作定義ファイルをプロトコルコンバータJARファイルの中の指定された場所に配置しているか確認してください。指定された場所に配置されていない場合は，正しい場所に配置し直してください。

原因が3.の場合，次の対処をしてください。

カスタムアダプタプロパティファイルの形式または内容に誤りがないか確認してください。誤りがある場合は，ファイルを再作成してください。カスタムアダプタプロパティファイルの詳細は，「付録B.2(2)　カスタムアダプタプロパティファイル」を参照してください。

原因が4.〜5.の場合，次の対処をしてください。

プロトコルコンバータJARファイルにプロトコルコンバータのクラスファイルが含まれているか確認してください。含まれていない場合は，jarコマンドを使用して，プロトコルコンバータクラスファイルとそれが使用するクラスファイルおよび，カスタムアダプタ開発フレームワーク動作定義ファイルをJARファイルにアーカイブしてください。プロトコルコンバータJARファイルの作成方法については，「3.3.18(5)(a)　プロトコルコンバータJARファイルの作成」を参照してください。

カスタムアダプタ開発フレームワーク動作定義ファイルで，プロトコルコンバータ名をパッケージ名付きで指定しているか確認してください。誤りがある場合は，プロトコルコンバータ名をパッケージ名付きで指定し直してください。

カスタムアダプタ開発フレームワーク動作定義ファイルで，プロトコルコンバータ名を指定するentry要素のkey属性の値はclassnameか確認してください。誤りがある場合は，key属性がclassnameであるentryタグに，プロトコルコンバータのクラス名を記述してください。

原因が6.の場合，次の対処をしてください。

プロトコルコンバータにpublicなデフォルトコンストラクタを定義しているか確認してください。定義されていない場合は，publicなデフォルトコンストラクタを定義してください。

原因が7.の場合，次の対処をしてください。

プロトコルコンバータのstartメソッドの処理を確認してください。処理内容に誤りがある場合は，実装し直してください。startメソッドの形式については，「付録B.1(2)(a)　CSCMsgCustomAdapterContextインターフェース」を参照してください。

使用している環境や設定がプロトコルコンバータの開始できる状態か確認してください。

(3)　プロトコルコンバータからの操作に関するトラブルシューティング

プロトコルコンバータからファイルの操作をしようとするとjava.security.AccessControlException例外が発生する場合の原因，原因の特定および対策を次に示します。

(a)　原因

Javaのセキュリティ機能によって，ファイルアクセスが禁止された可能性があります。

(b)　原因の特定

プロトコルコンバータの中で，ファイルアクセス時にjava.security.AccessControlExceptionが送出されることを確認してください。

(c)　対策

次の対策をしてください。

コンテナ拡張ライブラリを使用する

コンテナ拡張ライブラリの利用については，マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「19.2　コンテナ拡張ライブラリの利用」を参照してください。コンテナ拡張ライブラリの実装については，マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「19.3.2　コンテナ拡張ライブラリの作成と利用の流れ」を参照してください。

セキュリティポリシーファイルの設定を書き換える

セキュリティポリシーの設定については，マニュアル「アプリケーションサーバ 機能解説 拡張編」の「8.8.2　セキュリティポリシーの設定」を参照してください。

ユーザログ機能を使用する（ファイルアクセスの目的がログ出力の場合）

ユーザログ機能については，マニュアル「アプリケーションサーバ 機能解説 拡張編」の「8.12　ユーザログ機能を使用する場合の注意事項」を参照してください。

付録C　DBアダプタ定義支援機能を利用したDBアダプタの定義

ここでは，DBアダプタ定義支援機能を利用して，DBアダプタの定義を作成する方法について説明します。

付録C.1　DBアダプタ定義支援機能の概要

DBアダプタ定義支援機能は，大きく分けて，次の2つの機能があります。

DBアダプタ用各種定義ファイルの作成

DBアダプタ定義時に必要なファイルを生成します。この機能を使用すると，次のファイルを生成できます。

SQLオペレーション定義ファイル

アプリケーション統合属性ファイル

要求電文および応答電文の標準電文

要求電文および応答電文のサービス部品電文

注意事項

サービスリクエスタからの1回のサービス部品の実行要求で，複数のSQLを実行する機能に対応した，要求電文の標準電文フォーマットについては生成できません。1回の要求で複数のSQLを実行する要求電文の標準電文フォーマットについては，手動で作成してください。

引数要素のあるSQL文のデバッグ

DBアダプタ定義支援機能では，引数要素があるSQL文をデバッグするために，次の3つの機能を提供します。

引数要素を抽出する機能

引数要素に値を代入したあとでSQL文を実行する機能

SQL実行結果を確認する機能

付録C.2　DBアダプタの定義

開発環境上でDBアダプタを定義する場合の作業の流れを次の図に示します。

図C‒1　DBアダプタの定義の流れ

各作業の詳細は，以降で説明します。なお，ここでは，HiRDBを使用することを前提として説明します。Oracleを使用する場合は，各種定義を読み替えてください。

DBアダプタ定義支援機能では，HiRDB，Oracle以外のデータベースはサポートしていません。

注意事項

Eclipseプロジェクトをクローズする場合は，DBアダプタ定義支援機能のエディタをすべて閉じてから実施してください。

(1)　SQL設計

DBアダプタ定義支援機能を使って，DBアダプタ上で実行するSQL文の内容を設計します。SQL実行文の表や列の名称およびデータなどの可変部分については，引数要素として設計します。

ただし，DBアダプタ定義支援機能で指定できるSQL命令は，デフォルトで次の2つです。

SELECT

INSERT

SQLオペレーション定義ファイルでsqloperation_chk属性にNを指定することで，次のSQLをSQL命令に指定できます。

UPDATE

DELETE

また，指定できるデータ型は，DB Connectorで使用するJDBCドライバがサポートしているデータ型だけです。

(2)　DBアダプタの設計

DBアダプタの内容を設計します。次の内容について設計してください。

(a)　DBアダプタの作成単位

DBアダプタはDB Connector単位で必要なため，DB Connectorの構成に合わせてDBアダプタを用意します。

例えば，複数のデータベースと連携するシステムでは，データベースごとにDB Connectorが存在します。このため，データベースのDB ConnectorごとにDBアダプタを作成します。

図C‒2　データベースごとにDB Connectorが存在する場合

また，コネクションプールの設定値をDBアダプタごとに設定する場合などは，同じデータベースに複数のDB Connectorを用意します。この場合は，データベースの数に関係なく，DB Connector単位でDBアダプタを作成します。

図C‒3　1つのデータベースに複数のDB Connectorが存在する場合

(b)　SQL文の定義単位

DBアダプタには，1つ以上のSQL文を定義できます。各DBアダプタで定義するSQL文の内容を設計します。SQL文の設計例を次に示します。

データベースごとに異なるSQL文を実行したい場合

データベースごとに異なるSQL文を実行したい場合は，それぞれのデータベースに対応するDBアダプタ上にSQL文を定義します。

例えば，図中の「データベース1」で検索した結果を「データベース2」に登録したい場合は，「DBアダプタ1」にSELECTを，「DBアダプタ2」にINSERTを定義します。

図C‒4　データベースごとに異なるSQL文を実行したい場合

同一データベースに対して，異なるSQL文を実行したい場合

同じデータベースに対して，アクティビティごとに異なるSQL文を実行したい場合は，DBアダプタ上に複数のSQL文を定義します。

例えば，最初のアクティビティで検索した結果を，次のアクティビティで登録したい場合は，同じDBアダプタ上にSELECTとINSERTの両方を定義します。

図C‒5　同一のデータベースに対して異なるSQL文を実行したい場合

DBアダプタ定義支援機能を使用して，1つのDBアダプタ上に複数のSQL文を定義する場合は，オペレーションを呼び出すSQL文単位で定義します。

オペレーションの指定方法については，「(5)　SQL文の作成」を参照してください。

(3)　デバッグ用のDBアダプタの定義ファイルの生成

デバッグに使用するDBアダプタの定義ファイルのひな形を作成します。DBアダプタの定義ファイルは，Eclipse上で作成します。DBアダプタの定義ファイルを新規作成する方法を次に示します。

注意事項

DBアダプタ定義ファイルの編集中に次のメッセージが表示された場合，［パッケージ・エクスプローラー］ビュー上で，プロジェクトを選択して右クリックし，［更新］メニューを選択してリソースとファイル・システムを同期させてください。

リソース '<ファイルパス>' はファイル・システムと非同期です。

DBアダプタ定義ファイルを削除する場合，DBアダプタ定義ファイル作成時に作られた出力先ディレクトリは削除されません。必要に応じて，削除してください。

DBアダプタ定義ファイルを操作する場合は，HCSCTE-DBEditorパースペクティブ選択時に開かれるビューを使用してください。

Eclipse上にプロジェクトを作成します。

プロジェクトの種類は，HCSCTEプロジェクトを推奨します。HCSCTEプロジェクトの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「3.1.1　プロジェクトを作成する」を参照してください。

Eclipseのメニューから，［ウィンドウ］−［パースペクティブを開く］−［その他］を選択します。

［パースペクティブを開く］ダイアログが表示されます。

［HCSC-DBEditor］を選択し，［開く］ボタンをクリックします。

［DBアダプタ開発支援］パースペクティブが表示されます。

Eclipseのメニューから，［ファイル］−［新規］−［その他］を選択します。

ウィザードを選択するダイアログが表示されます。

［HCSCTE-DBEDITOR］の［DBEditor ファイル］を選択して，［次へ］ボタンをクリックします。

新規DBアダプタ定義ファイルウィザードが表示されます。

［親フォルダを入力または選択］で，DBアダプタの定義ファイルを保存するフォルダを入力または選択します。

保存する定義ファイルのファイル名を［ファイル名］に指定します。

［終了］ボタンをクリックします。

新しい定義ファイルが作成され，DBアダプタ開発支援画面が表示されます。

(4)　デバッグ用のデータベースの設定

DBアダプタの定義ファイルに，使用するデータベースの内容を設定します。本番環境用のデータベースとは別にデバッグ用のデータベースを使用するかどうかによって，設定方法が異なります。デバッグ用のデータベースを使用しない場合は，SQLのデバッグができません。

参考

Service Architectに含まれる構成ソフトウェアのHiRDB/Single Serverをインストールすると，デバッグ用のデータベースとして使用できます。インストールの詳細については，マニュアル「サービスプラットフォーム 開発ガイド基本開発編」の「2.1.2　インストール」を参照してください。

(a)　本番環境用とは別にデバッグ用のデータベースを用意する場合

本番環境用のデータベースとは別に，デバッグ用のデータベースを用意する場合の設定方法を次に示します。

Eclipse上でDBアダプタの定義ファイルを開きます。

DBアダプタ開発支援画面が表示されます。

［コネクション］タブにある［DataSources］を右クリックし，［新規データソース］を選択します。

［新規データソース］ダイアログが表示されます。

［データベースコネクション］の入力フィールドに値を入力します。

SQLをデバッグするための設定をします。

ここでは，JDBCドライバを利用して接続するための設定をします。

表C‒1　［データベースコネクション］の入力フィールドに定義する内容（［新規データソース］ダイアログ）

表示項目

説明

デフォルト値※

名称

DBアダプタ開発支援画面の［コネクション］タブに表示する名称です。DBエディタ定義ファイル内で一意になるような任意の名称を指定します。

HiRDB

データベースなし

デバッグ用のデータベースがない場合にチェックします。

チェックなし

ドライバ JAR

JDBCドライバのJARファイルを指定します。

対応するJDBCドライバは事前に入手しておいてください。

<サービスプラットフォームのインストールディレクトリ>¥DB¥CLIENT¥UTL¥pdjdbc2.jar

ドライバ

使用するJDBCドライバのパッケージ名（完全修飾Javaクラス名）を指定します。

JP.co.Hitachi.soft.HiRDB.JDBC.HiRDBDriver

URL

接続するデータベースのポート番号とホスト名を指定した，データベース接続URLを指定します。

jdbc:hitachi:hirdb://DBID=22200,DBHOST=localhost

ユーザ名

データベースへ接続するときに使用するログインユーザ名を指定します。

admin

パスワード

データベースへ接続するときに使用するパスワードを指定します。

admin（画面上の表示は「****」）

注

［データベースコネクション］の入力フィールドの値は，SQL文をデバッグするときにだけに使用されます。DBアダプタ定義支援機能で生成するSQLオペレーション定義ファイルおよびアプリケーション統合属性ファイルには，使用されません。

注※

デフォルト値は，［新規データソース］ダイアログ上の［デフォルト］ボタンをクリックした場合の値です。

初期値は，HCSC簡易セットアップ機能を初期値で実行した場合に構築された環境の値です。

［DBアダプタ設定］の入力フィールドに値を入力します。

ここでは，DBアダプタ用のSQLオペレーション定義ファイル，およびアプリケーション統合属性ファイルを定義するための設定をします。使用するDB Connectorの設定に沿って指定してください。

表C‒2　［DBアダプタ設定］の入力フィールドに定義する内容（［新規データソース］ダイアログ）

表示項目

説明

デフォルト値※

データベース参照名

データベース参照名を指定します。

DB_SERVER1

データベース種別

データベース種別を指定します。

HIRDB

リソースアダプタ名

DB Connectorのプロパティ定義（display-name）に指定したリソースアダプタの名称を指定します。

リソースアダプタ名がドロップダウンリストから選択できない場合は，直接値を入力してください。

DBConnector_HiRDB_Type4_CP

インスタンスの最大値

DBアダプタのインスタンスの最大数を指定します。

無制限の場合は，0を指定します。

0

インスタンスの最小値

DBアダプタのインスタンスの最小数を指定します。

1

DB Connector の共有

DBアダプタが参照するDB Connectorを共有するかどうかを指定します。

Shareable

検索結果出力最大件数

SELECTで検索した結果の最大出力件数を指定します。

検索結果が指定値より大きい場合は，指定値までの件数が表示されます。

（例）

「1000」を指定した場合は，最大1,000レコードまでの結果を表示します。

1000

実行する SQL 文の最大個数

1回のサービス部品実行要求で複数のSQL文を実行する場合，実行するSQL文の最大個数を指定します。

1024

注※

デフォルト値は，［新規データソース］ダイアログ上の［デフォルト］ボタンをクリックした場合の値です。

初期値は，HCSC簡易セットアップ機能を初期値で実行した場合に構築された環境の値です。

注意事項

DBアダプタ設定で，DBMSとしてHiRDBを使用する場合，データベース種別とリソースアダプタ名が次の組み合わせになるように設定してください。

データベース種別としてHIRDBを使用する場合，リソースアダプタ名にはDBConnector_DABJ_CPまたはDBConnector_DABJ_XAを設定してください。

データベース種別としてHIRDB-TYPE4を使用する場合，リソースアダプタ名にはDBConnector_HiRDB_Type4_CPまたはDBConnector_HiRDB_Type4_XAを設定してください。

［OK］ボタンをクリックします。

設定した内容が登録されます。

(b)　本番環境用のデータベースをデバッグに使用する場合

デバッグ用のデータベースを使用しない場合の設定方法を次に示します。

Eclipse上でDBアダプタの定義ファイルを開きます。

DBアダプタ開発支援画面が表示されます。

［コネクション］タブにある［DataSources］を右クリックし，［新規データソース］を選択します。

［新規データソース］ダイアログが表示されます。

［データベースコネクション］の［データベースなし］チェックボックスをチェックします。

［DBアダプタ設定］に本番環境用のデータベースの設定内容を入力します。

［OK］ボタンをクリックします。

設定した内容が登録されます。

(5)　SQL文の作成

DBアダプタ上で実行するSQL文を定義します。

Eclipse上でDBアダプタの定義ファイルを開きます。

DBアダプタ開発支援画面が表示されます。

［データソース］プルダウンリストから，使用するデータソースを選択します。

［オペレーション］プルダウンリストの横の［追加］ボタンをクリックします。

追加するオペレーションの名称を定義するダイアログが表示されます。

追加するオペレーション名を入力し，［OK］ボタンをクリックします。

1つのDBアダプタに複数のSQLを定義したい場合は，オペレーションを呼び出すSQLごとに定義します。

SQL文の入力フィールドに実行するSQL文を定義します。

引数要素の定義方法については，「●SQLオペレーション定義ファイルの形式」を参照してください。

注意事項

各オペレーションに記述できるSQLは1つだけです。

ワイルドカード（*）は使用できません。SELECTで検索するカラム名は，すべて記述してください。

SQL文の最後にセミコロンは不要です。

(6)　SQLのデバッグ

定義したSQLのデバッグを実施します。SQL文中の引数要素については，値を代入して実行します。なお，SQLのデバッグは，本番環境用のデータベースとは別に，デバッグ用のデータベースを用意している場合にだけ実施できます。

次の手順でSQLのデバッグを実施してください。

デバッグ用のテーブルを作成します。

事前にデバッグ用のデータベース上にデバッグで使用するテーブルを作成します。定義したSQLに沿ってテーブルを作成してください。

作成例

テーブル名：PURCHASEMASTERTABLE

テーブル構成：

ORDERID

(VARCHAR)

ORDERNAME

(VARCHAR)

PRODUCTCODE

(VARCHAR)

PRODUCTNAME

(VARCHAR)

NUMBER

(INTEGER)

01

AA001

0A1

NPW

4

02

AA002

0A1

NPW

3

03

AA003

0E1

NPW

3

04

BB001

0E1

NPW

4

05

BB002

0B1

NPW

5

Eclipse上でDBアダプタの定義ファイルを開きます。

DBアダプタ開発支援画面が表示されます。

引数要素を抽出したいSQL文を［オペレーション］プルダウンリストから選択した状態で，ツールバーの［変数の生成］アイコン（[図データ]［変数］タブに反映されます。

［変数］タブの［値］列に，デバッグで使用したい値を入力します。

設定例

引数要素名

DBa_inf

data_type

値

KEYCOLUMN

column

−

ORDERID

ENZANSHI

preset

−

=

DATA

data

VARCHAR

'01'

なお，デバッグ用のデータベースを用意していない場合は，以降の手順を実施できません。［実行するSQL文の表示］アイコン（[図データ]）をクリックすると，Messagesビューに引数要素に値を代入した状態のSQLが表示されるので，この画面でSQL文が正しいかどうかを確認してください。

［コネクション］タブに表示されている，デバッグに使用するデータソースを右クリックし，［接続］を選択します。

設定した内容でデータベースに接続します。接続が成功すると，Messagesビューに，「INFO: データソース <データソース名> の接続に成功しました。」のメッセージが表示されます。

なお，SQL文が複数定義されている場合は，SQL文ごとに手順3〜手順5を繰り返してください。

ツールバーにある［SQLの実行］アイコン（[図データ]）をクリックします。

SQLの実行に失敗した場合は，Messagesビューにエラーメッセージが表示されます。メッセージに従ってSQLおよび引数要素名を修正してください。

なお，SQLの実行結果は，［実行結果］タブに表示されます。

(7)　本番環境用のデータベースの設定

DBアダプタの定義ファイルのデータソースの設定を，本番環境用のデータベースの情報に変更します。

注意事項

本番環境用のデータベースの情報に変更する前に，デバッグで使用したデータリソースを切断しておいてください。データソースの切断方法は，次のとおりです。

デバッグで使用したDBアダプタの定義ファイルをEclipse上で開きます。

［コネクション］タブで，デバッグに使用したデータソースを右クリックし，［切断］を選択します。

次の手順でデータベースの情報を変更します。

デバッグで使用したDBアダプタの定義ファイルをEclipse上で開きます。

DBアダプタ開発支援画面が表示されます。

［コネクション］タブに表示されているデータソースを右クリックして，［データソース編集］を選択します。

［データソース編集］ダイアログが表示されます。

［DBアダプタ設定］の入力フィールドに本番環境用のデータベースの情報を入力します。

［OK］ボタンをクリックします。

設定した内容が登録されます。

(8)　本番環境用のDBアダプタの定義ファイルの生成

本番環境で使用するDBアダプタの定義ファイルの生成方法を次に示します。

Eclipse上で，デバッグ用のDBアダプタの定義ファイルを開きます。

DBアダプタ開発支援画面が表示されます。

［データソース］プルダウンリストから，本番環境用のDBアダプタの定義ファイルに反映させたいデータソースを選択します。

ツールバーの［DBアダプタ定義生成］アイコン（[図データ]）をクリックします。

［DBアダプタ定義生成］ダイアログが表示されます。

［出力先ディレクトリ］に，本番環境用のDBアダプタの定義ファイルを出力するディレクトリを指定します。

［...］ボタンをクリックすると，［出力先ディレクトリ］に次のパスが選択されます。

＜Eclipseのプロジェクトのパス＞¥＜DBアダプタの定義ファイル名＞_Output

注意事項

出力先ディレクトリにEclipseのプロジェクトのパスを指定した場合は，Eclipseの機能を使って，DBアダプタの定義ファイルおよび生成結果を一括でインポートおよびエクスポートできます。

出力先ディレクトリ名は，絶対パスをUTF-8で変換したときに155バイト以内になるように指定してください。

生成したいオペレーションのチェックボックスにチェックします。

1つのDBアダプタに複数のSQL文を定義した場合は，SQLの定義に必要なオペレーションをすべて選択してください。

［終了］ボタンをクリックします。

指定した出力先ディレクトリに，本番環境で使用するDBアダプタの定義ファイルが出力されます。

なお，出力先ディレクトリにEclipseのプロジェクトのパスを指定している場合は，DBアダプタの定義ファイルを生成したあとに，出力先となるEclipseのプロジェクトを更新してください。Eclipseのパッケージ・エクスプローラー上に，生成されたDBアダプタの定義ファイルが表示されます。

生成されるファイルの一覧を次の表に示します。

表C‒3　生成されるファイルの一覧

ファイルの種別

ファイル名

数量

備考

SQLオペレーション定義ファイル

csa_sql_dbadapter.xml

1

−

アプリケーション統合属性ファイル

cscadapter_property.xml

1

−

要求電文の標準電文※1

＜オペレーション名＞_Input.xsd

0〜N※2

＜オペレーション名＞は，指定したオペレーション名になります。

応答電文の標準電文※3

＜オペレーション名＞_Output.xsd

0〜N※2

＜オペレーション名＞は，指定したオペレーション名になります。

要求電文および応答電文のサービス部品電文

ServiceMessageFile.xsd

1

要求電文および応答電文のサービス部品電文には，同じファイルを使用してください。

（凡例）

−：該当する説明はありません。

注※1

SQL文中に引数要素がない場合，要求電文の標準電文は生成されません。サービス部品電文だけを使用してください。引数要素がない状態でDBアダプタを呼び出す場合は，Java呼出アクティビティなどで要求電文を生成して，DBアダプタを呼び出します。

設定例

　オペレーション名：select_op

　実行するSQL文：SELECT ORDERID FROM PURCHASEMASTERTABLE

　Java呼出アクティビティなどで生成する電文：

　<?xml version="1.0" encoding="UTF-8"?>

　<DBadapter>

　　　<DBA_MULTI_SQL>

　　　　　<select_op>

　　　　　　　<DBA_IN_DATA/>

　　　　　</select_op>

　　　</DBA_MULTI_SQL>

　</DBadapter>

注※2

本番環境用のDBアダプタの定義ファイルを生成したときに指定したオペレーションの数になります。

注※3

応答電文の標準電文は，SQL命令がSELECTの場合にだけ出力されます。INSERTの場合は，応答電文のサービス部品電文フォーマットを使用してください。

(9)　本番環境用のDBアダプタの設定

生成した本番環境用のDBアダプタの定義ファイルを使用して，DBアダプタを作成します。

(a)　DBアダプタの作成

Eclipseに組み込まれているHCSCTEを利用して，DBアダプタを新規に定義します。DBアダプタを新規に定義する方法については，「3.2.5　DBアダプタを新規に追加する」を参照してください。

また，「(8)　本番環境用のDBアダプタの定義ファイルの生成」で指定したオペレーションを，作成したDBアダプタに追加してください。複数のオペレーションを指定した場合は，指定したオペレーションの数だけ追加してください。

(b)　SQLオペレーション定義ファイルとアプリケーション統合属性ファイルの設定

作成したDBアダプタのサービスアダプタ定義（詳細）画面を表示します。［独自定義ファイル］に次のファイルを追加してください。

csa_sql_dbadapter.xml（生成したSQLオペレーション定義ファイル）

cscadapter_property.xml（生成したアプリケーション統合属性ファイル）

図C‒6　DBアダプタに追加する独自定義ファイル

(c)　要求電文と応答電文の設定

作成したDBアダプタのサービスアダプタ定義（基本）画面を表示します。次の内容を設定してください。

オペレーション名の設定

［サービス部品制御情報］の［オペレーション］

オペレーション名をドロップダウンリストから選択します。

オペレーションに対応する要求電文の設定

［要求電文］の［標準］の［電文フォーマット］

「＜オペレーション名＞_Input.xsd」を指定します。

［要求電文］の［サービス部品］の［電文フォーマット］

「ServiceMessageFile.xsd」を指定します。

オペレーションに対応する応答電文の設定

［応答電文］の［標準］の［電文フォーマット］

「＜オペレーション名＞_Output.xsd」を指定します。ただし，指定したオペレーションに含まれるSQL命令がSELECTの場合にだけ指定します。INSERTの場合は不要です。

［応答電文］の［サービス部品］の［電文フォーマット］

「ServiceMessageFile.xsd」を指定します。

設定例を次の図に示します。

図C‒7　要求電文と応答電文の設定例

(d)　データ変換（マッピング）の定義

データ変換するときの変換元と変換先のマッピングを定義します。

要求電文のデータ変換（マッピング）の定義

要求電文の標準電文およびサービス部品電文のデータ変換には，自動マッピング機能を使用できます。自動マッピング機能の詳細については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.4　マッピングする」を参照してください。

応答電文のデータ変換（マッピング）の定義

応答電文の標準電文およびサービス部品電文のデータ変換は，手動でマッピングする必要があります。

SELECTの検索結果を標準電文に変換する方法については，「3.3.5(5)　データ変換」を参照してください。

INSERTの場合は，応答電文の標準電文フォーマットファイルが出力されないため，マッピングの必要はありません。INSERTの実行結果は，サービス部品側と同じ電文フォーマットのXML電文に格納されます。

付録C.3　分散開発時のエクスポート・インポート

複数の開発環境でDBアダプタを開発（分散開発）する場合は，マスタ開発環境以外の環境で開発したDBアダプタをエクスポートし，マスタ開発環境にインポートします。

DBアダプタ単位でエクスポートおよびインポートする方法と，DBアダプタの定義ファイル単位でエクスポートおよびインポートする方法について，次に説明します。

(1)　DBアダプタ単位のエクスポート・インポート

Eclipseに組み込まれているHCSCTEを利用して開発した場合，作成したDBアダプタはリポジトリに格納されます。このため，DBアダプタを分散開発した場合，一つのリポジトリとしてエクスポートおよびインポートすることができます。

エクスポート方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「3.2.2　リポジトリをエクスポートする」を参照してください。インポート方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「3.2.3　リポジトリをインポートする」を参照してください。

(2)　DBアダプタの定義ファイル単位のエクスポート・インポート

DBアダプタ用の各種定義ファイルの出力先にEclipseのプロジェクトを指定している場合は，Eclipseの標準機能を使用して，DBアダプタの定義ファイルおよび生成結果を一括でエクスポートおよびインポートできます。

エクスポート方法およびインポート方法の詳細については，Eclipseのドキュメントを参照してください。

付録D　ファイルアダプタの設定例

サンプルを利用してシステムを構築・運用する手順を説明します。

付録D.1　サンプルについて

注意事項

ここでは，開発環境内の運用・実行環境（テスト環境）でサンプルを実行することを前提として説明しています。

ここで使用するサンプルでは，ファイルアダプタとDBアダプタを利用して，ファイルから読み込んだデータのDBへの格納，およびDB検索結果のファイルへの書き込みを行います。ファイルの読み込みおよび書き込みは，ファイル形式ごとに行います。

(1)　ファイルから読み込んだデータのDBへの格納

処理の概要を次の図に示します。

図D‒1　サンプルの概要（ファイルから読み込んだデータのDBへの格納）

既存システムからFTPなどで転送されたファイルから，ファイルアダプタによってデータを読み込み，DBアダプタを通じてデータベースに格納します。ビジネスプロセスはファイルの転送を契機に実行されるものとします。

サンプルは，ビジネスプロセス内の定義およびビジネスプロセスの実行（サービスリクエスタ）の範囲で提供されています。

(2)　DB検索結果のファイルへの書き込み

処理の概要を次の図に示します。

図D‒2　サンプルの概要（DB検索結果のファイルへの書き込み）

ビジネスプロセスを実行するサービスリクエスタからデータベースの検索条件を入力し，DBアダプタを通じてテーブルのデータを取得します。取得したデータはファイルアダプタを利用してファイルに書き込みます。

サンプルは，ビジネスプロセス内の定義およびビジネスプロセスの実行（サービスリクエスタ）の範囲で提供されています。

(3)　サンプルの一覧

提供するサンプルを次の表に示します。

表D‒1　サンプル一覧

サンプル

説明

ディレクトリ※1

XMLデータ読み込みサンプル

XML形式のファイルから読み込んだ情報をDBへ格納します。

read_xml

CSVデータ読み込みサンプル

CSV形式のファイルから読み込んだ情報をDBへ格納します。

read_csv

固定長データ読み込みサンプル※2

固定長形式のファイルから読み込んだ情報をDBへ格納します。

read_fix

XMLデータ書き込みサンプル

DB検索結果をXML形式のファイルに書き込みます。

write_xml

CSVデータ書き込みサンプル

DB検索結果をCSV形式のファイルに書き込みます。

write_csv

レングスタグデータ書き込みサンプル※3

DB検索結果をレングスタグデータ形式のファイルに書き込みます。

write_len

注※1

サンプルで使用するファイルが格納されたディレクトリ名です。これらのディレクトリは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample」の配下に格納されています。

注※2

CSVデータの読み込みサンプルと同様の設定で使用できるため，このマニュアルでは説明していません。

注※3

CSVデータの書き込みサンプルと同様の設定で使用できるため，このマニュアルでは説明していません。

(4)　サンプルの前提

サンプルを使用するための前提知識および前提環境を次に示します。

前提知識

次の内容を理解していることを前提とします。

サービスプラットフォーム（Service ArchitectおよびService Platform）を利用した，SOAに対応したシステム構築の知識

SQLおよびリレーショナルデータベースに関する基本的な知識

前提環境

次の製品のインストールおよび環境構築が完了していることを前提とします。

Service Architect

Service Platform

HiRDB SQL Executer

サンプルでは，HCSC簡易セットアップ機能で構築した環境に沿って説明しています。HCSC簡易セットアップ機能の詳細は，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.4　テスト環境の簡易セットアップ」を参照してください。

なお，HCSC簡易セットアップ機能を使用する場合，HCSC簡易セットアップ画面（［サーバ名称］タブ）では［V7互換名称］を選択してください。

付録D.2　DBアダプタの設定

サンプルを使用するためのDBアダプタの設定について説明します。

ここで示す設定は，1回行えば，複数のサンプルで利用できます（サンプルごとに設定する必要はありません）。

(1)　DBアダプタの定義

DBアダプタを定義する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

サービスアダプタ定義追加ウィザードが表示されます。

サービス部品の種別のドロップダウンリストから「DBアダプタ」を選択します。

［次へ］ボタンをクリックします。

サービスアダプタ定義追加（DBアダプタ）ウィザードが表示されます。

サービス名を入力します。

サービス名には，「CSAFF_SAMPLE_DB」と入力します。

［終了］ボタンをクリックします。

必要なファイルが作成され，リポジトリに保存されます。サービスアダプタ定義画面（基本）が表示されます。

サービスアダプタ定義画面（基本）およびサービスアダプタ定義画面（詳細）を設定します。

設定内容については，「DBアダプタの設定内容」を参照してください。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

DBアダプタの設定を検証します。

ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから，「検証」を選択すると，検証結果がコンソールビューに表示されます。

DBアダプタの設定内容

サンプルのDBアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒2　サービスアダプタ定義画面（基本）の設定内容（DBアダプタ）

分類

項目

設定値

設定

サービス部品制御情報

サービス名

CSAFF_SAMPLE_DB

◎

サービスID

CSAFF_DB

◎

サービス種別

DBアダプタ

×

最大インスタンス数

0

◎

オペレーション

CSAFF_SAMPLE_DB

◎

オペレーション情報

オペレーション名

CSAFF_SAMPLE_DB

×

通信モデル

同期

◎

要求電文

標準

使う（チェックボックス）

使わない（チェックしない）

◎

サービス部品

電文フォーマット

csaff_sample_sqlformat.xsd

◎

応答電文

標準

使う（チェックボックス）

使わない（チェックしない）

◎

サービス部品

電文フォーマット

csaff_sample_sqlformat.xsd

◎

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

サンプルのDBアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒3　サービスアダプタ定義画面（詳細）の設定内容（DBアダプタ）

分類

項目

設定値

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscdba_ejb.jar

×

独自定義ファイル

csa_sql_csaff_sample.xml

◎

cscadapter_property.xml

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

(2)　DBアダプタの配備定義

定義したDBアダプタをサーバに配備して開始します。

DBアダプタの配備定義の手順を次に示します。

ツリービューの［サービス定義一覧］を右クリックして，［複数サービスをサーバに配備して開始］を選択します。

サービス選択ページで配備および開始するサービスを選択します。

［Finish］ボタンをクリックします。

処理中であることを知らせるメッセージが表示されたあと，結果を知らせるメッセージが表示されます。

［OK］ボタンをクリックします。

DBアダプタの配備と開始が完了します。

付録D.3　XMLデータ読み込みサンプル

XMLデータ読み込みサンプルでは，XML形式のファイルからファイルアダプタによってデータを読み込み，DBアダプタを通してデータベースに格納します。

入出力項目を次の表に示します。

表D‒4　入出力項目一覧（XMLデータ読み込みサンプル）

入出力項目

内容

ファイルアダプタの入力ファイル

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_xml¥read_xml_data.xml

DBアダプタの出力テーブル

ADMIN.CSAFF_SAMPLE_RX※

注※

スキーマ名は変更しないでください。

(1)　ファイルアダプタの定義

(a)　ファイルアダプタの追加と検証

ファイルアダプタを追加設定し，検証する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

サービスアダプタ定義追加ウィザードが表示されます。

サービス部品の種別のドロップダウンリストから「ファイルアダプタ」を選択します。

［次へ］ボタンをクリックします。

サービスアダプタ定義追加（ファイルアダプタ）ウィザードが表示されます。

サービス名を入力します。

サービス名には，「CSAFF_SAMPLE_READ_XML」と入力します。

［終了］ボタンをクリックします。

必要なファイルが作成され，リポジトリに保存されます。サービスアダプタ定義画面（基本）が表示されます。

サービスアダプタ定義画面（基本）およびサービスアダプタ定義画面（詳細）を設定します。

設定内容については，「ファイルアダプタの設定内容（XMLデータ読み込みサンプル）」を参照してください。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

ファイルアダプタの設定を検証します。

ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから，「検証」を選択すると，検証結果がコンソールビューに表示されます。

ファイルアダプタの設定内容（XMLデータ読み込みサンプル）

XMLデータ読み込みサンプルのファイルアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒5　サービスアダプタ定義画面（基本）の設定内容（XMLデータ読み込みサンプル）

分類

項目

設定値

設定

サービス部品制御情報

サービス名

CSAFF_SAMPLE_READ_XML

◎

サービスID

CSAFF_RX

◎

サービス種別

ファイルアダプタ

×

最大インスタンス数

0

◎

オペレーション

定義パターン：XML読み込み

オペレーション名：CSAFF_SAMPLE_READ_XML

◎

オペレーション情報

オペレーション名

CSAFF_SAMPLE_READ_XML

×

通信モデル

同期

◎

要求電文

標準

使う（チェックボックス）

使わない（チェックしない）

◎

サービス部品

電文フォーマット

adpff_read.xsd

×

応答電文

標準

使う（チェックボックス）

使わない（チェックしない）

◎

サービス部品

電文フォーマット

csaff_sample_read_xml.xsd

◎

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

XMLデータ読み込みサンプルのファイルアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒6　サービスアダプタ定義画面（詳細）の設定内容（XMLデータ読み込みサンプル）

分類

項目

設定値

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscmsg_adpejb.jar

×

ユーティリティクラス（JARファイル）

adpffpc.jar

×

（凡例）

×：表示されている内容を確認します。

(b)　ファイルアダプタ実行環境プロパティファイルの作成

ファイルアダプタ実行環境プロパティファイルを作成する手順を次に示します。

サンプルで提供するファイルアダプタ実行環境プロパティファイルを，テキストエディタで開きます。

サンプルで提供するファイルアダプタ実行環境プロパティファイルは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_xml¥CSAFF_RX.properties」です。

次の内容を記述します。

fileaccess.path1 = <サービスプラットフォームのインストールディレクトリ>¥¥CSC¥¥custom-adapter¥¥File¥¥sample¥¥read_xml

注意事項

ディレクトリの区切り文字は，「¥¥」で記述します。

ファイルを保存し，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥config」に格納します。

(2)　ビジネスプロセスの定義

ビジネスプロセスの定義は，ビジネスプロセスの追加，ビジネスプロセスの内容の定義，ビジネスプロセスの検証の順で行います。

(a)　ビジネスプロセスの追加

ビジネスプロセスを追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。

ビジネスプロセス定義を追加するためのダイアログが表示されます。

ビジネスプロセス名を入力し，ステータスを永続化するかどうか（ビジネスプロセスの実行状態をデータベースに保存するかどうか）を選択します。

ビジネスプロセス名には，「CSAFF_SAMPLE_BP_READ_XML」と入力します。

ステータスの永続化には，「yes」を選択します。

参考

BPELファイルは使用しません。

［終了］ボタンをクリックします。

必要なファイルが作成され，リポジトリに保存されます。ビジネスプロセス定義画面が表示されます。

(b)　変数の設定

次に示す変数を設定します。

CSAFF_DB_RequestMessage

CSAFF_DB_ResponseMessage

CSAFF_RequestMessage

CSAFF_ResponseMessage

参考

サンプルでは相関セットを使用しません。

変数を設定する手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

一覧から「変数一覧」を選択します。

変数名を入力します。

［種別］のドロップダウンリストから「XML」を選択します。

次のどちらかの操作をします。

CSAFF_DB_ResponseMessage，CSAFF_RequestMessageまたはCSAFF_ResponseMessageの場合

［取込］ボタンをクリックして表示される［電文フォーマットの取込］ダイアログで，使用する電文フォーマットを指定します。設定内容については，「変数の設定内容（XMLデータ読み込みサンプル）」を参照してください。

CSAFF_DB_RequestMessageの場合

［...］ボタンをクリックして，「csaff_sample_read_xml_dt.xsd」を設定します。

［追加］ボタンをクリックします。

変数一覧に，追加した変数が表示されます。

変数ごとに手順2から6を繰り返します。

［OK］ボタンをクリックします。

変数の設定値が保存されて，［変数・相関セット一覧］ダイアログが閉じます。

変数の設定内容（XMLデータ読み込みサンプル）

CSAFF_DB_ResponseMessage，CSAFF_RequestMessageおよびCSAFF_ResponseMessageの設定内容を次に示します。なお，表に記載されていない項目については，設定不要です。

表D‒7　CSAFF_DB_ResponseMessageの設定内容（XMLデータ読み込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_DB

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_DB

電文種別

応答電文（ボディ）

−

電文フォーマット

csaff_sample_sqlformat

（凡例）

−：該当しません。

表D‒8　CSAFF_RequestMessageの設定内容（XMLデータ読み込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_READ_XML

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_READ_XML

電文種別

要求電文（ボディ）

−

電文フォーマット

adpff_read

（凡例）

−：該当しません。

表D‒9　CSAFF_ResponseMessageの設定内容（XMLデータ読み込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_READ_XML

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_READ_XML

電文種別

応答電文（ボディ）

−

電文フォーマット

csaff_sample_read_xml

（凡例）

−：該当しません。

(c)　アクティビティの設定

ここでは，次の図に示すアクティビティの配置・定義，データ変換定義，およびアクティビティの連結について説明します。

図D‒3　ビジネスプロセス定義全体図（XMLデータ読み込みサンプル）

●アクティビティの配置・定義

XMLデータ読み込みサンプルでは，次の表に示すアクティビティを設定します。

表D‒10　アクティビティ一覧（XMLデータ読み込みサンプル）

アクティビティ

アクティビティ名

説明

受付

CSAFF_SAMPLE_BP_READ_XML

ビジネスプロセスの受付。

応答

CSAFF_SAMPLE_BP_READ_XML_RSP

ビジネスプロセスの応答。

サービス呼出

ファイルアダプタ呼出

ファイルアダプタの呼び出し。

サービス呼出

DBアダプタ呼出

DBアダプタの呼び出し。

データ変換

DBアダプタ要求電文作成

ファイルアダプタの応答電文をDBアダプタの要求電文に変換。

アクティビティを配置して設定する手順を次に示します。

パレットの基本アクティビティまたは構造アクティビティの中から，キャンバスに配置するアクティビティをクリックします。

クリックしたアクティビティが選択された状態になります。

キャンバス上の適当な場所をクリックします。

選択したアクティビティがキャンバス上に配置されます。配置されたアクティビティは，ドラッグ＆ドロップで場所を移動できます。

配置されたアクティビティをダブルクリックします。

ダブルクリックしたアクティビティのダイアログが表示されます。

ダイアログに必要な情報を入力します。

設定内容の詳細は，「アクティビティの設定内容（XMLデータ読み込みサンプル）」を参照してください。

［OK］ボタンをクリックします。

アクティビティのダイアログが閉じます。

アクティビティごとに手順1から5を繰り返します。

アクティビティの設定内容（XMLデータ読み込みサンプル）

XMLデータ読み込みサンプルで使用するビジネスプロセスのアクティビティの設定内容を次に示します。なお，表に記載されていない項目については，設定不要です。

表D‒11　CSAFF_SAMPLE_BP_READ_XMLの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_READ_XML

オペレーション名

CSAFF_SAMPLE_BP_READ_XML

ボディ割当変数

CSAFF_RequestMessage

通信モデル

同期

インスタンス生成

Yes

表D‒12　CSAFF_SAMPLE_BP_READ_XML_RSPの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_READ_XML_RSP

オペレーション名

CSAFF_SAMPLE_BP_READ_XML

ボディ割当変数

CSAFF_DB_ResponseMessage

表D‒13　ファイルアダプタ呼出の設定内容（XMLデータ読み込みサンプル）

項目

設定値

アクティビティ名

ファイルアダプタ呼出

サービス名

CSAFF_SAMPLE_READ_XML

オペレーション名

CSAFF_SAMPLE_READ_XML

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_RequestMessage

応答電文

ボディ割当変数

CSAFF_ResponseMessage

表D‒14　DBアダプタ呼出の設定内容（XMLデータ読み込みサンプル）

項目

設定値

アクティビティ名

DBアダプタ呼出

サービス名

CSAFF_SAMPLE_DB

オペレーション名

CSAFF_SAMPLE_DB

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_DB_RequestMessage

応答電文

ボディ割当変数

CSAFF_DB_ResponseMessage

表D‒15　DBアダプタ要求電文作成の設定内容（XMLデータ読み込みサンプル）

項目

設定値

アクティビティ名

DBアダプタ要求電文作成

変換元変数

CSAFF_ResponseMessage

変換先変数

CSAFF_DB_RequestMessage

●DBアダプタ要求電文作成アクティビティのデータ変換定義の設定

DBアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D‒4　DBアダプタ要求電文作成アクティビティデータ変換定義画面（XMLデータ読み込みサンプル）

DBアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。

DBアダプタ要求電文作成アクティビティからデータ変換（マッピング）定義画面を表示します。

データ変換（マッピング）定義画面が表示されたあと，［ルート要素選択］ダイアログが表示されます。

すべてのスキーマ論理名のルート要素を選択します。

［OK］ボタンがクリックできる状態になります。

［OK］ボタンをクリックします。

変換元スキーマツリービューアおよび変換先スキーマツリービューアに，選択したルート要素のスキーマがツリー表示されます。

マッピングします。

マッピングでは次の作業を行います。

・ファンクションの配置とファンクションの設定

　ファンクションの設定内容を次の表に示します。

表D‒16　ファンクションの設定内容（XMLデータ読み込みサンプル）

ファンクション

ファンクション名

設定値

loop

loop1

ノード選択

DATA

ノード条件設定

設定しない

・ノード間のマッピングの設定

　ノード間のマッピングの設定内容を次の表に示します。

表D‒17　マッピングの設定内容（XMLデータ読み込みサンプル）

変換元ノード

ファンクション

変換先ノード

−

loop1

DBA_MULTI_SQL

ORDER_NO

−

val1

CUSTOMER_CODE

−

val2

PRODUCT_CODE

−

val3

ORDER_COUNT

−

val4

（凡例）

−：該当しません。

データ変換（マッピング）定義画面の変換元スキーマツリービューア，マッピングビューア，または変換先スキーマツリービューアの適当な場所で右クリックして，［検証］を選択します。

検証が実行されます。なお，警告は無視してください。

●アクティビティの連結

XMLデータ読み込みサンプルで使用するビジネスプロセスでは，次の表に示すようにアクティビティを連結します。

表D‒18　アクティビティの連結内容（XMLデータ読み込みサンプル）

連結元アクティビティ

連結先アクティビティ

開始

CSAFF_SAMPLE_BP_READ_XML

CSAFF_SAMPLE_BP_READ_XML

ファイルアダプタ呼出

ファイルアダプタ呼出

DBアダプタ要求電文作成

DBアダプタ要求電文作成

DBアダプタ呼出

DBアダプタ呼出

CSAFF_SAMPLE_BP_READ_XML_RSP

CSAFF_SAMPLE_BP_READ_XML_RSP

終了

アクティビティの連結の手順を次に示します。

パレットの［コネクション］をクリックします。

コネクションが選択された状態になります。

この状態で，アクティビティにマウスポインタを合わせると，そのアクティビティを連結元に設定できる場合，アクティビティの背景色が変わります。

キャンバスに配置したアクティビティのうち，連結元となるアクティビティをクリックします。

連結元となるアクティビティが設定されます。

この状態で，ほかのアクティビティにマウスポインタを合わせると，そのアクティビティを連結先に設定できる場合，アクティビティの背景色が変わります。

キャンバスに配置したアクティビティのうち，連結先となるアクティビティをクリックします。

連結元となるアクティビティと連結先となるアクティビティが連結されます。

(d)　ビジネスプロセスの保存・検証

ビジネスプロセスを保存して検証する手順を次に示します。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

ビジネスプロセスのサービスIDは，プロパティビューで「CSAFF_B1」を設定してください。

ビジネスプロセスの設定を検証します。

ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから，「検証」を選択すると，検証結果がコンソールビューに表示されます。

(3)　ファイルアダプタとビジネスプロセスの配備定義

定義したファイルアダプタとビジネスプロセスをサーバに配備して開始します。

ファイルアダプタとビジネスプロセスの配備定義の手順を次に示します。

ツリービューの［サービス定義一覧］を右クリックして，［複数サービスをサーバに配備して開始］を選択します。

サービス選択ページで配備および開始するサービスを選択します。

［Finish］ボタンをクリックします。

処理中であることを知らせるメッセージが表示されたあと，結果を知らせるメッセージが表示されます。

［OK］ボタンをクリックします。

ファイルアダプタとビジネスプロセスの配備と開始が完了します。

(4)　テーブルの作成

サンプルを実行するデータベースのテーブルを作成します。

HiRDB SQL Executerを起動して，次のSQL文を実行してください。

CREATE TABLE CSAFF_SAMPLE_RX
(ORDER_NO INT,
 CUSTOMER_CODE CHAR(5),
 PRODUCT_CODE CHAR(4),
 ORDER_COUNT INT);

注意事項

ユーザIDは「ADMIN」とします。

(5)　要求電文の作成

サンプルで提供するビジネスプロセス実行時の要求電文を編集して，要求電文を作成する手順を次に示します。

サンプルで提供する要求電文ファイルを，テキストエディタで開きます。

サンプルで提供する要求電文ファイルは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_xml¥read_xml_message.xml」です。

次に示す斜体部分を記述します。

<?xml version="1.0" encoding="UTF-8"?>
<adpff:ReadRequest xmlns:adpff="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/ReadRequest">
  <fileheader>
    <filename><サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_xml¥read_xml_data.xml</filename>
    <filemode>all</filemode>
  </fileheader>
</adpff:ReadRequest>

ファイルを上書き保存します。

(6)　ビジネスプロセスの実行

サンプルを実行するには，サービスリクエスタからビジネスプロセスを起動します。

サービスリクエスタの処理の流れと概要を次に示します。

サービスリクエスタ実行

ビジネスプロセスの要求電文が，そのままファイルアダプタの要求電文として使用されます。

ファイルアダプタ実行

要求電文で指定されたファイルが読み込まれます。

DBアダプタ電文作成

ファイルアダプタの応答電文がDBアダプタの要求電文の形式に変換されます。

DBアダプタ実行

要求電文で指定されたファイルがデータベースに登録されます。

サービスリクエスタ終了

DBアダプタの応答電文が，そのままビジネスプロセスの応答電文として使用されます。

サービスリクエスタの実行手順を次に示します。

カレントディレクトリを「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥bin」に移動します。

request.batを実行します。

次の形式で実行してください。

request read_xml <サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_xml¥read_xml_message.xml

参考

HiRDB SQL Executerを起動して次のSQL文を実行することで，テーブルの内容が確認できます（ユーザIDは「ADMIN」とします）。

SELECT * FROM CSAFF_SAMPLE_RX;

付録D.4　CSVデータ読み込みサンプル

CSVデータ読み込みサンプルでは，CSV形式のファイルからファイルアダプタによってデータを読み込み，DBアダプタを通してデータベースに格納します。このとき，入力ファイルの製品コードが「1001」である製品だけを取得してデータベースに格納します。製品コードの検索はデータ変換機能で実現します。

入出力項目を次の表に示します。

表D‒19　入出力項目一覧（CSVデータ読み込みサンプル）

入出力項目

内容

ファイルアダプタの入力ファイル

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_csv¥read_csv_data.csv

DBアダプタの出力テーブル

ADMIN.CSAFF_SAMPLE_RC※

注※

スキーマ名は変更しないでください。

(1)　ファイルアダプタの定義

(a)　ファイルアダプタの追加と検証

ファイルアダプタを追加設定し，検証する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

サービスアダプタ定義追加ウィザードが表示されます。

サービス部品の種別のドロップダウンリストから「ファイルアダプタ」を選択します。

［次へ］ボタンをクリックします。

サービスアダプタ定義追加（ファイルアダプタ）ウィザードが表示されます。

サービス名を入力します。

サービス名には，「CSAFF_SAMPLE_READ_CSV」と入力します。

［終了］ボタンをクリックします。

必要なファイルが作成され，リポジトリに保存されます。サービスアダプタ定義画面（基本）が表示されます。

サービスアダプタ定義画面（基本）およびサービスアダプタ定義画面（詳細）を設定します。

設定内容については，「ファイルアダプタの設定内容（CSVデータ読み込みサンプル）」を参照してください。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

ファイルアダプタの設定を検証します。

ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから，「検証」を選択すると，検証結果がコンソールビューに表示されます。

ファイルアダプタの設定内容（CSVデータ読み込みサンプル）

CSVデータ読み込みサンプルのファイルアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒20　サービスアダプタ定義画面（基本）の設定内容（CSVデータ読み込みサンプル）

分類

項目

設定値

設定

サービス部品制御情報

サービス名

CSAFF_SAMPLE_READ_CSV

◎

サービスID

CSAFF_RC

◎

サービス種別

ファイルアダプタ

×

最大インスタンス数

0

◎

オペレーション

定義パターン：バイナリ読み込み

オペレーション名：CSAFF_SAMPLE_READ_CSV

◎

オペレーション情報

オペレーション名

CSAFF_SAMPLE_READ_CSV

×

通信モデル

同期

◎

要求電文

標準

使う（チェックボックス）

使わない（チェックしない）

◎

サービス部品

電文フォーマット

adpff_read.xsd

×

応答電文

標準

使う（チェックボックス）

使う（チェックする）

◎

電文フォーマット

csaff_sample_read_csv_standard.xsd

◎

サービス部品

電文フォーマット

csaff_sample_read_csv.fdx

◎

データ変換定義

SAMPLE_READ_CSV_DT

◎

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

CSVデータ読み込みサンプルのファイルアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒21　サービスアダプタ定義画面（詳細）の設定内容（CSVデータ読み込みサンプル）

分類

項目

設定値

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscmsg_adpejb.jar

×

ユーティリティクラス（JARファイル）

adpffpc.jar

×

（凡例）

×：表示されている内容を確認します。

(b)　データ変換定義

データ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D‒5　ファイルアダプタのデータ変換定義画面（CSVデータ読み込みサンプル）

データ変換定義の手順を次に示します。

アダプタ定義画面のデータ変換（マッピング）定義画面を表示します。

データ変換（マッピング）定義画面が表示されたあと，［ルート要素選択］ダイアログが表示されます。

すべてのスキーマ論理名のルート要素を選択します。

［OK］ボタンがクリックできる状態になります。

［OK］ボタンをクリックします。

変換元スキーマツリービューアおよび変換先スキーマツリービューアに，選択したルート要素のスキーマがツリー表示されます。

マッピングします。

マッピングでは次の作業を行います。

ファンクションの配置とファンクションの設定

ファンクションの設定内容を次に示します。

表D‒22　ファンクションの設定内容（CSVデータ読み込みサンプル-ファイルアダプタ）

ファンクション

ファンクション名

設定値

loop

loop1

ノード選択

csaff_sample_read_csv_data

ノード条件設定

下表参照

表D‒23　loop1の設定内容

分類

設定値

ノード

csaff_sample_read_csv_data

条件

条件

条件式

左辺

ノード・ファンクション（PRODUCT_CODE）

等符号

=

右辺

値（1001）

ノード間のマッピングの設定

ノード間のマッピングの設定内容を次の表に示します。

表D‒24　マッピングの設定内容（CSVデータ読み込みサンプル-ファイルアダプタ）

変換元ノード

ファンクション

変換先ノード

−

loop1

DATA

ORDER_NO

−

ORDER_NO

CUSTOMER_CODE

−

CUSTOMER_CODE

PRODUCT_CODE

−

PRODUCT_CODE

ORDER_COUNT

−

ORDER_COUNT

（凡例）

−：該当しません。

データ変換（マッピング）定義画面の変換元スキーマツリービューア，マッピングビューア，または変換先スキーマツリービューアの適当な場所で右クリックして，［検証］を選択します。

検証が実行されます。

(c)　ファイルアダプタ実行環境プロパティファイルの作成

ファイルアダプタ実行環境プロパティファイルを作成する手順を次に示します。

サンプルで提供するファイルアダプタ実行環境プロパティファイルを，テキストエディタで開きます。

サンプルで提供するファイルアダプタ実行環境プロパティファイルは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_csv¥CSAFF_RC.properties」です。

次の内容を記述します。

fileaccess.path1 = <サービスプラットフォームのインストールディレクトリ>¥¥CSC¥¥custom-adapter¥¥File¥¥sample¥¥read_csv

注意事項

ディレクトリの区切り文字は，「¥¥」で記述します。

ファイルを保存し，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥config」に格納します。

(2)　ビジネスプロセスの定義

ビジネスプロセスの定義は，ビジネスプロセスの追加，ビジネスプロセスの内容の定義，ビジネスプロセスの検証の順で行います。

(a)　ビジネスプロセスの追加

ビジネスプロセスを追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。

ビジネスプロセス定義を追加するためのダイアログが表示されます。

ビジネスプロセス名を入力し，ステータスを永続化するかどうか（ビジネスプロセスの実行状態をデータベースに保存するかどうか）を選択します。

ビジネスプロセス名には，「CSAFF_SAMPLE_BP_READ_CSV」と入力します。

ステータスの永続化には，「yes」を選択します。

参考

BPELファイルは使用しません。

［終了］ボタンをクリックします。

必要なファイルが作成され，リポジトリに保存されます。ビジネスプロセス定義画面が表示されます。

(b)　変数の設定

次に示す変数を設定します。

CSAFF_DB_RequestMessage

CSAFF_DB_ResponseMessage

CSAFF_RequestMessage

CSAFF_ResponseMessage

参考

サンプルでは相関セットを使用しません。

変数を設定する手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

一覧から「変数一覧」を選択します。

変数名を入力します。

［種別］のドロップダウンリストから「XML」を選択します。

次のどちらかの操作をします。

CSAFF_DB_ResponseMessage，CSAFF_RequestMessageまたはCSAFF_ResponseMessageの場合

［取込］ボタンをクリックして表示される［電文フォーマットの取込］ダイアログで，使用する電文フォーマットを指定します。設定内容については，「変数の設定内容（CSVデータ読み込みサンプル）」を参照してください。

CSAFF_DB_RequestMessageの場合

［...］ボタンをクリックして，「csaff_sample_read_csv_dt.xsd」を設定します。

［追加］ボタンをクリックします。

変数一覧に，追加した変数が表示されます。

変数ごとに手順2から6を繰り返します。

［OK］ボタンをクリックします。

変数の設定値が保存されて，［変数・相関セット一覧］ダイアログが閉じます。

変数の設定内容（CSVデータ読み込みサンプル）

CSAFF_DB_ResponseMessage，CSAFF_RequestMessageおよびCSAFF_ResponseMessageの設定内容を次に示します。なお，表に記載されていない項目については，設定不要です。

表D‒25　CSAFF_DB_ResponseMessageの設定内容（CSVデータ読み込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_DB

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_DB

電文種別

応答電文（ボディ）

−

電文フォーマット

csaff_sample_sqlformat

（凡例）

−：該当しません。

表D‒26　CSAFF_RequestMessageの設定内容（CSVデータ読み込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_READ_CSV

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_READ_CSV

電文種別

要求電文（ボディ）

−

電文フォーマット

adpff_read

（凡例）

−：該当しません。

表D‒27　CSAFF_ResponseMessageの設定内容（CSVデータ読み込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_READ_CSV

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_READ_CSV

電文種別

応答電文（ボディ）

−

電文フォーマット

csaff_sample_standard

（凡例）

−：該当しません。

(c)　アクティビティの設定

ここでは，次の図に示すアクティビティの配置・定義，データ変換定義，およびアクティビティの連結について説明します。

図D‒6　ビジネスプロセス定義全体図（CSVデータ読み込みサンプル）

●アクティビティの配置・定義

CSVデータ読み込みサンプルでは，次の表に示すアクティビティを設定します。

表D‒28　アクティビティ一覧（CSVデータ読み込みサンプル）

アクティビティ

アクティビティ名

説明

受付

CSAFF_SAMPLE_BP_READ_CSV

ビジネスプロセスの受付。

応答

CSAFF_SAMPLE_BP_READ_CSV_RSP

ビジネスプロセスの応答。

サービス呼出

ファイルアダプタ呼出

ファイルアダプタの呼び出し。

サービス呼出

DBアダプタ呼出

DBアダプタの呼び出し。

データ変換

DBアダプタ要求電文作成

ファイルアダプタの応答電文をDBアダプタの要求電文に変換。

アクティビティを配置して設定する手順を次に示します。

パレットの基本アクティビティまたは構造アクティビティの中から，キャンバスに配置するアクティビティをクリックします。

クリックしたアクティビティが選択された状態になります。

キャンバス上の適当な場所をクリックします。

選択したアクティビティがキャンバス上に配置されます。配置されたアクティビティは，ドラッグ＆ドロップで場所を移動できます。

配置されたアクティビティをダブルクリックします。

ダブルクリックしたアクティビティのダイアログが表示されます。

ダイアログに必要な情報を入力します。

設定内容の詳細は，「アクティビティの設定内容（CSVデータ読み込みサンプル）」を参照してください。

［OK］ボタンをクリックします。

アクティビティのダイアログが閉じます。

アクティビティごとに手順1から5を繰り返します。

アクティビティの設定内容（CSVデータ読み込みサンプル）

CSVデータ読み込みサンプルで使用するビジネスプロセスのアクティビティの設定内容を次に示します。なお，表に記載されていない項目については，設定不要です。

表D‒29　CSAFF_SAMPLE_BP_READ_CSVの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_READ_CSV

オペレーション名

CSAFF_SAMPLE_BP_READ_CSV

ボディ割当変数

CSAFF_RequestMessage

通信モデル

同期

インスタンス生成

Yes

表D‒30　CSAFF_SAMPLE_BP_READ_CSV_RSPの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_READ_CSV_RSP

オペレーション名

CSAFF_SAMPLE_BP_READ_CSV

ボディ割当変数

CSAFF_DB_ResponseMessage

表D‒31　ファイルアダプタ呼出の設定内容（CSVデータ読み込みサンプル）

項目

設定値

アクティビティ名

ファイルアダプタ呼出

サービス名

CSAFF_SAMPLE_READ_CSV

オペレーション名

CSAFF_SAMPLE_READ_CSV

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_RequestMessage

応答電文

ボディ割当変数

CSAFF_ResponseMessage

表D‒32　DBアダプタ呼出の設定内容（CSVデータ読み込みサンプル）

項目

設定値

アクティビティ名

DBアダプタ呼出

サービス名

CSAFF_SAMPLE_DB

オペレーション名

CSAFF_SAMPLE_DB

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_DB_RequestMessage

応答電文

ボディ割当変数

CSAFF_DB_ResponseMessage

表D‒33　DBアダプタ要求電文作成の設定内容（CSVデータ読み込みサンプル）

項目

設定値

アクティビティ名

DBアダプタ要求電文作成

変換元変数

CSAFF_ResponseMessage

変換先変数

CSAFF_DB_RequestMessage

●DBアダプタ要求電文作成アクティビティのデータ変換定義の設定

DBアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D‒7　DBアダプタ要求電文作成アクティビティデータ変換定義画面（CSVデータ読み込みサンプル）

DBアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。

DBアダプタ要求電文作成アクティビティからデータ変換（マッピング）定義画面を表示します。

データ変換（マッピング）定義画面が表示されたあと，［ルート要素選択］ダイアログが表示されます。

すべてのスキーマ論理名のルート要素を選択します。

［OK］ボタンがクリックできる状態になります。

［OK］ボタンをクリックします。

変換元スキーマツリービューアおよび変換先スキーマツリービューアに，選択したルート要素のスキーマがツリー表示されます。

マッピングします。

マッピングでは次の作業を行います。

・ファンクションの配置とファンクションの設定

　ファンクションの設定内容を次の表に示します。

表D‒34　ファンクションの設定内容（CSVデータ読み込みサンプル-ビジネスプロセス）

ファンクション

ファンクション名

設定値

loop

loop1

ノード選択

DATA

ノード条件設定

設定しない

・ノード間のマッピングの設定

　ノード間のマッピングの設定内容を次の表に示します。

表D‒35　マッピングの設定内容（CSVデータ読み込みサンプル-ビジネスプロセス）

変換元ノード

ファンクション

変換先ノード

−

loop1

DBA_MULTI_SQL

ORDER_NO

−

val1

CUSTOMER_CODE

−

val2

PRODUCT_CODE

−

val3

ORDER_COUNT

−

val4

（凡例）

−：該当しません。

データ変換（マッピング）定義画面の変換元スキーマツリービューア，マッピングビューア，または変換先スキーマツリービューアの適当な場所で右クリックして，［検証］を選択します。

検証が実行されます。なお，警告は無視してください。

●アクティビティの連結

CSVデータ読み込みサンプルで使用するビジネスプロセスでは，次の表に示すようにアクティビティを連結します。

表D‒36　アクティビティの連結内容（CSVデータ読み込みサンプル）

連結元アクティビティ

連結先アクティビティ

開始

CSAFF_SAMPLE_BP_READ_CSV

CSAFF_SAMPLE_BP_READ_CSV

ファイルアダプタ呼出

ファイルアダプタ呼出

DBアダプタ要求電文作成

DBアダプタ要求電文作成

DBアダプタ呼出

DBアダプタ呼出

CSAFF_SAMPLE_BP_READ_CSV_RSP

CSAFF_SAMPLE_BP_READ_CSV_RSP

終了

アクティビティの連結の手順を次に示します。

パレットの［コネクション］をクリックします。

コネクションが選択された状態になります。

この状態で，アクティビティにマウスポインタを合わせると，そのアクティビティを連結元に設定できる場合，アクティビティの背景色が変わります。

キャンバスに配置したアクティビティのうち，連結元となるアクティビティをクリックします。

連結元となるアクティビティが設定されます。

この状態で，ほかのアクティビティにマウスポインタを合わせると，そのアクティビティを連結先に設定できる場合，アクティビティの背景色が変わります。

キャンバスに配置したアクティビティのうち，連結先となるアクティビティをクリックします。

連結元となるアクティビティと連結先となるアクティビティが連結されます。

(d)　ビジネスプロセスの保存・検証

ビジネスプロセスを保存して検証する手順を次に示します。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

ビジネスプロセスのサービスIDは，プロパティビューで「CSAFF_B2」を設定してください。

ビジネスプロセスの設定を検証します。

ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから，「検証」を選択すると，検証結果がコンソールビューに表示されます。

(3)　ファイルアダプタとビジネスプロセスの配備定義

定義したファイルアダプタとビジネスプロセスをサーバに配備して開始します。

ファイルアダプタとビジネスプロセスの配備定義の手順を次に示します。

ツリービューの［サービス定義一覧］を右クリックして，［複数サービスをサーバに配備して開始］を選択します。

サービス選択ページで配備および開始するサービスを選択します。

［Finish］ボタンをクリックします。

処理中であることを知らせるメッセージが表示されたあと，結果を知らせるメッセージが表示されます。

［OK］ボタンをクリックします。

ファイルアダプタとビジネスプロセスの配備と開始が完了します。

(4)　テーブルの作成

サンプルを実行するデータベースのテーブルを作成します。

HiRDB SQL Executerを起動して，次のSQL文を実行してください。

CREATE TABLE CSAFF_SAMPLE_RC
(ORDER_NO INT,
 CUSTOMER_CODE CHAR(5),
 PRODUCT_CODE CHAR(4),
 ORDER_COUNT INT);

注意事項

ユーザIDは「ADMIN」とします。

(5)　要求電文の作成

サンプルで提供するビジネスプロセス実行時の要求電文を編集して，要求電文を作成する手順を次に示します。

サンプルで提供する要求電文ファイルを，テキストエディタで開きます。

サンプルで提供する要求電文ファイルは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_csv¥read_csv_message.xml」です。

次に示す斜体部分を記述します。

<?xml version="1.0" encoding="UTF-8"?>
<adpff:ReadRequest xmlns:adpff="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/ReadRequest">
  <fileheader>
    <filename><サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_csv¥read_csv_data.csv</filename>
    <filemode>all</filemode>
  </fileheader>
</adpff:ReadRequest>

ファイルを上書き保存します。

(6)　ビジネスプロセスの実行

サンプルを実行するには，サービスリクエスタからビジネスプロセスを起動します。

サービスリクエスタの処理の流れと概要を次に示します。

サービスリクエスタ実行

ビジネスプロセスの要求電文が，そのままファイルアダプタの要求電文として使用されます。

ファイルアダプタ実行

要求電文で指定されたファイルが読み込まれます。

DBアダプタ電文作成

ファイルアダプタの応答電文がDBアダプタの要求電文の形式に変換されます。

DBアダプタ実行

要求電文で指定されたファイルがデータベースに登録されます。

サービスリクエスタ終了

DBアダプタの応答電文が，そのままビジネスプロセスの応答電文として使用されます。

サービスリクエスタの実行手順を次に示します。

カレントディレクトリを「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥bin」に移動します。

request.batを実行します。

次の形式で実行してください。

request read_csv <サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥read_csv¥read_csv_message.xml

参考

HiRDB SQL Executerを起動して次のSQL文を実行することで，テーブルの内容が確認できます（ユーザIDは「ADMIN」とします）。

SELECT * FROM CSAFF_SAMPLE_RC;

付録D.5　XMLデータ書き込みサンプル

XMLデータ書き込みサンプルでは，DBアダプタが取得したデータを，ファイルアダプタを通してXML形式のファイルに書き込みます。

入出力項目を次の表に示します。

表D‒37　入出力項目一覧（XMLデータ書き込みサンプル）

入出力項目

内容

ファイルアダプタの出力ファイル

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_xml¥write_xml_data.xml

DBアダプタの入力テーブル

ADMIN.CSAFF_SAMPLE_WX※

注※

スキーマ名は変更しないでください。

(1)　ファイルアダプタの定義

(a)　ファイルアダプタの追加と検証

ファイルアダプタを追加設定し，検証する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

サービスアダプタ定義追加ウィザードが表示されます。

サービス部品の種別のドロップダウンリストから「ファイルアダプタ」を選択します。

［次へ］ボタンをクリックします。

サービスアダプタ定義追加（ファイルアダプタ）ウィザードが表示されます。

サービス名を入力します。

サービス名には，「CSAFF_SAMPLE_WRITE_XML」と入力します。

［終了］ボタンをクリックします。

必要なファイルが作成され，リポジトリに保存されます。サービスアダプタ定義画面（基本）が表示されます。

サービスアダプタ定義画面（基本）およびサービスアダプタ定義画面（詳細）を設定します。

設定内容については，「ファイルアダプタの設定内容（XMLデータ書き込みサンプル）」を参照してください。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

ファイルアダプタの設定を検証します。

ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから，「検証」を選択すると，検証結果がコンソールビューに表示されます。

ファイルアダプタの設定内容（XMLデータ書き込みサンプル）

XMLデータ書き込みサンプルのファイルアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒38　サービスアダプタ定義画面（基本）の設定内容（XMLデータ書き込みサンプル）

分類

項目

設定値

設定

サービス部品制御情報

サービス名

CSAFF_SAMPLE_WRITE_XML

◎

サービスID

CSAFF_WX

◎

サービス種別

ファイルアダプタ

×

最大インスタンス数

0

◎

オペレーション

定義パターン：XML書き込み

オペレーション名：CSAFF_SAMPLE_WRITE_XML

◎

オペレーション情報

オペレーション名

CSAFF_SAMPLE_WRITE_XML

×

通信モデル

同期

◎

要求電文

標準

使う（チェックボックス）

使わない（チェックしない）

◎

サービス部品

電文フォーマット

csaff_sample_write_xml_dt.xsd

◎

応答電文

標準

使う（チェックボックス）

使わない（チェックしない）

◎

サービス部品

電文フォーマット

adpff_result.xsd

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

XMLデータ書き込みサンプルのファイルアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒39　サービスアダプタ定義画面（詳細）の設定内容（XMLデータ書き込みサンプル）

分類

項目

設定値

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscmsg_adpejb.jar

×

ユーティリティクラス（JARファイル）

adpffpc.jar

×

（凡例）

×：表示されている内容を確認します。

(b)　ファイルアダプタ実行環境プロパティファイルの作成

ファイルアダプタ実行環境プロパティファイルを作成する手順を次に示します。

サンプルで提供するファイルアダプタ実行環境プロパティファイルを，テキストエディタで開きます。

サンプルで提供するファイルアダプタ実行環境プロパティファイルは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_xml¥CSAFF_WX.properties」です。

次の内容を記述します。

fileaccess.path1 = <サービスプラットフォームのインストールディレクトリ>¥¥CSC¥¥custom-adapter¥¥File¥¥sample¥¥write_xml

注意事項

ディレクトリの区切り文字は，「¥¥」で記述します。

ファイルを保存し，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥config」に格納します。

(2)　ビジネスプロセスの定義

ビジネスプロセスの定義は，ビジネスプロセスの追加，ビジネスプロセスの内容の定義，ビジネスプロセスの検証の順で行います。

(a)　ビジネスプロセスの追加

ビジネスプロセスを追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。

ビジネスプロセス定義を追加するためのダイアログが表示されます。

ビジネスプロセス名を入力し，ステータスを永続化するかどうか（ビジネスプロセスの実行状態をデータベースに保存するかどうか）を選択します。

ビジネスプロセス名には，「CSAFF_SAMPLE_BP_WRITE_XML」と入力します。

ステータスの永続化には，「yes」を選択します。

参考

BPELファイルは使用しません。

［終了］ボタンをクリックします。

必要なファイルが作成され，リポジトリに保存されます。ビジネスプロセス定義画面が表示されます。

(b)　変数の設定

次に示す変数を設定します。

CSAFF_BP_RequestMessage

CSAFF_DB_RequestMessage

CSAFF_DB_ResponseMessage

CSAFF_RequestMessage

CSAFF_ResponseMessage

参考

サンプルでは相関セットを使用しません。

変数を設定する手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

一覧から「変数一覧」を選択します。

変数名を入力します。

［種別］のドロップダウンリストから「XML」を選択します。

次のどれかの操作をします。

CSAFF_DB_ResponseMessage，CSAFF_RequestMessageまたはCSAFF_ResponseMessageの場合

［取込］ボタンをクリックして表示される［電文フォーマットの取込］ダイアログで，使用する電文フォーマットを指定します。設定内容については，「変数の設定内容（XMLデータ書き込みサンプル）」を参照してください。

CSAFF_BP_RequestMessageの場合

［...］ボタンをクリックして，「csaff_sample_write_xml.xsd」を設定します。

CSAFF_DB_RequestMessageの場合

［...］ボタンをクリックして，「csaff_sample_write_xml_db.xsd」を設定します。

［追加］ボタンをクリックします。

変数一覧に，追加した変数が表示されます。

変数ごとに手順2から6を繰り返します。

［OK］ボタンをクリックします。

変数の設定値が保存されて，［変数・相関セット一覧］ダイアログが閉じます。

変数の設定内容（XMLデータ書き込みサンプル）

CSAFF_DB_ResponseMessage，CSAFF_RequestMessageおよびCSAFF_ResponseMessageの設定内容を次に示します。なお，表に記載されていない項目については，設定不要です。

表D‒40　CSAFF_DB_ResponseMessageの設定内容（XMLデータ書き込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_DB

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_DB

電文種別

応答電文（ボディ）

−

電文フォーマット

csaff_sample_sqlformat

（凡例）

−：該当しません。

表D‒41　CSAFF_RequestMessageの設定内容（XMLデータ書き込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_WRITE_XML

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_WRITE_XML

電文種別

要求電文（ボディ）

−

電文フォーマット

csaff_sample_write_xml_dt

（凡例）

−：該当しません。

表D‒42　CSAFF_ResponseMessageの設定内容（XMLデータ書き込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_WRITE_XML

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_WRITE_XML

電文種別

応答電文（ボディ）

−

電文フォーマット

adpff_result

（凡例）

−：該当しません。

(c)　アクティビティの設定

ここでは，次の図に示すアクティビティの配置・定義，データ変換定義，およびアクティビティの連結について説明します。

図D‒8　ビジネスプロセス定義全体図（XMLデータ書き込みサンプル）

●アクティビティの配置・定義

XMLデータ書き込みサンプルでは，次の表に示すアクティビティを設定します。

表D‒43　アクティビティ一覧（XMLデータ書き込みサンプル）

アクティビティ

アクティビティ名

説明

受付

CSAFF_SAMPLE_BP_WRITE_XML

ビジネスプロセスの受付。

応答

CSAFF_SAMPLE_BP_WRITE_XML_RSP

ビジネスプロセスの応答。

サービス呼出

ファイルアダプタ呼出

ファイルアダプタの呼び出し。

サービス呼出

DBアダプタ呼出

DBアダプタの呼び出し。

データ変換

ファイルアダプタ要求電文作成

DBアダプタの応答電文をファイルアダプタの要求電文に変換。

データ変換

DBアダプタ要求電文作成

ビジネスプロセスの要求電文をDBアダプタの要求電文に変換。

アクティビティを配置して設定する手順を次に示します。

パレットの基本アクティビティまたは構造アクティビティの中から，キャンバスに配置するアクティビティをクリックします。

クリックしたアクティビティが選択された状態になります。

キャンバス上の適当な場所をクリックします。

選択したアクティビティがキャンバス上に配置されます。配置されたアクティビティは，ドラッグ＆ドロップで場所を移動できます。

配置されたアクティビティをダブルクリックします。

ダブルクリックしたアクティビティのダイアログが表示されます。

ダイアログに必要な情報を入力します。

設定内容の詳細は，「アクティビティの設定内容（XMLデータ書き込みサンプル）」を参照してください。

［OK］ボタンをクリックします。

アクティビティのダイアログが閉じます。

アクティビティごとに手順1から5を繰り返します。

アクティビティの設定内容（XMLデータ書き込みサンプル）

XMLデータ書き込みサンプルで使用するビジネスプロセスのアクティビティの設定内容を次に示します。なお，表に記載されていない項目については，設定不要です。

表D‒44　CSAFF_SAMPLE_BP_WRITE_XMLの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_WRITE_XML

オペレーション名

CSAFF_SAMPLE_BP_WRITE_XML

ボディ割当変数

CSAFF_BP_RequestMessage

通信モデル

同期

インスタンス生成

Yes

表D‒45　CSAFF_SAMPLE_BP_WRITE_XML_RSPの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_WRITE_XML_RSP

オペレーション名

CSAFF_SAMPLE_BP_WRITE_XML

ボディ割当変数

CSAFF_ResponseMessage

表D‒46　ファイルアダプタ呼出の設定内容（XMLデータ書き込みサンプル）

項目

設定値

アクティビティ名

ファイルアダプタ呼出

サービス名

CSAFF_SAMPLE_WRITE_XML

オペレーション名

CSAFF_SAMPLE_WRITE_XML

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_RequestMessage

応答電文

ボディ割当変数

CSAFF_ResponseMessage

表D‒47　DBアダプタ呼出の設定内容（XMLデータ書き込みサンプル）

項目

設定値

アクティビティ名

DBアダプタ呼出

サービス名

CSAFF_SAMPLE_DB

オペレーション名

CSAFF_SAMPLE_DB

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_DB_RequestMessage

応答電文

ボディ割当変数

CSAFF_DB_ResponseMessage

表D‒48　ファイルアダプタ要求電文作成の設定内容（XMLデータ書き込みサンプル）

項目

設定値

アクティビティ名

ファイルアダプタ要求電文作成

変換元変数

CSAFF_BP_RequestMessage

CSAFF_DB_ResponseMessage

変換先変数

CSAFF_RequestMessage

表D‒49　DBアダプタ要求電文作成の設定内容（XMLデータ書き込みサンプル）

項目

設定値

アクティビティ名

DBアダプタ要求電文作成

変換元変数

CSAFF_BP_RequestMessage

変換先変数

CSAFF_DB_RequestMessage

●DBアダプタ要求電文作成アクティビティのデータ変換定義の設定

DBアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D‒9　DBアダプタ要求電文作成アクティビティデータ変換定義画面（XMLデータ書き込みサンプル）

DBアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。

DBアダプタ要求電文作成アクティビティからデータ変換（マッピング）定義画面を表示します。

データ変換（マッピング）定義画面が表示されたあと，［ルート要素選択］ダイアログが表示されます。

すべてのスキーマ論理名のルート要素を選択します。

［OK］ボタンがクリックできる状態になります。

［OK］ボタンをクリックします。

変換元スキーマツリービューアおよび変換先スキーマツリービューアに，選択したルート要素のスキーマがツリー表示されます。

マッピングします。

マッピングでは次の作業を行います。

・ファンクションの配置とファンクションの設定

　ファンクションの設定内容を次の表に示します。

表D‒50　ファンクションの設定内容（XMLデータ書き込みサンプル-DBアダプタ要求電文作成アクティビティ）

ファンクション

ファンクション名

設定値

const

const1

定数種別

文字列

値

PRODUCT_CODE

const

const2

定数種別

文字列

値

=

・ノード間のマッピングの設定

　ノード間のマッピングの設定内容を次の表に示します。

表D‒51　マッピングの設定内容（XMLデータ書き込みサンプル-DBアダプタ要求電文作成アクティビティ）

変換元ノード

ファンクション

変換先ノード

−

const1

val1

−

const2

val2

PRODUCT_CODE

−

val3

（凡例）

−：該当しません。

データ変換（マッピング）定義画面の変換元スキーマツリービューア，マッピングビューア，または変換先スキーマツリービューアの適当な場所で右クリックして，［検証］を選択します。

検証が実行されます。

●ファイルアダプタ要求電文作成アクティビティのデータ変換定義の設定内容

ファイルアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D‒10　ファイルアダプタ要求電文作成アクティビティデータ変換定義画面（XMLデータ書き込みサンプル）

ファイルアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。

ファイルアダプタ要求電文作成アクティビティからデータ変換（マッピング）定義画面を表示します。

データ変換（マッピング）定義画面が表示されたあと，［ルート要素選択］ダイアログが表示されます。

すべてのスキーマ論理名のルート要素を選択します。

［OK］ボタンがクリックできる状態になります。

［OK］ボタンをクリックします。

変換元スキーマツリービューアおよび変換先スキーマツリービューアに，選択したルート要素のスキーマがツリー表示されます。

マッピングします。

マッピングでは次の作業を行います。

・ファンクションの配置とファンクションの設定

　ファンクションの設定内容を次の表に示します。

表D‒52　ファンクションの設定内容（XMLデータ書き込みサンプル-ファイルアダプタ要求電文作成アクティビティ）

ファンクション

ファンクション名

設定値

loop

loop1

ノード選択

DBA_ResultSet※

ノード条件設定

設定しない

loop

loop2

ノード選択

DBA_ResultColumn※

ノード条件設定

設定しない

注※

DBA_ResultSetおよびDBA_ResultColumnは，WRITE_XMLノード下の情報を使用します。

・ノード間のマッピングの設定

　ノード間のマッピングの設定内容を次の表に示します。

表D‒53　マッピングの設定内容（XMLデータ書き込みサンプル-ファイルアダプタ要求電文作成アクティビティ）

変換元ノード

ファンクション

変換先ノード

−

loop1

record

−

loop2

column

filename

−

filename

filemode

−

filemode

DBA_ResultColumn※

−

data

（凡例）

−：該当しません。

注※

DBA_ResultColumnは，WRITE_XMLノード下の情報を使用します。

データ変換（マッピング）定義画面の変換元スキーマツリービューア，マッピングビューア，または変換先スキーマツリービューアの適当な場所で右クリックして，［検証］を選択します。

検証が実行されます。なお，警告は無視してください。

●アクティビティの連結

XMLデータ書き込みサンプルで使用するビジネスプロセスでは，次の表に示すようにアクティビティを連結します。

表D‒54　アクティビティの連結内容（XMLデータ書き込みサンプル）

連結元アクティビティ

連結先アクティビティ

開始

CSAFF_SAMPLE_BP_WRITE_XML

CSAFF_SAMPLE_BP_WRITE_XML

DBアダプタ要求電文作成

DBアダプタ要求電文作成

DBアダプタ呼出

DBアダプタ呼出

ファイルアダプタ要求電文作成

ファイルアダプタ要求電文作成

ファイルアダプタ呼出

ファイルアダプタ呼出

CSAFF_SAMPLE_BP_WRITE_XML_RSP

CSAFF_SAMPLE_BP_WRITE_XML_RSP

終了

アクティビティの連結の手順を次に示します。

パレットの［コネクション］をクリックします。

コネクションが選択された状態になります。

この状態で，アクティビティにマウスポインタを合わせると，そのアクティビティを連結元に設定できる場合，アクティビティの背景色が変わります。

キャンバスに配置したアクティビティのうち，連結元となるアクティビティをクリックします。

連結元となるアクティビティが設定されます。

この状態で，ほかのアクティビティにマウスポインタを合わせると，そのアクティビティを連結先に設定できる場合，アクティビティの背景色が変わります。

キャンバスに配置したアクティビティのうち，連結先となるアクティビティをクリックします。

連結元となるアクティビティと連結先となるアクティビティが連結されます。

(d)　ビジネスプロセスの保存・検証

ビジネスプロセスを保存して検証する手順を次に示します。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

ビジネスプロセスのサービスIDは，プロパティビューで「CSAFF_B4」を設定してください。

ビジネスプロセスの設定を検証します。

ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから，「検証」を選択すると，検証結果がコンソールビューに表示されます。

(3)　ファイルアダプタとビジネスプロセスの配備定義

定義したファイルアダプタとビジネスプロセスをサーバに配備して開始します。

ファイルアダプタとビジネスプロセスの配備定義の手順を次に示します。

ツリービューの［サービス定義一覧］を右クリックして，［複数サービスをサーバに配備して開始］を選択します。

サービス選択ページで配備および開始するサービスを選択します。

［Finish］ボタンをクリックします。

処理中であることを知らせるメッセージが表示されたあと，結果を知らせるメッセージが表示されます。

［OK］ボタンをクリックします。

ファイルアダプタとビジネスプロセスの配備と開始が完了します。

(4)　テーブルの作成

サンプルを実行するデータベースのテーブルを作成します。

HiRDB SQL Executerを起動して，次のSQL文を実行してください。

CREATE TABLE CSAFF_SAMPLE_WX
(ORDER_NO INT,
 CUSTOMER_CODE CHAR(5),
 PRODUCT_CODE CHAR(4),
 ORDER_COUNT INT);
INSERT INTO CSAFF_SAMPLE_WX VALUES(1001,'AA001','1001',5);
INSERT INTO CSAFF_SAMPLE_WX VALUES(1002,'AB002','1001',1);
INSERT INTO CSAFF_SAMPLE_WX VALUES(1003,'AA001','1102',3);
INSERT INTO CSAFF_SAMPLE_WX VALUES(1004,'XA005','1103',1);
INSERT INTO CSAFF_SAMPLE_WX VALUES(1005,'AA001','1105',1);

注意事項

ユーザIDは「ADMIN」とします。

(5)　要求電文の作成

サンプルで提供するビジネスプロセス実行時の要求電文を編集して，要求電文を作成する手順を次に示します。

サンプルで提供する要求電文ファイルを，テキストエディタで開きます。

サンプルで提供する要求電文ファイルは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_xml¥write_xml_message.xml」です。

次に示す斜体部分を記述します。

<?xml version="1.0" encoding="UTF-8"?>
<WriteData>
  <filename><サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_xml¥write_xml_data.xml</filename>
  <filemode>new</filemode>
  <PRODUCT_CODE>1001</PRODUCT_CODE>
</WriteData>

ファイルを上書き保存します。

(6)　ビジネスプロセスの実行

サンプルを実行するには，サービスリクエスタからビジネスプロセスを起動します。

サービスリクエスタの処理の流れと概要を次に示します。

サービスリクエスタ実行

ビジネスプロセスの要求電文が，そのままファイルアダプタの要求電文として使用されます。

DBアダプタ実行

要求電文で指定された条件に合致するデータがデータベースから取得されます。

ファイルアダプタ電文作成

DBアダプタの応答電文がファイルアダプタの要求電文の形式に変換されます。

ファイルアダプタ実行

要求電文で指定されたファイルが出力されます。

サービスリクエスタ終了

ファイルアダプタの応答電文が，そのままビジネスプロセスの応答電文として使用されます。

サービスリクエスタの実行手順を次に示します。

カレントディレクトリを「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥bin」に移動します。

request.batを実行します。

次の形式で実行してください。

request write_xml <サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_xml¥write_xml_message.xml

参考

出力先は，次のファイルです。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_xml¥write_xml_data.xml

付録D.6　CSVデータ書き込みサンプル

CSVデータ書き込みサンプルでは，DBアダプタが取得したデータを，ファイルアダプタを通してCSV形式のファイルに書き込みます。

入出力項目を次の表に示します。

表D‒55　入出力項目一覧（CSVデータ書き込みサンプル）

入出力項目

内容

ファイルアダプタの出力ファイル

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_csv¥write_csv_data.csv

DBアダプタの入力テーブル

ADMIN.CSAFF_SAMPLE_WC※

注※

スキーマ名は変更しないでください。

(1)　ファイルアダプタの定義

(a)　ファイルアダプタの追加と検証

ファイルアダプタを追加設定し，検証する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

サービスアダプタ定義追加ウィザードが表示されます。

サービス部品の種別のドロップダウンリストから「ファイルアダプタ」を選択します。

［次へ］ボタンをクリックします。

サービスアダプタ定義追加（ファイルアダプタ）ウィザードが表示されます。

サービス名を入力します。

サービス名には，「CSAFF_SAMPLE_WRITE_CSV」と入力します。

［終了］ボタンをクリックします。

必要なファイルが作成され，リポジトリに保存されます。サービスアダプタ定義画面（基本）が表示されます。

サービスアダプタ定義画面（基本）およびサービスアダプタ定義画面（詳細）を設定します。

設定内容については，「ファイルアダプタの設定内容（CSVデータ書き込みサンプル）」を参照してください。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

ファイルアダプタの設定を検証します。

ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから，「検証」を選択すると，検証結果がコンソールビューに表示されます。

ファイルアダプタの設定内容（CSVデータ書き込みサンプル）

CSVデータ書き込みサンプルのファイルアダプタを定義する場合の，サービスアダプタ定義画面（基本）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒56　サービスアダプタ定義画面（基本）の設定内容（CSVデータ書き込みサンプル）

分類

項目

設定値

設定

サービス部品制御情報

サービス名

CSAFF_SAMPLE_WRITE_CSV

◎

サービスID

CSAFF_WC

◎

サービス種別

ファイルアダプタ

×

アドレス

−

−

最大インスタンス数

0

◎

オペレーション

定義パターン：バイナリ書き込み

オペレーション名：CSAFF_SAMPLE_WRITE_CSV

◎

オペレーション情報

オペレーション名

CSAFF_SAMPLE_WRITE_CSV

×

通信モデル

同期

◎

要求電文

標準

使う（チェックボックス）

使う（チェックする）

◎

電文フォーマット

csaff_sample_write_csv_standard.xsd

◎

サービス部品

電文フォーマット

csaff_sample_write_csv.fdx

◎

データ変換定義

SAMPLE_WRITE_CSV_DT

◎

応答電文

標準

使う（チェックボックス）

使わない（チェックしない）

◎

サービス部品

電文フォーマット

adpff_result.xsd

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

−：設定しません。

CSVデータ書き込みサンプルのファイルアダプタを定義する場合の，サービスアダプタ定義画面（詳細）での設定項目を次の表に示します。なお，表に記載されていない項目については，設定不要です。

表D‒57　サービスアダプタ定義画面（詳細）の設定内容（CSVデータ書き込みサンプル）

分類

項目

設定値

設定

サービスアダプタ制御情報

サービスアダプタ（EJB-JARファイル）

cscmsg_adpejb.jar

×

ユーティリティクラス（JARファイル）

adpffpc.jar

×

（凡例）

×：表示されている内容を確認します。

(b)　データ変換定義

データ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D‒11　ファイルアダプタのデータ変換定義画面（CSVデータ書き込みサンプル）

データ変換定義の手順を次に示します。

アダプタ定義画面のデータ変換（マッピング）定義画面を表示します。

データ変換（マッピング）定義画面が表示されたあと，［ルート要素選択］ダイアログが表示されます。

すべてのスキーマ論理名のルート要素を選択します。

［OK］ボタンがクリックできる状態になります。

［OK］ボタンをクリックします。

変換元スキーマツリービューアおよび変換先スキーマツリービューアに，選択したルート要素のスキーマがツリー表示されます。

マッピングします。

マッピングでは次の作業を行います。

ファンクションの配置とファンクションの設定

ファンクションの設定内容を次の表に示します。

表D‒58　ファンクションの設定内容（CSVデータ書き込みサンプル-ファイルアダプタ）

ファンクション

ファンクション名

設定値

loop

loop1

ノード選択

record

ノード条件設定

設定しない

loop

loop2

ノード選択

column

ノード条件設定

設定しない

ノード間のマッピングの設定

ノード間のマッピングの設定内容を次の表に示します。

表D‒59　マッピングの設定内容（CSVデータ書き込みサンプル-ファイルアダプタ）

変換元ノード

ファンクション

変換先ノード

−

loop1

record

−

loop2

data

filename

−

filename

fileoption

−

fileoption

data

−

data

（凡例）

−：該当しません。

データ変換（マッピング）定義画面の変換元スキーマツリービューア，マッピングビューア，または変換先スキーマツリービューアの適当な場所で右クリックして，［検証］を選択します。

検証が実行されます。なお，警告は無視してください。

(c)　ファイルアダプタ実行環境プロパティファイルの作成

ファイルアダプタ実行環境プロパティファイルを作成する手順を次に示します。

サンプルで提供するファイルアダプタ実行環境プロパティファイルを，テキストエディタで開きます。

サンプルで提供するファイルアダプタ実行環境プロパティファイルは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_csv¥CSAFF_WC.properties」です。

次の内容を記述します。

fileaccess.path1 = <サービスプラットフォームのインストールディレクトリ>¥¥CSC¥¥custom-adapter¥¥File¥¥sample¥¥write_csv
character.code = MS932
codetable.path = <Code Converterの変換テーブル（ユーザマッピングファイル）格納パス>

ユーザマッピングファイルの格納パスを次に示します。

<サービスプラットフォームのインストールディレクトリ>¥¥CSC¥¥lib¥¥external¥¥table

ファイルを保存します。

ファイルの格納パスを次に示します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥config

(2)　ビジネスプロセスの定義

ビジネスプロセスの定義は，ビジネスプロセスの追加，ビジネスプロセスの内容の定義，ビジネスプロセスの検証の順で行います。

(a)　ビジネスプロセスの追加

ビジネスプロセスを追加する手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。

ビジネスプロセス定義を追加するためのダイアログが表示されます。

ビジネスプロセス名を入力し，ステータスを永続化するかどうか（ビジネスプロセスの実行状態をデータベースに保存するかどうか）を選択します。

ビジネスプロセス名には，「CSAFF_SAMPLE_BP_WRITE_CSV」と入力します。

ステータスの永続化には，「yes」を選択します。

参考

BPELファイルは使用しません。

［終了］ボタンをクリックします。

必要なファイルが作成され，リポジトリに保存されます。ビジネスプロセス定義画面が表示されます。

(b)　変数の設定

次に示す変数を設定します。

CSAFF_BP_RequestMessage

CSAFF_DB_RequestMessage

CSAFF_DB_ResponseMessage

CSAFF_RequestMessage

CSAFF_ResponseMessage

参考

サンプルでは相関セットを使用しません。

変数を設定する手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

一覧から「変数一覧」を選択します。

変数名を入力します。

［種別］のドロップダウンリストから「XML」を選択します。

次のどれかの操作をします。

CSAFF_DB_ResponseMessage，CSAFF_RequestMessageまたはCSAFF_ResponseMessageの場合

［取込］ボタンをクリックして表示される［電文フォーマットの取込］ダイアログで，使用する電文フォーマットを指定します。設定内容については，「変数の設定内容（CSVデータ書き込みサンプル）」を参照してください。

CSAFF_BP_RequestMessageの場合

［...］ボタンをクリックして，「csaff_sample_write_csv.xsd」を設定します。

CSAFF_DB_RequestMessageの場合

［...］ボタンをクリックして，「csaff_sample_write_csv_db.xsd」を設定します。

［追加］ボタンをクリックします。

変数一覧に，追加した変数が表示されます。

変数ごとに手順2から6を繰り返します。

［OK］ボタンをクリックします。

変数の設定値が保存されて，［変数・相関セット一覧］ダイアログが閉じます。

変数の設定内容（CSVデータ書き込みサンプル）

CSAFF_DB_ResponseMessage，CSAFF_RequestMessageおよびCSAFF_ResponseMessageの設定内容を次に示します。なお，表に記載されていない項目については，設定不要です。

表D‒60　CSAFF_DB_ResponseMessageの設定内容（CSVデータ書き込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_DB

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_DB

電文種別

応答電文（ボディ）

−

電文フォーマット

csaff_sample_sqlformat

（凡例）

−：該当しません。

表D‒61　CSAFF_RequestMessageの設定内容（CSVデータ書き込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_WRITE_CSV

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_WRITE_CSV

電文種別

要求電文（ボディ）

−

電文フォーマット

csaff_sample_write_csv_standard

（凡例）

−：該当しません。

表D‒62　CSAFF_ResponseMessageの設定内容（CSVデータ書き込みサンプル）

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_WRITE_CSV

受付名

−

取込対象

オペレーション名

CSAFF_SAMPLE_WRITE_CSV

電文種別

応答電文（ボディ）

−

電文フォーマット

adpff_result

（凡例）

−：該当しません。

(c)　アクティビティの設定

ここでは，次の図に示すアクティビティの配置・定義，データ変換定義，およびアクティビティの連結について説明します。

図D‒12　ビジネスプロセス定義全体図（CSVデータ書き込みサンプル）

●アクティビティの配置・定義

CSVデータ書き込みサンプルでは，次の表に示すアクティビティを設定します。

表D‒63　アクティビティ一覧（CSVデータ書き込みサンプル）

アクティビティ

アクティビティ名

説明

受付

CSAFF_SAMPLE_BP_WRITE_CSV

ビジネスプロセスの受付。

応答

CSAFF_SAMPLE_BP_WRITE_CSV_RSP

ビジネスプロセスの応答。

サービス呼出

ファイルアダプタ呼出

ファイルアダプタの呼び出し。

サービス呼出

DBアダプタ呼出

DBアダプタの呼び出し。

データ変換

ファイルアダプタ要求電文作成

DBアダプタの応答電文をファイルアダプタの要求電文に変換。

データ変換

DBアダプタ要求電文作成

ビジネスプロセスの要求電文をDBアダプタの要求電文に変換。

アクティビティを配置して設定する手順を次に示します。

パレットの基本アクティビティまたは構造アクティビティの中から，キャンバスに配置するアクティビティをクリックします。

クリックしたアクティビティが選択された状態になります。

キャンバス上の適当な場所をクリックします。

選択したアクティビティがキャンバス上に配置されます。配置されたアクティビティは，ドラッグ＆ドロップで場所を移動できます。

配置されたアクティビティをダブルクリックします。

ダブルクリックしたアクティビティのダイアログが表示されます。

ダイアログに必要な情報を入力します。

設定内容の詳細は，「アクティビティの設定内容（CSVデータ書き込みサンプル）」を参照してください。

［OK］ボタンをクリックします。

アクティビティのダイアログが閉じます。

アクティビティごとに手順1から5を繰り返します。

アクティビティの設定内容（CSVデータ書き込みサンプル）

CSVデータ書き込みサンプルで使用するビジネスプロセスのアクティビティの設定内容を次に示します。なお，表に記載されていない項目については，設定不要です。

表D‒64　CSAFF_SAMPLE_BP_WRITE_CSVの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_WRITE_CSV

オペレーション名

CSAFF_SAMPLE_BP_WRITE_CSV

ボディ割当変数

CSAFF_BP_RequestMessage

通信モデル

同期

インスタンス生成

Yes

表D‒65　CSAFF_SAMPLE_BP_WRITE_CSV_RSPの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_WRITE_CSV_RSP

オペレーション名

CSAFF_SAMPLE_BP_WRITE_CSV

ボディ割当変数

CSAFF_ResponseMessage

表D‒66　ファイルアダプタ呼出の設定内容（CSVデータ書き込みサンプル）

項目

設定値

アクティビティ名

ファイルアダプタ呼出

サービス名

CSAFF_SAMPLE_WRITE_CSV

オペレーション名

CSAFF_SAMPLE_WRITE_CSV

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_RequestMessage

応答電文

ボディ割当変数

CSAFF_ResponseMessage

表D‒67　DBアダプタ呼出の設定内容（CSVデータ書き込みサンプル）

項目

設定値

アクティビティ名

DBアダプタ呼出

サービス名

CSAFF_SAMPLE_DB

オペレーション名

CSAFF_SAMPLE_DB

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_DB_RequestMessage

応答電文

ボディ割当変数

CSAFF_DB_ResponseMessage

表D‒68　ファイルアダプタ要求電文作成の設定内容（CSVデータ書き込みサンプル）

項目

設定値

アクティビティ名

ファイルアダプタ要求電文作成

変換元変数

CSAFF_BP_RequestMessage

CSAFF_DB_ResponseMessage

変換先変数

CSAFF_RequestMessage

表D‒69　DBアダプタ要求電文作成の設定内容（CSVデータ書き込みサンプル）

項目

設定値

アクティビティ名

DBアダプタ要求電文作成

変換元変数

CSAFF_BP_RequestMessage

変換先変数

CSAFF_DB_RequestMessage

●DBアダプタ要求電文作成アクティビティのデータ変換定義の設定

DBアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D‒13　DBアダプタ要求電文作成アクティビティデータ変換定義画面（CSVデータ書き込みサンプル）

DBアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。

DBアダプタ要求電文作成アクティビティからデータ変換（マッピング）定義画面を表示します。

データ変換（マッピング）定義画面が表示されたあと，［ルート要素選択］ダイアログが表示されます。

すべてのスキーマ論理名のルート要素を選択します。

［OK］ボタンがクリックできる状態になります。

［OK］ボタンをクリックします。

変換元スキーマツリービューアおよび変換先スキーマツリービューアに，選択したルート要素のスキーマがツリー表示されます。

マッピングします。

マッピングでは次の作業を行います。

・ファンクションの配置とファンクションの設定

　ファンクションの設定内容を次の表に示します。

表D‒70　ファンクションの設定内容（CSVデータ書き込みサンプル-DBアダプタ要求電文作成アクティビティ）

ファンクション

ファンクション名

設定値

const

const1

定数種別

文字列

値

PRODUCT_CODE

const

const2

定数種別

文字列

値

=

・ノード間のマッピングの設定

　ノード間のマッピングの設定内容を次の表に示します。

表D‒71　マッピングの設定内容（CSVデータ書き込みサンプル-DBアダプタ要求電文作成アクティビティ）

変換元ノード

ファンクション

変換先ノード

−

const1

val1

−

const2

val2

PRODUCT_CODE

−

val3

（凡例）

−：該当しません。

データ変換（マッピング）定義画面の変換元スキーマツリービューア，マッピングビューア，または変換先スキーマツリービューアの適当な場所で右クリックして，［検証］を選択します。

検証が実行されます。

●ファイルアダプタ要求電文作成アクティビティのデータ変換定義の設定内容

ファイルアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D‒14　ファイルアダプタ要求電文作成アクティビティデータ変換定義画面（CSVデータ書き込みサンプル）

ファイルアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。

ファイルアダプタ要求電文作成アクティビティからデータ変換（マッピング）定義画面を表示します。

データ変換（マッピング）定義画面が表示されたあと，［ルート要素選択］ダイアログが表示されます。

すべてのスキーマ論理名のルート要素を選択します。

［OK］ボタンがクリックできる状態になります。

［OK］ボタンをクリックします。

変換元スキーマツリービューアおよび変換先スキーマツリービューアに，選択したルート要素のスキーマがツリー表示されます。

マッピングします。

マッピングでは次の作業を行います。

・ファンクションの配置とファンクションの設定

　ファンクションの設定内容を次の表に示します。

表D‒72　ファンクションの設定内容（CSVデータ書き込みサンプル-ファイルアダプタ要求電文作成アクティビティ）

ファンクション

ファンクション名

設定値

loop

loop1

ノード選択

DBA_ResultSet※

ノード条件設定

設定しない

loop

loop2

ノード選択

DBA_ResultColumn※

ノード条件設定

設定しない

注※

DBA_ResultSetおよびDBA_ResultColumnは，WRITE_CSVノード下の情報を使用します。

・ノード間のマッピングの設定

　ノード間のマッピングの設定内容を次の表に示します。

表D‒73　マッピングの設定内容（CSVデータ書き込みサンプル-ファイルアダプタ要求電文作成アクティビティ）

変換元ノード

ファンクション

変換先ノード

−

loop1

record

−

loop2

column

filename

−

filename

fileoption

−

fileoption

DBA_ResultColumn※

−

data

（凡例）

−：該当しません。

注※

DBA_ResultColumnは，WRITE_CSVノード下の情報を使用します。

データ変換（マッピング）定義画面の変換元スキーマツリービューア，マッピングビューア，または変換先スキーマツリービューアの適当な場所で右クリックして，［検証］を選択します。

検証が実行されます。

●アクティビティの連結

CSVデータ書き込みサンプルで使用するビジネスプロセスでは，次の表に示すようにアクティビティを連結します。

表D‒74　アクティビティの連結内容（CSVデータ書き込みサンプル）

連結元アクティビティ

連結先アクティビティ

開始

CSAFF_SAMPLE_BP_WRITE_CSV

CSAFF_SAMPLE_BP_WRITE_CSV

DBアダプタ要求電文作成

DBアダプタ要求電文作成

DBアダプタ呼出

DBアダプタ呼出

ファイルアダプタ要求電文作成

ファイルアダプタ要求電文作成

ファイルアダプタ呼出

ファイルアダプタ呼出

CSAFF_SAMPLE_BP_WRITE_CSV_RSP

CSAFF_SAMPLE_BP_WRITE_CSV_RSP

終了

アクティビティの連結の手順を次に示します。

パレットの［コネクション］をクリックします。

コネクションが選択された状態になります。

この状態で，アクティビティにマウスポインタを合わせると，そのアクティビティを連結元に設定できる場合，アクティビティの背景色が変わります。

キャンバスに配置したアクティビティのうち，連結元となるアクティビティをクリックします。

連結元となるアクティビティが設定されます。

この状態で，ほかのアクティビティにマウスポインタを合わせると，そのアクティビティを連結先に設定できる場合，アクティビティの背景色が変わります。

キャンバスに配置したアクティビティのうち，連結先となるアクティビティをクリックします。

連結元となるアクティビティと連結先となるアクティビティが連結されます。

(d)　ビジネスプロセスの保存・検証

ビジネスプロセスを保存して検証する手順を次に示します。

定義内容を確認して，Eclipseのメニューから［ファイル］−［保存］を選択し，定義内容を保存します。

ビジネスプロセスのサービスIDは，プロパティビューで「CSAFF_B5」を設定してください。

ビジネスプロセスの設定を検証します。

ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから，「検証」を選択すると，検証結果がコンソールビューに表示されます。

(3)　ファイルアダプタとビジネスプロセスの配備定義

定義したファイルアダプタとビジネスプロセスをサーバに配備して開始します。

ファイルアダプタとビジネスプロセスの配備定義の手順を次に示します。

ツリービューの［サービス定義一覧］を右クリックして，［複数サービスをサーバに配備して開始］を選択します。

サービス選択ページで配備および開始するサービスを選択します。

［Finish］ボタンをクリックします。

処理中であることを知らせるメッセージが表示されたあと，結果を知らせるメッセージが表示されます。

［OK］ボタンをクリックします。

ファイルアダプタとビジネスプロセスの配備と開始が完了します。

(4)　テーブルの作成

サンプルを実行するデータベースのテーブルを作成します。

HiRDB SQL Executerを起動して，次のSQL文を実行してください。

CREATE TABLE CSAFF_SAMPLE_WC
(ORDER_NO INT,
 CUSTOMER_CODE CHAR(5),
 PRODUCT_CODE CHAR(4),
 ORDER_COUNT INT);
INSERT INTO CSAFF_SAMPLE_WC VALUES(1001,'AA001','1001',5);
INSERT INTO CSAFF_SAMPLE_WC VALUES(1002,'AB002','1001',1);
INSERT INTO CSAFF_SAMPLE_WC VALUES(1003,'AA001','1102',3);
INSERT INTO CSAFF_SAMPLE_WC VALUES(1004,'XA005','1103',1);
INSERT INTO CSAFF_SAMPLE_WC VALUES(1005,'AA001','1105',1);

注意事項

ユーザIDは「ADMIN」とします。

(5)　要求電文の作成

サンプルで提供するビジネスプロセス実行時の要求電文を編集して，要求電文を作成する手順を次に示します。

サンプルで提供する要求電文ファイルを，テキストエディタで開きます。

サンプルで提供する要求電文ファイルは，「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_csv¥write_csv_message.xml」です。

次に示す斜体部分を記述します。

<?xml version="1.0" encoding="UTF-8"?>
<WriteData>
  <filename><サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_csv¥write_csv_data.csv</filename>
  <fileoption>mode=new</fileoption>
  <PRODUCT_CODE>1001</PRODUCT_CODE>
</WriteData>

ファイルを上書き保存します。

(6)　ビジネスプロセスの実行

サンプルを実行するには，サービスリクエスタからビジネスプロセスを起動します。

サービスリクエスタの処理の流れと概要を次に示します。

サービスリクエスタ実行

ビジネスプロセスの要求電文が，そのままファイルアダプタの要求電文として使用されます。

DBアダプタ実行

要求電文で指定された条件に合致するデータがデータベースから取得されます。

ファイルアダプタ電文作成

DBアダプタの応答電文がファイルアダプタの要求電文の形式に変換されます。

ファイルアダプタ実行

要求電文で指定されたファイルが出力されます。

サービスリクエスタ終了

ファイルアダプタの応答電文が，そのままビジネスプロセスの応答電文として使用されます。

サービスリクエスタの実行手順を次に示します。

カレントディレクトリを「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥bin」に移動します。

request.batを実行します。

次の形式で実行してください。

request write_csv <サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_csv¥write_csv_message.xml

参考

出力先は，次のファイルです。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥File¥sample¥write_csv¥write_csv_data.csv

付録E　ファイル操作アダプタの定義例

ここでは，ファイル操作アダプタでファイル変換オペレーションを使用する場合の電文フォーマットおよび独自定義ファイルの定義例について説明します。

付録E.1　XML形式からバイナリ形式に分割処理方式で変換する場合

XML形式からバイナリ形式に分割処理方式でファイルを変換する場合の定義例について説明します。

この例で使用する入力XMLファイルおよび出力バイナリファイルの例を次の図に示します。

図E‒1　入力XMLファイルおよび出力バイナリファイルの例

この例では，ヘッダレコードとトレーラレコードを使用します。また，分割処理方式で変換するレコードは1レコードずつとします。

変換に必要なファイルの一覧を次の表に示します。

表E‒1　変換に必要なファイルの一覧（XML形式からバイナリ形式に変換する場合）

#

ファイル種別

形式

1

入力XMLスキーマ

XSD

2

出力ヘッダレコード用バイナリフォーマット定義ファイル

FDX

3

出力データレコード用バイナリフォーマット定義ファイル

FDX

4

出力トレーラレコード用バイナリフォーマット定義ファイル

FDX

5

ヘッダレコード用データ変換定義ファイル

XSL

6

データレコード用データ変換定義ファイル

XSL

7

トレーラレコード用データ変換定義ファイル

XSL

8

ファイル操作アダプタ定義ファイル

プロパティファイル

バイナリ形式のファイルを出力する場合，各レコード種別に対応するバイナリフォーマット定義ファイル（#2，#3，#4），および各レコード種別に対応するデータ変換定義ファイル（#5，#6，#7）を作成します。

バイナリフォーマット定義ファイルの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.4　電文フォーマット（バイナリフォーマット定義ファイル）の作成方法」を参照してください。また，データ変換定義ファイルの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.1　データ変換の定義手順」の，Eclipseのメニューから表示する場合の説明を参照してください。

入力XMLスキーマ（XSDファイル）

Eclipseが提供するWST（Web Standard Tools）などを利用して，次の内容の入力XMLスキーマを作成します。入力XMLスキーマのファイル名は「FOPSchema.xsd」とします。

図は，マッピング定義ファイル作成時に入力XMLスキーマを変換元スキーマとして読み込んだ状態です。

出力ヘッダレコード用バイナリフォーマット定義ファイル（FDXファイル）

バイナリフォーマット定義ファイルを次のように作成します。バイナリフォーマット定義ファイルの名称は「FOPHeaderFormat1.fdx」とします。

出力データレコード用バイナリフォーマット定義ファイル（FDXファイル）

バイナリフォーマット定義ファイルを次のように作成します。バイナリフォーマット定義ファイルの名称は「FOPDataFormat1.fdx」とします。

出力トレーラレコード用バイナリフォーマット定義ファイル（FDXファイル）

バイナリフォーマット定義ファイルを次のように作成します。バイナリフォーマット定義ファイルの名称は「FOPTrailerFormat1.fdx」とします。

ヘッダレコード用データ変換定義ファイル（XSLファイル）

データ変換定義ファイルを次のように作成します。XSLファイルの名称は「FOPHeader1.xsl」とします。新規マッピング定義ファイルの作成時，変換元スキーマに「FOPSchema.xsd」を，変換先スキーマに「FOPHeaderFormat1.fdx」を指定します。

データレコード用データ変換定義ファイル（XSLファイル）

データ変換定義ファイルを次のように作成します。XSLファイルの名称は「FOPData1.xsl」とします。新規マッピング定義ファイルの作成時，変換元スキーマに「FOPSchema.xsd」を，変換先スキーマに「FOPDataFormat1.fdx」を指定します。

トレーラレコード用データ変換定義ファイル（XSLファイル）

データ変換定義ファイルを次のように作成します。XSLファイルの名称は「FOPTrailer1.xsl」とします。新規マッピング定義ファイルの作成時，変換元スキーマに「FOPSchema.xsd」を，変換先スキーマに「FOPTrailerFormat1.fdx」を指定します。

ファイル操作アダプタ定義ファイル

サービスアダプタ定義画面（詳細）で［独自定義ファイル］のcscFileOperation.propertiesを選択し，［編集］ボタンをクリックして次のように定義します。

ファイル操作アダプタ定義ファイルの詳細はマニュアル「サービスプラットフォーム リファレンス」の「3.5.2　ファイル操作アダプタ定義ファイル」を参照してください。

サービスアダプタの定義

サービスアダプタ定義画面（詳細）で，作成した次のファイルを独自定義ファイルとして追加します。

FOPHeaderFormat1.fdx

FOPDataFormat1.fdx

FOPTrailerFormat1.fdx

FOPHeader1.xsl

FOPData1.xsl

FOPTrailer1.xsl

付録E.2　バイナリ形式からXML形式に分割処理方式で変換する場合

バイナリ形式からXML形式に分割処理方式でファイルを変換する場合の定義例について説明します。

図E‒2　入力バイナリファイルおよび出力XMLファイルの例

この例では，ヘッダレコードとトレーラレコードを使用します。また，分割処理で変換するレコードは1レコードずつとします。

変換に必要なファイルの一覧を次の表に示します。

表E‒2　変換に必要なファイルの一覧（バイナリ形式からXML形式に変換する場合）

#

ファイル種別

形式

1

入力ヘッダレコード用バイナリフォーマット定義ファイル

FDX

2

入力データレコード用バイナリフォーマット定義ファイル

FDX

3

入力トレーラレコード用バイナリフォーマット定義ファイル

FDX

4

出力XMLスキーマ

XSD

5

ヘッダレコード用データ変換定義ファイル

XSL

6

データレコード用データ変換定義ファイル

XSL

7

トレーラレコード用データ変換定義ファイル

XSL

8

出力用テンプレートXMLファイル

XML

9

ファイル操作アダプタ定義ファイル

プロパティファイル

バイナリ形式のファイルを入力する場合，各レコード種別に対応するバイナリフォーマット定義ファイル（#1，#2，#3）が必要となります。ファイル入力時に行末の改行コードが削除されているため，終了セパレータの指定が不要となることに注意してください。また，各レコード種別に対応するデータ変換定義ファイル（#5，#6，#7）を作成します。

バイナリフォーマット定義ファイルの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.4　電文フォーマット（バイナリフォーマット定義ファイル）の作成方法」を参照してください。また，データ変換定義ファイルの作成方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.1　データ変換の定義手順」の，Eclipseのメニューから表示する場合の説明を参照してください。

入力ヘッダレコード用バイナリフォーマット定義ファイル（FDXファイル）

バイナリフォーマット定義ファイルを次のように作成します。バイナリフォーマット定義ファイルの名称は「FOPHeaderFormat2.fdx」とします。

入力データレコード用バイナリフォーマット定義ファイル（FDXファイル）

バイナリフォーマット定義ファイルを次のように作成します。バイナリフォーマット定義ファイルの名称は「FOPDataFormat2.fdx」とします。

入力トレーラレコード用バイナリフォーマット定義ファイル（FDXファイル）

バイナリフォーマット定義ファイルを次のように作成します。バイナリフォーマット定義ファイルの名称は「FOPTrailerFormat2.fdx」とします。

出力XMLスキーマ

ファイル名および内容は「付録E.1　XML形式からバイナリ形式に分割処理方式で変換する場合」の入力XMLスキーマと同じです。

ヘッダレコード用データ変換定義ファイル（XSLファイル）

データ変換定義ファイルを次のように作成します。XSLファイルの名称は「FOPHeader2.xsl」とします。変換元スキーマに「FOPHeaderFormat2.fdx」を，変換先スキーマに「FOPSchema.xsd」を指定します。

この例では，マッピング対象のノードをheader要素に限定しています。マッピング対象の範囲を限定する方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.4.8　マッピング対象の範囲を限定する」を参照してください。

データレコード用データ変換定義ファイル（XSLファイル）

データ変換定義ファイルを次のように作成します。XSLファイルの名称は「FOPData2.xsl」とします。変換元スキーマには「FOPDataFormat2.fdx」を，変換先スキーマには「FOPSchema.xsd」を指定します。

この例では，マッピング対象のノードをdata要素に限定しています。

トレーラレコード用データ変換定義ファイル（XSLファイル）

データ変換定義ファイルを次のように作成します。XSLファイルの名称は「FOPTrailer2.xsl」とします。変換元スキーマには「FOPTrailerFormat2.fdx」を，変換先スキーマには「FOPSchema.xsd」を指定します。

この例では，定数ファンクションを使用してマッピング対象のノードをinfo1要素に限定しています。

出力用テンプレートXMLファイル

Eclipseが提供するWST（Web Standard Tools）などを利用して，出力用テンプレートXMLファイルを作成します。ファイル名は「xml_output_template.xml」とします。

次の出力用テンプレートXMLファイル内の各レコードを，変換された各レコードに差し替えて出力します。出力テンプレート用XMLファイルは，レコードの出力XMLスキーマに沿ったものを作成してください。出力XMLスキーマに沿っていない場合，変換されたレコードを出力できません。

ファイル操作アダプタ定義ファイル

サービスアダプタ定義画面（詳細）で［独自定義ファイル］のcscFileOperation.propertiesを選択し，［編集］ボタンをクリックして次のように定義します。

サービスアダプタの定義

サービスアダプタ定義画面（詳細）で，作成した次のファイルを独自定義ファイルとして追加します。

FOPHeaderFormat2.fdx

FOPDataFormat2.fdx

FOPTrailerFormat2.fdx

FOPHeader2.xsl

FOPData2.xsl

FOPTrailer2.xsl

xml_output_template.xml

付録F　HTTP受付を利用したビジネスプロセスの設定例

ここでは，HTTP受付に渡されたパラメタ（時速および時間）に対して，進んだ距離を応答として返すサンプルを使ったHTTP受付およびビジネスプロセスの設定例を紹介します。

次のHTTP受付の設定例について，それぞれ説明します。

標準モードの設定例

パススルーモードの設定例

ルーティング機能の設定例

付録F.1　HTTP受付の設定例（標準モードの場合）

ビジネスプロセスを標準モードで実行する場合の設定例について説明します。

(1)　設定例の概要

この設定例で使用する構成と処理の流れについて説明します。

設定例の構成を次の図に示します。

図F‒1　設定例の構成（標準モードの場合）

この設定例では，HCSCサーバ環境を構築したマシンと同一マシン上のWebブラウザを使用します。また，J2EEサーバ内のWebサーバを使用します。なお，HTTP受付は標準モードを使用します。

設定例の処理の流れを次に示します。

WebブラウザからGETメソッドでHTTP受付を呼び出します。

このとき，HTTPリクエストのクエリ文字列に時速と時間を設定します。

ビジネスプロセス内のデータ変換定義で距離を計算して，応答電文（ボディ）にセットします。

HTTPレスポンスヘッダ定義ファイルに指定されたヘッダを設定して，Webブラウザに応答を返します。

なお，この設定例ではヘッダ割当変数を使用しません。以降で設定手順について説明します。

(2)　HTTP受付の電文フォーマットの作成

HTTP受付で使用する電文フォーマットを作成します。電文フォーマットのテンプレートは次のフォルダに格納されています。

テンプレートファイルの格納元

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema

フォルダごと任意の場所にコピーしてから編集してください。電文フォーマットを作成する場合，コピー先のファイルを使用します。

(a)　要求電文（ボディ）フォーマットの作成

受付時のHTTP受付のボディ割当変数に設定する電文フォーマットを作成します。電文フォーマットはテンプレートを編集して作成します。

編集するファイルは「urecp_http_body_detail_request.xsd」です。

注　urecp_http_body_request.xsdは編集しないでください。

この設定例では，次のように時速を表す要素と時間を表す要素（斜体の個所）を追加します。

urecp_http_body_detail_request.xsd

<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema elementFormDefault="qualified"
  targetNamespace="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request"
  xmlns:hrc="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:complexType name="http-body-requestType">
      <xsd:sequence>
        <!-- User Customize -->
        <xsd:element name="kilometers_per_hour" type=" xsd:positiveInteger "/>
        <xsd:element name="hours" type=" xsd:positiveInteger "/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:schema>

なお，この例ではHTTP受付ヘッダ割当変数は使用しません。

(b)　応答電文（ボディ）フォーマットの作成

応答時のHTTP受付のボディ割当変数に設定する電文フォーマットを作成します。

距離を返す処理を記述した次の電文フォーマットを作成し，コピーしたフォルダ内に保存してください。ファイル名は「urecp_http_body_response.xsd」です。なお，応答電文（ボディ）フォーマットのテンプレートファイルはありません。

urecp_http_body_response.xsd

<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="HTTPResponseBody ">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="distance" type=" xsd:positiveInteger "/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

(3)　HTTP受付の追加

呼び出しサービス選択機能を使用しないで，HTTP受付を追加する手順を次に示します。

ツリービューのサービス定義一覧で右クリックして［ビジネスプロセス追加］を選択します。

ビジネスプロセスが追加されます。ビジネスプロセスの内容はここでは定義しません。

ツリービューのサービス定義一覧で，追加したビジネスプロセスを選択して右クリックし，［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

受付種別で［HTTP受付］を選択して［次へ］ボタンをクリックします。

［受付名］に任意の名前を設定します。

［終了］ボタンをクリックします。

HTTP受付がビジネスプロセスに追加され，ユーザ定義受付定義画面が表示されます。

(4)　HTTP受付の定義

ユーザ定義受付定義画面で設定する内容を次に示します。なお，ユーザ定義受付定義画面の詳細は，マニュアル「サービスプラットフォーム リファレンス」の「1.2.5　ユーザ定義受付定義画面」を参照してください。

(a)　ユーザ定義受付定義画面（基本）の設定

設定する内容を次に示します。

表F‒1　ユーザ定義受付定義画面（基本）の設定内容

分類

項目

設定値

ユーザ定義受付情報

受付名

HTTPReception

受付ID

rcp1

受付種別

HTTP受付

デフォルトオペレーション名

calculateDistance

オペレーション

calculateDistance

オペレーション情報

オペレーション名

calculateDistance

通信モデル

同期

要求電文（ボディ）

any型を使う（チェックボックス）

使わない（チェックしない）

受付

電文フォーマット

urecp_http_body_request.xsd

サービス部品

使う（チェックボックス）

使わない（チェックしない）

電文フォーマット

−

データ変換定義

−

応答電文(ボディ)

any型を使う（チェックボックス）

使わない（チェックしない）

受付

電文フォーマット

urecp_http_body_response.xsd（「(2) HTTP受付の電文フォーマットの作成」で作成したファイル）

サービス部品

使う（チェックボックス）

使わない（チェックしない）

電文フォーマット

−

データ変換定義

−

（凡例）

−：設定しません。

(b)　HTTPレスポンスヘッダ定義ファイルの編集

HTTPレスポンスヘッダ定義ファイルの編集手順を次に示します。なお，この設定例ではビジネスプロセス中でヘッダ割当変数を使用しないため，プロパティの説明は省略します。

ユーザ定義受付定義画面（詳細）の［独自定義ファイル］で「cscurecphttp_header.properties」を選択し，［編集］ボタンをクリックします。

独自定義ファイルを編集するためのエディタが起動します。

HTTPレスポンスヘッダ定義ファイルの内容を次のように修正します。

Connection=close
extension-header=extension-header1

注　「extension-header」は，任意に指定できる拡張ヘッダを想定して設定しています。

Eclipseのメニューから［ファイル］−［保存］を選択します。

HTTPレスポンスヘッダ定義ファイルが保存されます。

(c)　HTTP受付定義ファイルの編集

HTTP受付定義ファイルの編集手順を次に示します。

ユーザ定義受付定義画面（詳細）の［独自定義ファイル］で「cscurecphttp.properties」を選択し，［編集］ボタンをクリックします。

独自定義ファイルを編集するためのエディタが起動します。

HTTP受付定義ファイルの内容を次のように修正します。

#urecp-http.context-root=
#urecp-http.max-threads=10
#urecp-http.exclusive-threads=0
#urecp-http.queue-size=8192
#urecp-http.pooled-instance.minimum=0
#urecp-http.pooled-instance.maximum=0
#urecp-http.ejb-transaction-timeout=0
#httprecp.switchover.pass-through.mode=false
httprecp.http.charset=UTF-8
httprecp.response.header.filename=cscurecphttp_header.properties
#httprecp.system-exception.status-code=500
#httprecp.response.generate.content-length=true

この例ではコンテキストルート（urecp-http.context-root）を省略しているため， HTTP受付の受付IDがデフォルト値として使用されます。

Eclipseのメニューから［ファイル］−［保存］を選択します。

HTTP受付定義ファイルが保存されます。

(5)　ビジネスプロセスの定義

ビジネスプロセスの定義手順を次に示します。

(a)　ビジネスプロセスの作成

この例では，HTTP受付に渡された要求電文を，データ変換アクティビティを使用してデータ変換し，応答電文を生成するビジネスプロセスを作成します。

次の図に示すようにアクティビティを配置・連結してください。

図F‒2　ビジネスプロセスの作成例

アクティビティを配置・連結する方法については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.4　アクティビティの配置と連結」を参照してください。

(b)　変数の定義

ビジネスプロセスで使用する変数を定義します。

定義する変数を次に示します。

変数名

説明

request_body

HTTP受付の要求電文（ボディ）の変数

response_body

HTTP受付の応答電文（ボディ）の変数

なお，この設定例では相関セットを使用しません。

変数の定義は［電文フォーマットの取込］ダイアログで実施します。それぞれの変数の定義手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

［変数名］に「request_body」または「response_body」を入力します。

［種別］ドロップダウンリストから「XML」を選択します。

［電文フォーマット］の［取込］ボタンをクリックします。

［電文フォーマットの取込］ダイアログが表示されます。

次に示すとおりに各変数を設定します。

request_body

分類

項目

設定値

サービス/受付

サービス名

−

受付名

HTTPReception

取込対象

オペレーション名

calculateDistance

電文種別

要求電文(ボディ)

フォルト名

−

−

電文フォーマット

request_body

response_body

分類

項目

設定値

サービス/受付

サービス名

−

受付名

HTTPReception

取込対象

オペレーション名

calculateDistance

電文種別

応答電文(ボディ)

フォルト名

−

−

電文フォーマット

response_body

（凡例）

−：設定しません。または，該当する分類はありません。

［OK］ボタンをクリックし，［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

定義した変数が追加されます。

(c)　データ変換の定義

データ変換では，数値演算ファンクション「calc1」で要求電文に格納された2つのパラメタの積を求め，その値を応答電文にマッピングします。

データ変換の定義手順を次に示します。

ビジネスプロセス定義画面上のデータ変換アクティビティをダブルクリックします。

［データ変換アクティビティ］ダイアログが表示されます。

［データ変換アクティビティ］ダイアログで次のように指定します。

［変換元変数］に「request_body」を指定

［変換先変数］に「response_body」を指定

［OK］ボタンをクリックします。

データ変換アクティビティをダブルクリックします。

［ルート要素選択］ダイアログが表示されます。

［OK］ボタンをクリックします。

データ変換定義画面が表示されます。

パレットから数値演算ファンクション（calc）を選択して，マッピングビューアに配置します。

マッピング線を図のように設定します。

数値演算ファンクションをダブルクリックします。

［数値演算］ダイアログが表示されます。

［演算］で実行したい演算（この例では「*」）を選択します。

［OK］ボタンをクリックします。

データ変換の定義が完了しました。

(d)　受付アクティビティ・応答アクティビティの設定

アクティビティの設定手順を次に示します。

●受付アクティビティの設定例

ビジネスプロセス定義画面上の受付アクティビティをダブルクリックします。

［受付アクティビティ］ダイアログが表示されます。

次のように設定します。

項目

設定値

アクティビティ名

受付

オペレーション名

calculateDistance

ボディ割当変数

request_body

ヘッダ割当変数

−

割当相関セット群

−

通信モデル

同期

インスタンス生成

Yes

（凡例）

−：設定しません。

［OK］ボタンをクリックします。

●応答アクティビティの設定例

ビジネスプロセス定義画面上の応答アクティビティをダブルクリックします。

［応答アクティビティ］ダイアログが表示されます。

次のように設定します。

項目

設定値

アクティビティ名

応答

オペレーション名

calculateDistance

ボディ割当変数

response_body

ヘッダ割当変数

−

割当相関セット群

−

フォルト名

−

（凡例）

−：設定しません。

［OK］ボタンをクリックします。

(6)　HTTP受付の呼び出し

作成したビジネスプロセスを実行するための手順を示します。

(a)　準備手順

Eclipseのメニューから，［ファイル］−［すべて保管］を選択し，定義したHCSCコンポーネントを保管します。

Windowsの［スタート］メニューから，［Cosminexus］−［テストサーバ起動］を選択します。

ツリービューのサービス定義一覧で右クリックして，［複数サービスをサーバに配備して開始］を選択します。

サービス選択ページで配備および開始するサービスを選択します。

［Finish］ボタンをクリックします。

処理中であることを知らせるメッセージが表示されたあと，結果を知らせるメッセージが表示されます。

［OK］ボタンをクリックします。

ビジネスプロセスとHTTP受付を含むリポジトリが実行環境に配備されます。

(b)　HTTP受付の呼び出し

Webブラウザを起動してアドレス指定部分に次のURLを指定してアクセスします。必要に応じてクエリストリングの指定値は変更してください。

http://localhost/rcp1/calculateDistance?kilometers_per_hour=80&hours=25

実行結果が次のようにWebブラウザに表示されます。

付録F.2　HTTP受付の設定例（パススルーモードの場合）

ビジネスプロセスをパススルーモードで実行する場合の設定例について説明します。

(1)　設定例の概要

この設定例で使用する構成と処理の流れについて説明します。

設定例の構成を次の図に示します。

図F‒3　設定するシステムの構成（パススルーモードの場合）

パススルーモードでは，HTTP受付の要求電文（XML）をWebブラウザで直接指定してビジネスプロセスを呼び出します。

(2)　HTTP受付の電文フォーマットの作成

「付録F.1(2)　HTTP受付の電文フォーマットの作成」と同様の手順です。

(3)　HTTP受付の追加

「付録F.1(3)　HTTP受付の追加」と同様の手順です。

(4)　HTTP受付の定義

(a)　ユーザ定義受付定義画面（基本）の設定

「付録F.1(4)(a)　ユーザ定義受付定義画面（基本）の設定」と同様の設定内容です。

(b)　HTTPレスポンスヘッダ定義ファイルの編集

「付録F.1(4)(b)　HTTPレスポンスヘッダ定義ファイルの編集」と同様の手順です。

(c)　HTTP受付定義ファイルの編集

「付録F.1(4)(c)　HTTP受付定義ファイルの編集」と同様の手順です。ただし，パススルーモードでは，HTTP受付定義ファイルのhttprecp.switchover.pass-through.modeプロパティにtrueを指定します。設定例を示します。

#urecp-http.context-root=
#urecp-http.max-threads=10
#urecp-http.exclusive-threads=0
#urecp-http.queue-size=8192
#urecp-http.pooled-instance.minimum=0
#urecp-http.pooled-instance.maximum=0
#urecp-http.ejb-transaction-timeout=0
httprecp.switchover.pass-through.mode=true
httprecp.http.charset=UTF-8
httprecp.response.header.filename=cscurecphttp_header.properties
#httprecp.system-exception.status-code=500
#httprecp.response.generate.content-length=true

(5)　ビジネスプロセスの定義

「付録F.1(5)　ビジネスプロセスの定義」と同様の手順です。

(6)　HTTP受付の呼び出し

パススルーモードでは，HTTP受付の要求電文（XML）をWebブラウザで直接指定します。ここでは次のHTML（POSTメソッド）を使用して呼び出します。

次のHTMLファイルを作成してWebブラウザで表示します。

sample.html

<html>
  <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
  <body>
    <form method="POST" action="http://localhost/rcp1/calculateDistance">
      <label>パススルーモード： URL = http://localhost/rcp1/calculateDistance</label><br>
      <textarea name=msg rows=15 cols=140 wrap=soft>要求電文(XML)を入力してください。</textarea><br>
      <input type="submit" value="POSTで実行" />
    </form>
  </body>
</html>

Webブラウザの表示結果

入力エリアにHTTP受付の要求電文を入力します。

ここでは，標準モードで使用したビジネスプロセスをそのまま使用するため，「付録F.1(2)　HTTP受付の電文フォーマットの作成」で定義した標準モード用の要求電文をそのまま指定します。

<?xml version="1.0" encoding="UTF-8" ?>
<hrc:http-body-request
 xmlns:hrc="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request urecp_http_body_request.xsd">
  <hrc:parameter>
    <hrc:kilometers_per_hour>80</hrc:kilometers_per_hour>
    <hrc:hours>25</hrc:hours>
  </hrc:parameter>
</hrc:http-body-request>

［POSTで実行］ボタンをクリックします。

Webブラウザに実行結果が表示されます。実行結果を次に示します。

付録F.3　HTTP受付のルーティング機能の設定例

HTTP受付のルーティング機能を使用して，呼び出すビジネスプロセス，パススルーモードを設定した場合の設定例について説明します。

(1)　設定例の概要

この設定例で使用する構成と処理の流れについて説明します。

設定例の構成を次の図に示します。

図F‒4　設定するシステムの構成（ルーティング機能を設定した場合）

(2)　HTTP受付の電文フォーマットの作成

「付録F.1(2)　HTTP受付の電文フォーマットの作成」と同様の手順です。

(3)　HTTP受付の追加

「付録F.1(3)　HTTP受付の追加」と同様の手順です。

(4)　HTTP受付の定義

(a)　ユーザ定義受付定義画面（基本）の設定

「付録F.1(4)(a)　ユーザ定義受付定義画面（基本）の設定」と同様の設定内容です。

(b)　HTTPレスポンスヘッダ定義ファイルの編集

「付録F.1(4)(b)　HTTPレスポンスヘッダ定義ファイルの編集」と同様の手順です。

(c)　HTTP受付定義ファイルの編集

「付録F.1(4)(c)　HTTP受付定義ファイルの編集」と同様の手順です。ただし，ルーティング機能を使用する場合は，HTTP受付定義ファイルのhttprecp.use-routing-definitionプロパティにtrueを指定します。設定例を示します。

httprecp.use-routing-definition=true

(d)　HTTP受付ルーティング定義ファイルの編集

HTTP受付ルーティング定義ファイルの編集手順を次に示します。

ユーザ定義受付定義画面（詳細）の［独自定義ファイル］で「cscurecphttp_routing.xml」を選択し，［編集］ボタンをクリックします。

独自定義ファイルを編集するためのエディタが起動します。

HTTP受付ルーティング定義ファイルの内容を次のように修正します。

<?xml version="1.0" encoding="UTF-8" ?>
<urecphttp-routing xmlns="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/rest"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/rest urecp_http_rest_definition.xsd">
  <path pattern="/api/books">
    <GET>
      <invoke>bp01</invoke>
      <property key="httprecp.switchover.pass-through.mode">true</property>
      <property key="httprecp.pass-through.parameter-use">true</property>
    </GET>
    <POST><invoke>bp02</invoke></POST>
  </path>
  <path pattern="/api/books/{book-id}">
    <GET><invoke>bp03</invoke></GET>
    <PUT><invoke>bp04</invoke></PUT>
    <DELETE><invoke>bp05</invoke></DELETE>
  </path>
  <path pattern="/api/books/{book-id}/authors/{author-idx}">
    <GET><invoke>bp06</invoke></GET>
    <PUT><invoke>bp07</invoke></PUT>
    <DELETE><invoke>bp08</invoke></DELETE>
  </path>
</urecphttp-routing>

Eclipseのメニューから［ファイル］−［保存］を選択します。

HTTP受付ルーティング定義ファイルが保存されます。

(5)　ビジネスプロセスの定義

「付録F.1(5)　ビジネスプロセスの定義」と同様の手順です。

(6)　HTTP受付の呼び出し

「付録F.2(6)　HTTP受付の呼び出し」と同様の手順です。

付録G　HTTP受付およびHTTPアダプタを利用したビジネスプロセスの設定例

ここでは，次の2つの処理を行うシステムを例に，HTTP受付およびHTTPアダプタを使用したビジネスプロセスの設定手順について説明します。

HTTPサーバからHTTPクライアントにファイルをダウンロードする

HTTPアダプタの接続先をリクエストごとに動的に変更する

注意事項

この節では，開発環境内の実行環境（テスト環境）でビジネスプロセスを実行することを前提として説明します。

付録G.1　設定例1（HTTPサーバからHTTPクライアントにファイルをダウンロードする）

(1)　設定例の概要

この設定例では，次のような処理を行うビジネスプロセスを定義します。

HTTPアダプタからhostAのHTTPサーバにアクセスして，ホスト内のファイル（test.bmp）を作業フォルダ内にダウンロードします。

HTTP受付を経由して作業フォルダからHTTPクライアントにtest.bmpをダウンロードします。

(a)　環境構成

この設定例で作成する環境の構成を次の図に示します。

図G‒1　設定例1で作成する環境の構成

この設定例では，図中の点線で囲まれた部分の定義手順について説明します。

HTTPクライアントにはWebブラウザを利用します。

ファイルを受信するフォルダには作業フォルダを利用します。

注意事項

この設定例で使用するHTTPサーバは，あらかじめ用意されていることを前提としています。http://hostA/test.bmpにアクセスするとtest.bmpをダウンロードできるようにHTTPサーバを構成しているものとします。

また，HTTPアダプタがファイルのデータをダウンロードしたことを認識するために，HTTPアダプタに返すレスポンスヘッダにはContent-Dispositionヘッダを付与するように設定しておく必要があります。

(b)　設定の流れ

設定の流れを次に示します。

実行環境（テスト環境）のセットアップ

開発環境のセットアップ

各種定義ファイルの設定

HTTPアダプタの定義

ビジネスプロセスの追加

HTTP受付の追加

ビジネスプロセスの定義

データ変換の定義

ビジネスプロセスを実行するための準備

ビジネスプロセスの実行

それぞれの手順について次に説明します。

(2)　実行環境（テスト環境）のセットアップ

HCSC簡易セットアップ機能を利用してJ2EEサーバおよびHCSCサーバを構築します。

マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.4.2　HCSC簡易セットアップ機能の実行」に従ってテスト環境を構築します。

［メイン］タブの［HCSCサーバ］では，必ず「SOAP1.1/1.2併用モード」を選択してください。HTTPアダプタを利用するには，「SOAP1.1/1.2併用モード」を選択していることが前提となります。

［メイン］タブの［DBあり/RMなしモデル］，［DB/RMなしモデル］および［DB/RMありモデル］は，どれを選択しても実行できます。

「3.3.13(1)　J2EEサーバ用オプション定義ファイルの設定」に従って，J2EEサーバ用オプション定義ファイル（usrconf.cfg）を設定します。

［スタート］メニューで［プログラム］−［Cosminexus］−［テストサーバ停止］を選択して，テスト環境のJ2EEサーバおよびHCSCサーバを停止します。

［スタート］メニューで［プログラム］−［Cosminexus］−［テストサーバ起動］を選択して，テスト環境のJ2EEサーバおよびHCSCサーバを再起動します。

(3)　開発環境のセットアップ

開発環境を構築します。

マニュアル「サービスプラットフォーム ファーストステップガイド」の「3.5.2　HCSCTEプロジェクトの作成」および「3.5.3　テスト環境のシステム構成定義を開発環境に取り込むための設定」に従って，HCSCTEプロジェクトを作成します。

システム構成定義をテスト環境からエクスポートして開発環境にインポートします。

(4)　各種定義ファイルの設定

テスト環境でHTTP受付およびHTTPアダプタが動作するために，各種定義ファイルを設定します。

(a)　HTTP受付の定義ファイル

HTTP受付で使用する定義ファイルの種類と，この設定例での使用有無を次に示します。

定義ファイルの種類

概要

この設定例での使用有無

HTTPレスポンスヘッダ定義ファイル

HTTP受付の応答電文フォーマット（ヘッダ変数用）を省略した場合のデフォルト値として使用するHTTPレスポンスヘッダ情報を設定します。

使用しません。

HTTP受付定義ファイル

HTTP受付の動作情報を設定します。

使用します。

この設定例では，作業フォルダを利用してファイルを受信するため，次に示すHTTP受付定義ファイルのファイル設定用プロパティを設定します。

プロパティ名

設定値

説明

httprecp.switchover.file-transfer.mode

true

作業フォルダを生成するため，ここでは「true」を設定します。

httprecp.response.ignore-bodymsg

true

HTTP受付のレスポンス内容に，応答電文（ボディ）ではなく作業フォルダ内のファイルを使用するため，ここでは「true」を設定します。

表に記載していないプロパティは設定不要です。

各プロパティの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.11.3　HTTP受付定義ファイル」を参照してください。

HTTP受付定義ファイルは「(6) ビジネスプロセスの追加」で編集します。

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

HTTPアダプタで使用する定義ファイルの種類と，この設定例での使用有無を次に示します。

定義ファイルの種類

概要

この設定例での使用有無

HTTPアダプタ定義ファイル

HTTPアダプタの環境非依存の動作情報を設定します。

使用しません（すべてデフォルト値を使用します）。

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

HTTPアダプタの環境依存の動作情報を設定します。

使用します。

HTTPアダプタ実行環境共通プロパティファイル

HTTPアダプタの環境依存の動作情報を設定します。複数のアダプタの定義を一括で変更する場合に使用します。

使用しません。

HTTPアダプタでは，これらの定義ファイル以外にシステムプロパティの設定が必要な場合がありますが，この設定例では使用しません。

HTTPアダプタ実行環境プロパティファイルで設定するプロパティを次の表に示します。

プロパティ名

設定値

概要

adphttp.request.method

GET

ファイルダウンロード要求のリクエストをGETメソッドで行うため，「GET」を設定します。

adphttp.request.uri-scheme-authority

環境に応じて設定します。

URIのスキームとオーソリティを指定します。事前に準備している接続先を指定します。この設定例では「http://hostA」とします。

adphttp.request.uri-path

環境に応じて設定します。

URIのパスを指定します。この設定例ではtest.bmpファイルをダウンロードするパスとして「/test.bmp」を設定します。

adphttp.request.output-folder-name

−（設定しません）

この設定例ではダウンロードしたファイルを作業フォルダに出力するため，設定しません。

表に記載していないプロパティは設定不要です。

各プロパティの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.14.2　HTTPアダプタ実行環境プロパティファイル」を参照してください。

設定手順を次に示します。

テンプレートファイル（<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥config¥templates¥serviceid.properties）をコピーして，次のフォルダに格納します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥config

コピーしたテンプレートファイルをテキストエディタなどで開いて次のように編集します。

adphttp.request.method=GET
adphttp.request.uri-scheme-authority=http://hostA
adphttp.request.uri-path=/test.bmp
#adphttp.request.uri-query.<INDEX>=<QUERY-NAME>=<QUERY-VALUE>
#adphttp.request.header.authorization.type=none
#adphttp.request.header.authorization=
#adphttp.request.header.content-type.charset=
#adphttp.request.header.content-type=
#adphttp.request.header.userdef.<INDEX>=<FIELD-NAME>:<FIELD-VALUE>
#adphttp.request.part.message.binding=none
#adphttp.request.part.file.1.input-folder-name=
#adphttp.request.part.file.1.local-file-name=
#adphttp.request.output-folder-name=
#adphttp.config.trace.path=
#adphttp.config.messagelog.level=10
#adphttp.config.methodtrace.level=3
#adphttp.config.methodtrace.filenum=8
#adphttp.config.methodtrace.filesize=2097152
#adphttp.config.exptrace.filenum=8
#adphttp.config.exptrace.filesize=2097152

コピーしたファイルの名称を「adphttp.properties」に変更します。

「adphttp」はHTTPアダプタのサービスIDです。このサービスIDは，開発環境でHTTPアダプタを定義するときに使用します。

(c)　HCSCサーバランタイム定義ファイルの設定

この設定例では，デフォルトの作業フォルダルートを使用するため，HCSCサーバランタイム定義ファイルの設定は不要です。

作業フォルダの詳細は，マニュアル「サービスプラットフォーム 解説」の「2.15.6　HTTP受付のファイル管理」を参照してください。

(5)　HTTPアダプタの定義

開発環境でHTTPアダプタを定義します。操作手順を次に示します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。

サービス部品の種別のドロップダウンリストから「HTTPアダプタ」を選択して［次へ］ボタンをクリックします。

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

サービス名を入力します。

ここでは「adphttp」とします。

［終了］ボタンをクリックします。

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

オペレーションの［追加］ボタンをクリックして，オペレーション名とフォルト名を入力します。

ここでは，オペレーション名は「FileDownload」，フォルト名は「fault」とします。

［オペレーション追加］ダイアログで［OK］ボタンをクリックします。

［要求電文］−［サービス部品］−［電文フォーマット］の［参照］ボタンをクリックして，次の電文フォーマット定義ファイルを指定します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥schema¥adphttp_body_empty.fdx

注

この設定例ではHTTPアダプタでファイルの受信だけを行うため，要求および応答のボディ電文はサービスプラットフォームが提供する空の電文フォーマット定義ファイルを利用します。

［応答電文］−［サービス部品］−［電文フォーマット］の［参照］ボタンをクリックして，次の電文フォーマット定義ファイルを指定します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥schema¥adphttp_body_empty.fdx

［サービス部品定義情報］の［サービスID］を「adphttp」に変更します。

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

オペレーション情報の通信モデルは「同期」から変更しないでください。なお，この設定例ではサービスアダプタ定義（詳細）タブは設定しません。すべてデフォルトのまま使用します。

［ファイル］−［保存］を選択します。

HTTPアダプタの定義が保存されます。

(6)　ビジネスプロセスの追加

開発環境でビジネスプロセスを追加します。操作手順を次に示します。

ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。

ビジネスプロセス定義を追加するためのダイアログが表示されます。

次のように設定します。

項目

設定内容

ビジネスプロセス名

「bp1」を入力します。

ステータスの永続化

「no」を選択します。

BPELファイル

「インポートする」にチェックしません。

［終了］ボタンをクリックします。

ビジネスプロセスが追加され，ビジネスプロセス定義画面が表示されます。

(7)　HTTP受付の追加

呼び出しサービス選択機能を使用しないで，リクエストを受け付けるためのHTTP受付を追加します。操作手順を次に示します。

ツリービューのビジネスプロセス（bp1）を右クリックして［ユーザ定義受付（呼出先固定）追加］を選択します。

受付種別選択ウィザードが表示されます。

受付種別のドロップダウンリストから「HTTP受付」を選択して［次へ］ボタンをクリックします。

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

［受付名］を指定します。

ここでは「recphttp」とします。

［終了］ボタンをクリックします。

ユーザ定義受付定義画面（ユーザ定義受付（基本）タブ）が表示されます。

オペレーションの［追加］ボタンをクリックして，オペレーション名を入力します。

ここでは，オペレーション名は「get」とします。

［オペレーション追加］ダイアログで［OK］ボタンをクリックします。

［要求電文］−［受付］−［電文フォーマット］の［参照］ボタンをクリックして，次の電文フォーマット定義ファイルを指定します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema¥urecp_http_body_request.xsd

［応答電文］−［受付］−［電文フォーマット］の［参照］ボタンをクリックして，次の電文フォーマット定義ファイルを指定します。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema¥urecp_http_dummy_body_response.xsd

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

設定後のユーザ定義受付（基本）タブの例を次に示します。

［ユーザ定義受付（詳細）］タブをクリックします。

［ユーザ定義受付（詳細）］タブが表示されます。

［独自定義ファイル］で「cscurecphttp.properties」を選択し，［編集］ボタンをクリックします。

独自定義ファイルを編集するためのエディタが起動します。

HTTP受付定義ファイルの内容を次のように修正します。

#urecp-http.context-root=
#urecp-http.max-threads=10
#urecp-http.exclusive-threads=0
#urecp-http.queue-size=8192
#urecp-http.pooled-instance.minimum=0
#urecp-http.pooled-instance.maximum=0
#urecp-http.ejb-transaction-timeout=0
#httprecp.switchover.pass-through.mode=false
httprecp.switchover.file-transfer.mode=true
#httprecp.http.charset=UTF-8
httprecp.response.ignore-bodymsg=true
#httprecp.response.header.filename=
#httprecp.system-exception.status-code=500
#httprecp.response.generate.content-length=true
#httprecp.file-trans.temp-file.partsize-threshold=0
#httprecp.file-trans.maxsize.part=2147483647
#httprecp.file-trans.maxsize.request=2147483647
#httprecp.work-dir.auto-delete=true
#httprecp.response.download.disposition-type=attachment
　　　　　　　　　　　：

［ファイル］−［すべて保管］を選択します。

HTTP受付の定義およびHTTP受付定義ファイルが保存されます。

(8)　ビジネスプロセスの定義

ビジネスプロセスの処理フローを定義します。

(a)　変数の定義

ビジネスプロセスで利用する変数を1つずつ定義します。この設定例で定義する変数の一覧を次に示します。

表G‒1　定義する変数一覧

#

変数名

種別

用途の説明

1

recphttp_head_request

XML

HTTP受付の要求電文（ヘッダ）用の変数

2

recphttp_head_response

XML

HTTP受付の応答電文（ヘッダ）用の変数

3

adphttp_head_request

XML

HTTPアダプタの要求電文（ヘッダ）用の変数

4

adphttp_head_response

XML

HTTPアダプタの応答電文（ヘッダ）用の変数

5

recphttp_body_request

XML

HTTP受付の要求電文（ボディ）用の変数

6

recphttp_body_response

XML

HTTP受付の応答電文（ボディ）用の変数

7

adphttp_body_request

non-XML

HTTPアダプタの要求電文（ボディ）用の変数

8

adphttp_body_response

non-XML

HTTPアダプタの応答電文（ボディ）用の変数

変数の定義手順を次に示します。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

変数に応じて次の操作をします。

#1〜#4の場合

表G-1の#1〜#4の変数名および種別を指定して［参照］ボタンをクリックします。

電文フォーマットに使用するファイルを指定するダイアログが表示されるため，次の表に示す参照フォーマット定義を指定します。

#

変数名

参照フォーマット定義

1

recphttp_head_request

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema¥urecp_http_header_request.xsd

2

recphttp_head_response

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema¥urecp_http_header_response.xsd

3

adphttp_head_request

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥schema¥adphttp_header_request1.xsd

4

adphttp_head_response

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-adapter¥HTTP¥schema¥adphttp_header_response1.xsd

#5〜#8の場合

［変数・相関セット一覧］ダイアログで，表G-1の#5〜#8の変数名および種別を指定して［取込］ボタンをクリックします。

［電文フォーマットの取込］ダイアログが表示されるため，次のように指定して［OK］ボタンをクリックします。

#

変数名

サービス/受付

オペレーション名

電文種別

電文フォーマット

5

recphttp_body_request

受付名

recphttp

get

要求電文（ボディ)

recphttp_body_request.xsd

6

recphttp_body_response

受付名

recphttp

get

応答電文（ボディ)

recphttp_body_response.xsd

7

adphttp_body_request

サービス名

adphttp

FileDownload

要求電文（ボディ)

adphttp_body_request.fdx

8

adphttp_body_response

サービス名

adphttp

FileDownload

応答電文（ボディ)

adphttp_body_response.fdx

［変数・相関セット一覧］ダイアログで［追加］ボタンをクリックします。

変数一覧に，追加した変数が表示されます。#1〜#8の変数を同様に定義します。

［OK］ボタンをクリックします。

［変数・相関セット一覧］ダイアログが閉じます。

(b)　アクティビティの配置

ビジネスプロセス定義画面で次の表に示す順番にアクティビティを配置して，コネクションで接続します。

順番

アクティビティ種別

初期アクティビティ名

説明

1

開始

開始

ビジネスプロセスの開始を表します。デフォルトで配置されています。

2

受付

受付1

HTTPクライアントからの要求電文を受け付けるためのインターフェースを定義します。

3

データ変換

データ変換1

データ変換処理を定義します。

4

データ変換

データ変換2

データ変換処理を定義します。

5

サービス呼出

サービス呼出1

定義済みのHCSCコンポーネントへの要求電文の送信を定義します。この設定例ではHTTPアダプタが対象となります。

6

データ変換

データ変換3

データ変換処理を定義します。

7

データ変換

データ変換4

データ変換処理を定義します。

8

応答

応答1

HTTPクライアントから受信した要求電文に対する応答を返すためのインターフェースを定義します。

9

終了

終了

ビジネスプロセスの終了を表します。デフォルトで配置されています。

アクティビティを配置する手順については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.4.1　アクティビティを配置する」を参照してください。

配置後のビジネスプロセス定義画面の状態を次に示します。

注　図のとおりに整列させる必要はありません。

(c)　サービス呼出アクティビティの定義

HTTPアダプタを呼び出すためのサービス呼出アクティビティを定義します。

サービス呼出アクティビティ（サービス呼出1）をダブルクリックします。

［サービス呼出アクティビティ］ダイアログが表示されます。

次のように設定します。

項目

設定内容

アクティビティ名

HTTPアダプタ呼出

サービス名

adphttp

オペレーション名

FileDownload

通信モデル

同期（編集できません）

要求電文

ボディ割当変数

adphttp_body_request

応答電文

ボディ割当変数

adphttp_body_response

［要求電文］−［ヘッダ割当変数］の［設定］ボタンをクリックします。

［要求電文用ヘッダ割当変数］ダイアログが表示されます。

［追加］ボタンをクリックします。

［要求電文用ヘッダ割当変数］ダイアログで次のように設定します。

項目

設定内容

割当変数

adphttp_head_request

ルート要素

http-header-request

名前空間

http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_request

［要求電文用ヘッダ割当変数］ダイアログで［OK］ボタンをクリックします。

［要求電文用ヘッダ割当変数］ダイアログが閉じます。

［応答電文］−［ヘッダ割当変数］の［設定］ボタンをクリックします。

［応答電文用ヘッダ割当変数］ダイアログが表示されます。

［追加］ボタンをクリックします。

［応答電文用ヘッダ割当変数］ダイアログで次のように値を設定します。

項目

設定内容

割当変数

adphttp_head_response

ルート要素

http-header-response

名前空間

http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_response

［応答電文用ヘッダ割当変数］ダイアログで［OK］ボタンをクリックします。

［応答電文用ヘッダ割当変数］ダイアログが閉じます。

［サービス呼出アクティビティ］ダイアログで［OK］ボタンをクリックします。

設定内容が保存されて［サービス呼出アクティビティ］ダイアログが閉じます。

(d)　受付アクティビティの定義

受付アクティビティを定義します。

受付アクティビティ（受付1）をダブルクリックします。

［受付アクティビティ］ダイアログが表示されます。

次のように設定します。

項目

設定内容

アクティビティ名

受付

オペレーション名

get

ボディ割当変数

recphttp_body_request

通信モデル

同期

インスタンス生成

yes

［ヘッダ割当変数］の［設定］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが表示されます。

［追加］ボタンをクリックします。

［ヘッダ割当変数］ダイアログで次のように設定します。

項目

設定内容

割当変数

recphttp_head_request

ルート要素

http-header-request

名前空間

http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request

［ヘッダ割当変数］ダイアログで［OK］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが閉じます。

［受付アクティビティ］ダイアログで［OK］ボタンをクリックします。

設定内容が保存されて［受付アクティビティ］ダイアログが閉じます。

(e)　応答アクティビティの定義

応答アクティビティを定義します。

応答アクティビティ（応答1）をダブルクリックします。

［応答アクティビティ］ダイアログが表示されます。

次のように設定します。

項目

設定内容

アクティビティ名

応答

オペレーション名

get

ボディ割当変数

recphttp_body_response

フォルト名

−（設定しません）

［ヘッダ割当変数］の［設定］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが表示されます。

［追加］ボタンをクリックします。

［ヘッダ割当変数］ダイアログで次のように設定します。

項目

設定内容

割当変数

recphttp_head_response

ルート要素

http-header-response

名前空間

http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/response

［ヘッダ割当変数］ダイアログで［OK］ボタンをクリックします。

［ヘッダ割当変数］ダイアログが閉じます。

［応答アクティビティ］ダイアログで［OK］ボタンをクリックします。

設定内容が保存されて［応答アクティビティ］ダイアログが閉じます。

(f)　データ変換アクティビティの定義

各データ変換アクティビティを定義します。

データ変換アクティビティ（データ変換1〜データ変換4）をダブルクリックします。

［データ変換アクティビティ］ダイアログが表示されます。

それぞれのデータ変換アクティビティで次のように設定します。

アクティビティ

項目

設定内容

データ変換1

アクティビティ名

HTTPアダプタボディ要求電文生成

変換元変数

一覧※

recphttp_body_request

変換先変数

変数

adphttp_body_request

データ変換2

アクティビティ名

HTTPアダプタヘッダ要求電文生成

変換元変数

一覧※

recphttp_head_request

変換先変数

変数

adphttp_head_request

データ変換3

アクティビティ名

HTTP受付ボディ応答電文生成

変換元変数

一覧※

adphttp_body_response

変換先変数

変数

recphttp_body_response

データ変換4

アクティビティ名

HTTP受付ヘッダ応答電文生成

変換元変数

一覧※

adphttp_head_response

変換先変数

変数

recphttp_head_response

注※

［変換元変数］の［変数］ドロップダウンリストから該当する変数を選択して追加ボタンを押すと一覧に追加されます。

［データ変換アクティビティ］ダイアログで［OK］ボタンをクリックします。

設定内容が保存されて［データ変換アクティビティ］ダイアログが閉じます。データ変換1〜データ変換4まで同様に定義します。

(9)　データ変換の定義

「(8)(f) データ変換アクティビティの定義」で定義したデータ変換アクティビティに対して，マッピング定義を生成します。

マッピング定義の操作方法についてはマニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.4　マッピングする」を参照してください。

各データ変換アクティビティのマッピング定義について示します。

(a)　HTTPアダプタボディ要求電文生成

ビジネスプロセス定義画面でデータ変換アクティビティ（HTTPアダプタボディ要求電文生成）をダブルクリックします。

［ルート要素選択］ダイアログが表示されます。

［OK］ボタンをクリックします。

マッピングビューアが表示されます。

このアクティビティではマッピングは不要です。この設定例では，ファイルを送信する処理を実行するため，HTTPアダプタの要求電文（ボディ）は空の状態にします。

(b)　HTTPアダプタヘッダ要求電文生成

HTTPアダプタがダウンロードするファイルを作業フォルダに格納するようにマッピングします。リクエストのメソッドおよびURIはHTTPアダプタ実行環境プロパティファイルに定義しているため，要求電文の該当個所へのマッピングは不要です。

ビジネスプロセス定義画面でデータ変換アクティビティ（HTTPアダプタヘッダ要求電文生成）をダブルクリックします。

［ルート要素選択］ダイアログが表示されます。

［OK］ボタンをクリックします。

マッピングビューアが表示されます。

constファンクションを配置して，constファンクションをダブルクリックします。

［定数］ダイアログが表示されます。

ファンクション名を「false」に変更して，「論理値」および「偽」を選択します。

［OK］ボタンをクリックします。

［定数］ダイアログが閉じます。

次の表を参考にマッピングします。

マッピング元およびマッピング先はルート要素からのパスで記載しています。

マッピング元

マッピング先

/hrc:http-header-request/hrc:request-id

/tns:http-header-request/tns:request-id

constファンクション（false）

/tns:http-header-request/tns:output-folder-name/@common

(c)　HTTP受付ボディ応答電文生成

ビジネスプロセス定義画面でデータ変換アクティビティ（HTTP受付ボディ応答電文生成）をダブルクリックします。

［ルート要素選択］ダイアログが表示されます。

［OK］ボタンをクリックします。

マッピングビューアが表示されます。

このアクティビティではマッピングは不要です。この設定例では，HTTP受付はレスポンス時にファイルをダウンロードする処理を実行するため，HTTP受付の応答電文（ボディ）は空の状態にします。

(d)　HTTP受付ヘッダ応答電文生成

HTTP受付がクライアントに返すファイル情報をマッピングします。

ビジネスプロセス定義画面でデータ変換アクティビティ（HTTP受付ヘッダ応答電文生成）をダブルクリックします。

［ルート要素選択］ダイアログが表示されます。

［OK］ボタンをクリックします。

マッピングビューアが表示されます。

constファンクションを配置して，constファンクションをダブルクリックします。

［定数］ダイアログが表示されます。

ファンクション名を「file-name」に変更します。

「文字列」を選択し，値にダウンロードするファイル名となる任意の文字列を指定します。

この設定例では「test.bmp」を指定します。

［OK］ボタンをクリックします。

［定数］ダイアログが閉じます。

次の表を参考にマッピングします。

マッピング元およびマッピング先はルート要素からのパスで記載しています。

マッピング元

マッピング先

constファンクション（file-name）

/hrc:http-header-response/hrc:files/hrc:file/hrc:file-name

/tns:http-header-response/tns:http-part/tns:files/tns:file/tns:local-file-name

/hrc:http-header-response/hrc:files/hrc:file/hrc:local-file-name

/tns:http-header-response/tns:http-header-Content-Type

/hrc:http-header-response/hrc:files/hrc:file/hrc:content-type

/tns:http-header-response/tns:http-header-Content-Type/@charset

/hrc:http-header-response/hrc:files/hrc:file/hrc:content-type/@charset

(10)　ビジネスプロセスを実行するための準備

定義したHCSCコンポーネントを保存して配備定義します。操作手順を次に示します。

［ファイル］−［すべて保管］を選択します。

HTTPアダプタ，HTTP受付，およびビジネスプロセスの定義が保存されます。

ツリービューの［サービス定義一覧］を右クリックして，［複数サービスをサーバに配備して開始］を選択します。

サービス選択ページで配備および開始するサービスを選択します。

［Finish］ボタンをクリックします。

［OK］ボタンをクリックします。

次のダイアログが表示されていれば処理が正常に完了しています。

失敗した場合は，エラー内容を基にここまで定義した内容に誤りがないか確認してください。

(11)　ビジネスプロセスの実行

Webブラウザを起動して次のURLにアクセスします。

http://hostB/rcp1/get

URL中の「hostB」は，hostBのIPv4形式のIPアドレスに名前解決されるものとします。ホスト名以下のパスは「/受付ID/受付のオペレーション名」です。

ビジネスプロセスが正しく実行されている場合は，次のポップアップが出力されてHTTP受付からファイルをダウンロードできます。

ダウンロードするファイル名は，マッピング定義のconstファンクションで指定した名称となります。

付録G.2　設定例2（HTTPアダプタの接続先をリクエストごとに動的に変更する）

(1)　設定例の概要

この設定例では，「付録G.1　設定例1（HTTPサーバからHTTPクライアントにファイルをダウンロードする）」で作成した定義を変更して，HTTPアダプタの接続先パスをリクエストに応じて動的に変更する処理を行うビジネスプロセスを定義します。

動的に変更するための入力データには，HTTP受付に渡すクエリを利用します。

以降の説明は「付録G.1　設定例1（HTTPサーバからHTTPクライアントにファイルをダウンロードする）」を一とおり実施していることが前提となります。

(a)　環境構成

この設定例で作成する環境の構成を次の図に示します。

図G‒2　設定例1で作成する環境の構成

この設定例では，図中の点線で囲まれた部分の定義の変更手順について説明します。

設定例1と同様に，HTTPアダプタの接続先となるHTTPサーバについては事前に準備していることを前提とします。また，設定例2では，http://hostA:80/test2.bmpにアクセスするとtest2.bmpをダウンロードできるようにHTTPサーバを構成しているものとします。

(b)　設定の流れ

設定の流れを次に示します。

電文フォーマットの作成

変数定義の変更

データ変換定義の変更

ビジネスプロセスを実行するための準備

ビジネスプロセスの実行

それぞれの手順について次に説明します。

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

HTTP受付の要求電文（ボディ）として使用する電文フォーマットを作成します。作成した電文フォーマットにHTTPクライアントから渡されるクエリ情報が格納されます。

電文フォーマットはテンプレートを使用して作成します。作成手順を次に示します。

電文フォーマットのテンプレートが格納されている次のフォルダを任意の場所にコピーします。

<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥schema

コピーしたフォルダ内の「urecp_http_body_detail_request.xsd」をテキストエディタで開きます。

次のようにファイル名を表す要素（斜体の個所）を追加します。

<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema elementFormDefault="qualified"
 targetNamespace="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request"
 xmlns:hrc="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsd:complexType name="http-body-requestType">
  <xsd:sequence>
   <!-- User Customize -->
   <xsd:element name="filename" type="xsd:string"/>
  </xsd:sequence>
 </xsd:complexType>
</xsd:schema>

ファイルを上書き保存します。

注　urecp_http_body_request.xsdは編集しないでください。

(3)　変数定義の変更

(a)　HTTP受付

(2)で作成した電文フォーマットをHTTP受付の定義に反映します。

サービス定義一覧のツリーでHTTP受付（recphttp）をダブルクリックします。

HTTP受付のユーザ定義受付定義画面が開きます。

［要求電文］−［受付］−［電文フォーマット］の［参照］ボタンをクリックして，次の電文フォーマット定義ファイルを指定します。

<(2)のコピー先フォルダ>¥schema¥urecp_http_body_request.xsd

［ファイル］−［保存］を選択してHTTP受付を保存します。

保存時に次の確認ダイアログが表示された場合は［OK］ボタンをクリックします。

(b)　ビジネスプロセス

HTTP受付の要求電文（ボディ）の割当変数であるrecphttp_body_requestを，(2)で作成した電文フォーマットに更新します。

ツリービューのサービス定義一覧でビジネスプロセス（bp1）をダブルクリックします。

ビジネスプロセス定義画面が表示されます。

ビジネスプロセス定義画面のキャンバス上の［変数・相関セット］アイコンをダブルクリックします。

［変数・相関セット一覧］ダイアログが表示されます。

変数一覧のツリーからrecphttp_body_requestを選択し，［取込］ボタンをクリックします。

［電文フォーマットの取込］ダイアログが表示されます。

次のように指定して［OK］ボタンをクリックします。

変数名

サービス/受付

オペレーション名

電文種別

電文フォーマット

recphttp_body_request

受付名

recphttp

get

要求電文（ボディ)

recphttp_body_request.xsd

［変数・相関セット一覧］ダイアログで［更新］ボタンをクリックします。

変数が更新されます。

［変数・相関セット一覧］ダイアログで［表示］ボタンをクリックします。

［変数の表示］ダイアログが表示されます。

変数が更新されていることを確認してダイアログを閉じます。

［変数・相関セット一覧］ダイアログで［OK］ボタンをクリックします。

［変数・相関セット一覧］ダイアログが閉じます。

(4)　データ変換定義の変更

変更したHTTP受付の要求電文（ボディ）の変数を利用して，マッピング定義を変更します。

(a)　HTTPアダプタボディ要求電文へのマッピング

ビジネスプロセス定義画面でデータ変換アクティビティ（HTTPアダプタボディ要求電文生成）をダブルクリックします。

マッピング定義起動を確認するダイアログが表示されます。

［OK］ボタンをクリックします。

マッピング定義画面が表示されます。

マッピング元にfilename要素が追加されています。設定例1と同様にマッピングは不要です。

(b)　HTTPアダプタヘッダ要求電文へのマッピング

ビジネスプロセスの定義画面でデータ変換アクティビティ（HTTPアダプタヘッダ要求電文生成）を右クリックし，［設定］を選択します。

［データ変換アクティビティ］ダイアログが表示されます。

変換元変数の［変数］ドロップダウンリストから「recphttp_body_request」を選択して［追加］ボタンをクリックします。

一覧にrecphttp_body_requestが追加されます。

［OK］ボタンをクリックします。

［データ変換アクティビティ］ダイアログが閉じます。

データ変換アクティビティ（HTTPアダプタヘッダ要求電文生成）をダブルクリックします。

マッピング定義起動を確認するダイアログが表示されます。

［OK］ボタンをクリックします。

［ルート要素選択］ダイアログが表示されます。

［OK］ボタンをクリックします。

マッピング定義画面が表示されます。

マッピング元にはrecphttp_body_request変数が追加されています。

このあと，recphttp_body_requestのfilename要素を使って，HTTPアダプタが取得するファイル名をHTTPアダプタ実行環境プロパティファイルの設定値から変更するマッピングを定義します。

constファンクションを配置して，constファンクションをダブルクリックします。

［定数］ダイアログが表示されます。

「文字列」を選択して「値」に「/」を入力します。

［OK］ボタンをクリックします。

［定数］ダイアログが閉じます。

concatファンクションを配置します。

次の表を参考にマッピングします。

マッピングする順番に注意してください。マッピング元およびマッピング先はルート要素からのパスで記載しています。

順番

マッピング元

マッピング先

1

constファンクション

concatファンクション

2

/hrc:http-body-request/hrc:parameter/hrc:filename

concatファンクション

3

concatファンクション

/tns:http-header-request/tns:uri-path

(5)　ビジネスプロセスを実行するための準備

定義したHCSCコンポーネントを配備定義します。操作手順を次に示します。

［ファイル］−［すべて保管］を選択します。

HTTPアダプタ，HTTP受付，およびビジネスプロセスの定義が保存されます。

ツリービューの［サービス定義一覧］を右クリックして，［複数サービスをサーバに配備して開始］を選択します。

サービス選択ページで配備および開始するサービスを選択します。

［Finish］ボタンをクリックします。

処理中であることを知らせるメッセージが表示されたあと，結果を知らせるメッセージが表示されます。

［OK］ボタンをクリックします。

次のダイアログが表示されていれば処理が正常に完了しています。

失敗した場合は，エラー内容を基にここまで定義した内容に誤りがないか確認してください。

(6)　ビジネスプロセスの実行

Webブラウザを起動して次のURLにアクセスします。

http://hostB/rcp1/get?filename=test2.bmp

URL中の「hostB」は，hostBのIPv4形式のIPアドレスに名前解決されるものとします。ホスト名以下のパスは「/受付ID/受付のオペレーション名」です。クエリには，定義したfilenameのパラメタを指定します。

ビジネスプロセスが正しく実行されている場合は，HTTP受付からファイルをダウンロードできます。Webブラウザでは次のポップアップが出力されます。

注

「付録G.1(9)(c) HTTP受付ボディ応答電文生成」で，ダウンロードするファイル名を静的に設定しているため，ファイル名は設定例1と同じ「test.bmp」となります。

設定例2の実行結果から，HTTPアダプタ実行環境プロパティファイルで設定した接続先のパスをHTTPアダプタの要求電文（ヘッダ）で上書きしたことを確認できます。

参考

ダウンロードするファイルの違いを確認したい場合は，次のように設定例1のファイルをダウンロードするようにパラメタ値を変更してURLにアクセスしてください。

http://hostB/rcp1/get?filename=test.bmp

付録H　FTP連携で必要なセキュリティの設定

FTP連携で必要なセキュリティの設定について説明します。

付録H.1　FTPSを使用したセキュアな接続（FTPアダプタ）

FTPアダプタでは，FTPS（File Transfer Protocol over SSL/TLS）によるFTPサーバとの接続をサポートしています。FTPSによる接続を利用することで，認証に必要なユーザ名やパスワードを暗号化し，第三者に盗聴される危険性を低下できます。

(1)　FTPSに関する設定

FTPSに関する設定について説明します。なお，FTPアダプタでは，要求電文またはFTPアダプタ実行環境プロパティファイルで設定できます。要求電文とFTPアダプタ実行環境プロパティファイルの両方で設定された場合は，要求電文が優先されます。

表H‒1　FTPに関する設定

項目

説明

FTPSを使用する／使用しない

FTPサーバとの接続に，通常のFTPを使用するかFTPSを使用するか設定できます。デフォルトでは通常のFTPが使用されます。

使用するセキュリティ通信用のプロトコル

セキュリティ通信用のプロトコルとして，次のどちらかを選択できます。

SSL

TLS

FTPSのImplicitモードを使用する／使用しない

次のどちらかを選択できます。

Implicitモード

FTPサーバに接続した直後から暗号化された通信を開始するモードです。

Explicitモード

FTPサーバに接続したあと，FTPクライアント側でAUTHコマンドを実行してから暗号化された通信を開始するモードです。

なお，FTPサーバ側で使用する制御コネクションのポート番号は，ExplicitモードとImplicitモードで異なります。そのため，モードを変更する場合は接続先FTPサーバの制御コネクションポート番号も変更する必要があります。

データコネクションの通信を暗号化する／しない

FTPサーバとの接続にFTPSを使用する場合，データコネクションの通信を暗号化するかどうかを設定できます。

サーバ認証をする／しない

次のどちらかを選択できます。

サーバ認証をする

接続先FTPサーバの公開鍵の証明書が信頼できるかどうかをチェックし，信頼できる場合だけ処理を実行します。

サーバ認証をしない

接続先FTPサーバの公開鍵の証明書が信頼できるかどうかをチェックしないで，処理を実行します。

要求電文で設定できる項目の詳細は，「3.3.10(1)(a)　FTPアダプタの要求電文フォーマット」を参照してください。FTPアダプタ実行環境プロパティファイルで設定できる項目の詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.8.3　FTPアダプタ実行環境プロパティファイル」を参照してください。

注意事項

FTPアダプタでは，クライアント認証を必要とするFTPSサーバには接続できません。

(2)　キーストアに関する設定

FTPSを使用する場合で，かつFTPアダプタでサーバ認証をするとき，信頼できる証明書を格納したキーストア（トラストストア）が必要になります。

トラストストアには，次の証明書のどれかが格納されている必要があります。

接続先FTPサーバの公開鍵の証明書

接続先FTPサーバの公開鍵の証明書がCAから発行された証明書の場合は，この証明書を発行したCAの証明書

上記のCAが中間CAの場合は，中間CAからルートCAまでのどれかに該当するCAの証明書

キーストアへの証明書のインポート方法については，JDKのドキュメントの「keytool」に関する個所を参照してください。

キーストアのパスおよびパスワードに関する設定方法を次に示します。

キーストアのパス

サーバ認証をする場合，FTPアダプタは次の順にキーストアを探し，最初に発見したトラストストアを使用してサーバ認証を実施します。

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）のjavax.net.ssl.trustStoreプロパティが指定されている場合，このシステムプロパティに指定されたパスに存在するキーストアを使用します。

次のパスにファイルが存在する場合，このファイルをキーストアとして使用します。

<サービスプラットフォームのインストールディレクトリ>¥jdk¥lib¥security¥jssecacerts

次のパスにファイルが存在する場合，このファイルをキーストアとして使用します。

<サービスプラットフォームのインストールディレクトリ>¥jdk¥lib¥security¥cacerts

上記のどれにも該当しない場合は，信頼できないサーバと判断されます。

キーストアのパスワード

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）のjavax.net.ssl.trustStorePasswordプロパティでキーストアのパスワードが指定されている場合，キーストアを使用する前に，キーストアのデータが完全かどうかの検査が実施されます。

javax.net.ssl.trustStorePasswordプロパティが指定されていない場合は，キーストアのデータの検査が実施されません。

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）の詳細については，次に示すマニュアルを参照してください。

J2EEサーバの互換モードが推奨モードの場合

マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.3　usrconf.properties（J2EEサーバ用ユーザプロパティファイル）」

J2EEサーバの互換モードがV9互換モードの場合

マニュアル「アプリケーションサーバ 機能解説 互換編」の「10.1.1　usrconf.properties（J2EEサーバ用ユーザプロパティファイル）」

付録H.2　セキュアプロトコルによる暗号化・認証（FTPインバウンドアダプタ）

FTPインバウンドアダプタでは，FTPSを使用してユーザ名やパスワードを含む送受信データを暗号化できます。なお，FTPインバウンドアダプタでは，サーバ認証だけをサポートしています。

ここでは，FTPインバウンドアダプタでサポートするFTPS関連プロトコル，コマンド，およびFTPSに関する設定について説明します。

(1)　サポートするFTPS関連プロトコルおよびコマンド

FTPインバウンドアダプタでは，次のFTPS関連プロトコルをサポートしています。

SSL

TLS

また，次のFTPS関連コマンドをサポートしています。

AUTH

PBSZ

PROT

(2)　FTPインバウンドアダプタの設定

FTPSに関する設定は，FTPインバウンドアダプタの属性ファイルで実施できます。

FTPインバウンドアダプタの属性ファイルの設定方法および定義項目の詳細は，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「3.2.3　FTPインバウンドアダプタをセットアップする」の，FTPインバウンドアダプタの設定に関する説明を参照してください。

(3)　キーストアの設定

FTPインバウンドアダプタで使用するキーストアは，JKS形式だけをサポートしています。JKS形式のキーストアおよびキーは，JDKに付属するkeytoolコマンドで作成してください。keytoolコマンドの詳細は，keytoolのドキュメントを参照してください。

なお，複数のキーを格納したキーストアを使用する場合は，使用しないキーも含めて，すべてのキーのパスワードを同じにする必要があります。

また，keytoolコマンドでは，aliasオプション指定時の大文字が小文字として保存されます。このため，FTPインバウンドアダプタの属性ファイルのnioListener_ftps_keystore_keyAlias属性には，大文字を使用しないで，keytoolコマンドのlistオプションの結果に表示されるエイリアス名を指定してください。

付録H.3　セットアップ時の属性ファイルの定義項目（FTPインバウンドアダプタ）

FTPインバウンドアダプタのセットアップ時の属性ファイルの定義項目で，FTPSに関する設定について説明します。そのほかの定義項目については，マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「3.2.3　FTPインバウンドアダプタをセットアップする」を参照してください。

表H‒2　属性ファイルの定義項目一覧（FTPSに関する設定）

定義項目

定義名

値の範囲

デフォルト値

補足

FTPS有効化

server_ftps_enable

trueまたはfalse

false

trueを指定した場合は，FTPSに関する設定が有効になります。

falseを指定した場合は，FTPSに関する設定がすべて無視されます。

制御コネクションのImplicitモード

nioListener_ftps_implicitMode

trueまたはfalse

false

trueを指定した場合は，Implicitモードで動作します。

falseを指定した場合は，Explicitモードで動作します。

キーストアのファイルパス※

nioListener_ftps_keystore_file

任意の文字列

空文字列

絶対パスで記述してください。

キーストアのパスワード

nioListener_ftps_keystore_password

6文字以上の任意の文字列

空文字列

−

キーのパスワード

nioListener_ftps_keystore_keyPassword

6文字以上の任意の文字列

空文字列

この項目を指定しなかった場合は，キーストアのパスワードをキーのパスワードと見なします。

キーのエイリアス

nioListener_ftps_keystore_keyAlias

任意の文字列

空文字列

この項目を指定しなかった場合は，キーストアに含まれる最初のキー（キー証明書のフィンガープリントのバイト列を昇順にしたときの最初のキー）を利用します。

データコネクションの暗号化

nioListener_ftps_dataConnection_secure

trueまたはfalse

true

PROTコマンドを指定していない場合，この項目の指定が有効になります。PROTコマンドが成功した場合は，その指定が有効になります。

trueを指定した場合は，データコネクションを暗号化します。

falseを指定した場合は，暗号化しません。

（凡例）

−：該当する内容はありません。

注※

指定したパスに，「//」，「/./」，「/../」が含まれる場合は，エラーになります。なお，Windowsの場合は，大文字と小文字は区別されません。

付録I　HTTPアダプタで必要なセキュリティの設定

HTTPアダプタで必要なセキュリティの設定について説明します。

付録I.1　HTTPSを使用したセキュアな接続

HTTPアダプタでは，HTTPSによるサーバとの接続をサポートしています。HTTPSによる接続を利用することで，認証に必要なユーザ名やパスワードを暗号化し，第三者に盗聴される危険性を低下できます。

(1)　HTTPSに関する設定

HTTPSに関する情報として設定する項目を次に示します。

表I‒1　HTTPSに関する設定

項目

設定内容

HTTPSの使用有無

HTTPSを使用する場合はURIのスキーマに「https」を指定します。

HTTPSを使用する場合に使用するセキュリティ通信用プロトコル

TLS1.0，SSL3.0など，使用できるプロトコルのうち，最適なものが自動で設定されます。

サーバ認証の有無

サーバ認証の有無はHTTPアダプタ定義ファイルのadphttp.protocol.https-server-authenticationプロパティで設定できます。

サーバ認証をする場合（デフォルト）：

接続先HTTPサーバの公開鍵の証明書が信頼できるかどうかをチェックして，信頼できる場合だけ処理を実行します。

サーバ認証をしない場合：

接続先HTTPサーバの公開鍵の証明書が信頼できるかどうかをチェックしないで処理を実行します。

ホスト名検証の有無

ホスト名検証の有無はHTTPアダプタ定義ファイルのadphttp.protocol.https-hostname-verificationプロパティで設定できます。

ホスト名検証をする場合（デフォルト）：

証明書内のホスト名が接続先URIのホスト名と一致するかをチェックして，処理を実行します。

ホスト名検証をしない場合：

証明書内のホスト名が接続先URIのホスト名と一致するかをチェックしないで，処理を実行します。

HTTPアダプタ定義ファイルの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.10.1　HTTPアダプタ定義ファイル」を参照してください。

注意事項

HTTPアダプタでは，クライアント認証を必要とするHTTPSサーバには接続できません。

(2)　キーストアに関する設定

HTTPSを使用する場合で，かつHTTPアダプタでサーバ認証をするとき，信頼できる証明書を格納したキーストア（トラストストア）が必要になります。

トラストストアには，次の証明書のどれかが格納されている必要があります。

接続先HTTPサーバの公開鍵の証明書

上記証明書がCAから発行された証明書の場合，上記証明書を発行したCAの証明書

上記のCAが中間CAの場合は，中間CAからルートCAまでのどれかに該当するCAの証明書

キーストアへの証明書のインポート方法については，JDKのドキュメントの「keytool」に関する個所を参照してください。

キーストアのパスおよびパスワードに関する設定方法を次に示します。

キーストアのパス

サーバ認証をする場合，HTTPアダプタは次の順にキーストアを探し，最初に発見したトラストストアを使用してサーバ認証を実施します。

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）のjavax.net.ssl.trustStoreプロパティが指定されている場合，このシステムプロパティに指定されたパスに存在するキーストアを使用します。

次のパスにファイルが存在する場合，このファイルをキーストアとして使用します。

<サービスプラットフォームのインストールディレクトリ>¥jdk¥lib¥security¥jssecacerts

次のパスにファイルが存在する場合，このファイルをキーストアとして使用します。

<サービスプラットフォームのインストールディレクトリ>¥jdk¥lib¥security¥cacerts

上記のどれにも該当しない場合は，信頼できないサーバと判断されます。

キーストアのパスワード

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）のjavax.net.ssl.trustStorePasswordプロパティでキーストアのパスワードが指定されている場合，キーストアを使用する前に，キーストアのデータが完全かどうかの検査が実施されます。

javax.net.ssl.trustStorePasswordプロパティが指定されていない場合は，キーストアのデータの検査が実施されません。

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）の詳細については，次に示すマニュアルを参照してください。

J2EEサーバの互換モードが推奨モードの場合

マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.3　usrconf.properties（J2EEサーバ用ユーザプロパティファイル）」

J2EEサーバの互換モードがV9互換モードの場合

マニュアル「アプリケーションサーバ 機能解説 互換編」の「10.1.1　usrconf.properties（J2EEサーバ用ユーザプロパティファイル）」

付録J　メールアダプタで必要なセキュリティの設定

メールアダプタでは，TLS（SMTP over TLS）によるサーバとの接続をサポートしています。TLSによる接続を利用することで，認証に必要なユーザ名やパスワードを暗号化し，第三者に盗聴される危険性を低下できます。

付録J.1　TLSに関する設定

TLSに関する情報として設定する項目を次に示します。

表J‒1　TLSに関する設定

項目

設定内容

TLSの使用有無

次のどちらかを選択できます。

TLSを使用する

TLSを使用します。TLSを使用してSMTPサーバに接続します。

TLSを使用しない（デフォルト）

TLSを使用しません。SMTPでSMTPサーバに接続します。

TLSで使用するセキュリティ通信用プロトコル

使用できるプロトコルバージョンのうち，最適なものが自動で設定されます。

TLSで使用できるTLS暗号スイート

TLS接続で使用できるTLS暗号スイートは，メールアダプタで制限しません。

STARTTLSの使用有無

SMTPサーバとの接続にTLSを使用する場合，次のどちらかを選択できます。

STARTTLSを使用する（デフォルト）

通常のSMTPで通信を開始し，「STARTTLS」と呼ばれる手順で双方がTLSに対応しているか確認したあとにTLSで再接続します。

STARTTLSを使用しない

SMTP通信がすべてTLSによって暗号化されます。

接続先のSMTPサーバでSTARTTLSが処理できない場合，メールアダプタでエラーを発生させるかどうか

SMTPサーバとの接続にTLSとSTARTTLSを使用する場合，次のどちらかを選択できます。

エラーを発生させる

接続先のSMTPサーバがSTARTTLSをサポートしていない場合，またはSTARTTLSの処理中にエラーが発生した場合，メールアダプタでエラーを発生させます。

エラーを発生させない（デフォルト）

接続先のSMTPサーバがSTARTTLSをサポートしていない場合，またはSTARTTLSの処理中にエラーが発生した場合，SMTPを使用してSMTPサーバに接続します。

TLSで使用するメール送信ポート番号

メール送信用のポート番号は，要求電文smtp-port要素，またはメールアダプタ実行環境プロパティファイルのmailadp.smtp.portプロパティで設定できます。

TLSとSTARTTLSを使用する場合，一般的にポート番号に25番または587番を使用します。TLSを使用し，STARTTLSを使用しない場合，一般的にポート番号に465番を使用します。

TLSに関する情報は，要求電文またはメールアダプタ実行環境プロパティファイルで設定できます。要求電文で設定できる項目の詳細は，「3.3.12(2)　電文フォーマットの作成」を参照してください。メールアダプタ実行環境プロパティファイルで設定できる項目の詳細は，マニュアル「サービスプラットフォーム リファレンス」の「6.13.3　メールアダプタ実行環境プロパティファイル」を参照してください。

付録J.2　キーストアに関する設定

TLSを使用する場合で，かつメールアダプタでサーバ認証をするとき，信頼できる証明書を格納したキーストア（トラストストア）が必要になります。

トラストストアには，次の証明書のどれかが格納されている必要があります。

接続先SMTPサーバの公開鍵の証明書

上記証明書がCAから発行された証明書の場合，上記証明書を発行したCAの証明書

上記のCAが中間CAの場合は，中間CAからルートCAまでのどれかに該当するCAの証明書

キーストアへの証明書のインポート方法については，JDKのドキュメントの「keytool」に関する個所を参照してください。

キーストアのパスおよびパスワードに関する設定方法を次に示します。

キーストアのパス

サーバ認証をする場合，SMTPアダプタは次の順にキーストアを探し，最初に発見したトラストストアを使用してサーバ認証を実施します。

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）のjavax.net.ssl.trustStoreプロパティが指定されている場合，このシステムプロパティに指定されたパスに存在するキーストアを使用します。

次のパスにファイルが存在する場合，このファイルをキーストアとして使用します。

<サービスプラットフォームのインストールディレクトリ>¥jdk¥lib¥security¥jssecacerts

次のパスにファイルが存在する場合，このファイルをキーストアとして使用します。

<サービスプラットフォームのインストールディレクトリ>¥jdk¥lib¥security¥cacerts

上記のどれにも該当しない場合は，信頼できないサーバと判断されます。

キーストアのパスワード

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）のjavax.net.ssl.trustStorePasswordプロパティでキーストアのパスワードが指定されている場合，キーストアを使用する前に，キーストアのデータが完全かどうかの検査が実施されます。

javax.net.ssl.trustStorePasswordプロパティが指定されていない場合は，キーストアのデータの検査が実施されません。

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）の詳細については，次に示すマニュアルを参照してください。

J2EEサーバの互換モードが推奨モードの場合

マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.3　usrconf.properties（J2EEサーバ用ユーザプロパティファイル）」

J2EEサーバの互換モードがV9互換モードの場合

マニュアル「アプリケーションサーバ 機能解説 互換編」の「10.1.1　usrconf.properties（J2EEサーバ用ユーザプロパティファイル）」

付録K　gRPCアダプタで必要なセキュリティの設定

gRPCアダプタで必要なセキュリティの設定について説明します。

付録K.1　キーストアに関する設定

gRPCアダプタ実行環境プロパティファイルのadpgrpc.security.tls.certificate-chainでサーバのルート証明書を設定することができます。

この設定を省略した場合，信頼できる証明書を格納したキーストア（トラストストア）が必要になります。トラストストアに，次のどれかが格納されていることを確認してください。

接続先gRPCサーバの公開鍵の証明書

上記証明書がCAから発行された証明書の場合，上記証明書を発行したCAの証明書

上記CAが中間CAの場合，中間CAからルートCAまでのどれかに該当するCAの証明書

キーストアへの証明書のインポート方法については，JDKのドキュメントの「keytool」に関する個所を参照してください。

トラストストアのパスおよびパスワードに関する設定方法を次に示します。

トラストストアのパス

サーバ認証をする場合，gRPCアダプタは次の順にキーストアを探し，最初に発見したトラストストアを使用してサーバ認証を実施します。

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）のjavax.net.ssl.trustStoreプロパティが指定されている場合，このシステムプロパティに指定されたパスに存在するキーストアを使用します。

システムプロパティを指定する場合は，J2EEサーバ用ユーザプロパティファイル（usrconf.propertiesファイル）に次の形式で指定します。

javax.net.ssl.trustStore =<トラストストアの絶対パス>

次のパスにファイルが存在する場合，このファイルをトラストストアとして使用します。

<サービスプラットフォームのインストールディレクトリ>¥jdk¥lib¥security¥jssecacerts

次のパスにファイルが存在する場合，このファイルをトラストストアとして使用します。

<サービスプラットフォームのインストールディレクトリ>¥jdk¥lib¥security¥cacerts

トラストストアのパスワード

usrconf.properties（J2EEサーバ用ユーザプロパティファイル）のjavax.net.ssl.trustStorePasswordプロパティでトラストストアのパスワードが指定されている場合，トラストストアを使用する前に，トラストストアのデータが完全かどうかの検査が実施されます。

システムプロパティを指定する場合は，J2EEサーバ用ユーザプロパティファイル（usrconf.propertiesファイル）に次の形式で指定します。

javax.net.ssl.trustStorePassword =<トラストストアのパスワード>

javax.net.ssl.trustStorePasswordプロパティが指定されていない場合は，トラストストアのデータの検査が実施されません。

付録L　ユーザ定義受付（呼出先選択）の定義

ユーザ定義受付には，特定のビジネスプロセスを呼び出すユーザ定義受付（呼出先固定）と，呼び出すビジネスプロセスを選択できるユーザ定義受付（呼出先選択）があります。

ユーザ定義受付（呼出先選択）では，呼び出しサービス選択機能を使用して，HTTP受付から任意のビジネスプロセスを呼び出します。

呼び出しサービス選択機能については，マニュアル「サービスプラットフォーム 解説」の「2.15.11　HTTP受付の呼び出しサービス選択機能」を参照してください。

付録L.1　ユーザ定義受付（呼出先選択）の追加

ここでは，ユーザ定義受付（呼出先選択）のHTTP受付を追加する手順について説明します。

Eclipseのメニューから，［ウィンドウ］−［ビューの表示］−［その他］を選択します。

［ビューの表示］ダイアログが表示されます。

［HCSC-Definer］−［HCSCTE ビュー］を選択し，［開く］ボタンをクリックします。

ツリービューにサービス定義一覧が表示されます。

ツリービューのサービス定義一覧で右クリックして［ユーザ定義受付（呼出先選択）追加］を選択します。

受付種別選択ウィザードが表示されます。

［次へ］ボタンをクリックします。

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

［受付名］を指定します。

HTTP受付の名称を1〜40バイトで指定します。

受付名は，サービス定義一覧上のほかのユーザ定義受付（呼出先選択）と重複しないように指定してください。

［終了］ボタンをクリックします。

［終了］ボタンをクリックすると，必要なファイルが作成され，リポジトリに保存されます。ユーザ定義受付定義画面（基本）が表示されます。

HTTP受付の定義情報を設定します。

ユーザ定義受付（呼出先選択）では，［オペレーション］にHTTPリクエスト時に指定したHTTPメソッドを指定します。

そのほかのHTTP受付の設定項目については，「2.5.4　HTTP受付を追加する」を参照してください。

また，HTTP受付を利用した処理や構成例については，マニュアル「サービスプラットフォーム 解説」の「2.15　HTTP通信を使用したクライアントとの接続」を参照してください。

ユーザ定義受付（詳細）タブをクリックします。

ユーザ定義受付定義画面（詳細）が表示されます。

HTTP受付の定義情報を設定します。

HTTP受付の設定項目について次の表に示します。

表L‒1　HTTP受付のユーザ定義受付定義画面（詳細）の設定項目

分類

項目

設定内容

設定

ユーザ定義受付制御情報

独自定義ファイル

次の独自定義ファイルが表示されます。必要に応じて変更します。

cscurecphttp.properties※1

cscurecphttp_selection.properties※2

cscurecphttp_header.properties※3

cscurecphttp_routing.xml※4

ここに設定されているのはテンプレートファイルです。修正が必要な場合はファイルを選択して［編集］ボタンをクリックし，独自定義ファイルの内容を修正してください。

◎

EARファイル

次のEARファイルが設定されていることを確認します。

cscmsg_urecp_http.ear※5

×

（凡例）

◎：必ず設定します。

×：表示されている内容を確認します。

注※1

cscurecphttp.propertiesの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.11.3　HTTP受付定義ファイル」を参照してください。

注※2

ユーザ定義受付（呼出先選択）では，HTTP受付サービス選択定義ファイル（cscurecphttp_selection.properties）に，呼び出し先のビジネスプロセス名，HTTPメソッド（オペレーション名）など，ビジネスプロセスを呼び出すために必要な設定項目を必ず定義してください。定義しない場合は，受付起動時にエラーとなります。

cscurecphttp_selection.propertiesの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.11.2　HTTP受付サービス選択定義ファイル」を参照してください。

注※3

cscurecphttp_header.propertiesの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.11.1　HTTPレスポンスヘッダ定義ファイル」を参照してください。

注※4

cscurecphttp_routing.xmlの詳細は，マニュアル「サービスプラットフォーム リファレンス」の「3.11.4　HTTP受付ルーティング定義ファイル」を参照してください。

注※5

ファイルの格納先ディレクトリは「<サービスプラットフォームのインストールディレクトリ>¥CSC¥custom-reception¥http¥lib」です。

付録L.2　ユーザ定義受付（呼出先選択）の複製

ユーザ定義受付（呼出先選択）の複製については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.2.2　定義済みビジネスプロセスを利用してビジネスプロセスを追加する」を参照してください。

(1)　ユーザ定義受付（呼出先選択）の複製時の受付名の規則

複製先のユーザ定義受付（呼出先選択）の受付名は次のように設定されます。

CopyN_複製元のユーザ定義受付（呼出先選択）の受付名

Nは，同一複製元の受付名に対して使用されている「CopyN_」のNの中での最小の整数です。ただし，複製後の受付名の長さが40バイトを超える場合，40バイトを超えた文字は削除されます。複製先の受付名が既存の受付名と重複した場合は，「CopyN_」のNの値を変更します。

付録L.3　ユーザ定義受付（呼出先選択）の検証

ユーザ定義受付（呼出先選択）の検証では，ユーザ定義受付の定義内容の検証，およびデータ変換定義の妥当性の検証を行います。ビジネスプロセスとユーザ定義受付のインターフェースの整合性の検証は行いません。

ビジネスプロセスとユーザ定義受付のインターフェースの整合性の検証については，「2.14　ユーザ定義受付の検証」を参照してください。

付録L.4　ユーザ定義受付（呼出先選択）の削除

ユーザ定義受付（呼出先選択）の削除については，「2.16　ユーザ定義受付の削除」を参照してください。

付録L.5　ユーザ定義受付（呼出先選択）のパッケージングと配備定義

ユーザ定義受付（呼出先選択）のパッケージングと配備定義については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「8.　HCSCコンポーネントのパッケージングと配備定義」を参照してください。

(1)　ユーザ定義受付（呼出先選択）の配備できる条件

ユーザ定義受付（呼出先選択）は，パッケージングでリポジトリにEARファイルが作成されているユーザ定義受付（呼出先選択）だけが配備できます。リポジトリにEARファイルが作成されていないユーザ定義受付（呼出先選択）は，［サービス追加］ダイアログ，および［複数サービス追加］ダイアログには表示されません。

(2)　複数クラスタ環境でユーザ定義受付（呼出先選択）を配備できる条件

複数クラスタ（HCSCサーバ）の環境では，1つのクラスタにだけユーザ定義受付（呼出先選択）を配備できます。

例えば，クラスタAにユーザ定義受付（呼出先選択）が配備されているとき，クラスタBやクラスタCを選択した［サービス追加］ダイアログにユーザ定義受付（呼出先選択）を配備しようとするとエラーとなります。

［複数サービス追加］ダイアログの場合は，クラスタBやクラスタCを選択したダイアログにユーザ定義受付（呼出先選択）が表示されますが，ユーザ定義受付（呼出先選択）は選択できません。

付録L.6　ユーザ定義受付（呼出先選択）のリポジトリ管理

ユーザ定義受付（呼出先選択）のリポジトリ管理については，マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「3.2　リポジトリの管理」を参照してください。

付録M　用語解説

マニュアルで使用する用語について

マニュアル「アプリケーションサーバ & BPM/ESB基盤 用語解説」を参照してください。

索引

C

CSCMsgCustomAdapterConstantクラス[1]

CSCMsgCustomAdapterContextインターフェース[1]

CSCMsgCustomProtocolConverterインターフェース[1]

CSCMsgMessageConstantインターフェース[1]

CSCMsgRequestMessageインターフェース[1]

CSCMsgResponseMessageインターフェース[1]

CSVデータ書き込みサンプル[1]

CSVデータ読み込みサンプル[1]

D

DBアダプタ定義支援機能の概要[1]

DBアダプタ定義支援機能を利用したDBアダプタの定義[1]

DBアダプタの設定[1]

DBアダプタの定義[1]

DBアダプタ用のXMLフォーマット定義ファイルの作成[1]

DBアダプタ用のXMLフォーマット定義ファイルの作成例[1]

DBアダプタを新規に追加する[1]

DBアダプタを定義する[1]

dcrapautoconnectオペランドの指定によるメリットおよびデメリット[1]

E

EARファイルの入れ替え[1]

F

FTPSに関する設定[1]

FTPSを使用したセキュアな接続[1]

FTPアダプタの応答電文フォーマット[1]

FTPアダプタの定義ファイルの作成[1]

FTPアダプタの要求電文フォーマット[1]

FTPアダプタを新規に追加する[1]

FTPアダプタを定義する[1]

FTP受付コンフィグファイル[1]

FTP受付定義ファイル[1]

FTP受付の応答電文フォーマット[1]

FTP受付の概要[1]

FTP受付の定義[1]

FTP受付の定義の流れ[1]

FTP受付の定義ファイルを作成する[1]

FTP受付の電文フォーマットを作成する[1]

FTP受付の要求電文フォーマット[1]

FTP受付を追加する[1]

FTPコマンド許可リスト定義ファイル（FTP受付用）[1]

FTP実行許可リスト定義ファイル[1]

G

gRPCアダプタで必要なセキュリティの設定[1]

gRPCアダプタの応答電文フォーマット[1]

gRPCアダプタの定義ファイルの作成[1]

gRPCアダプタのフォルト電文フォーマット[1]

gRPCアダプタの要求電文フォーマット[1]

gRPCアダプタを新規に追加する[1]

gRPCアダプタを定義する[1]

gRPC受付の定義[1]

gRPC受付の定義の流れ[1]

gRPC受付を追加する[1]

H

HTTPアダプタで必要なセキュリティの設定[1]

HTTPアダプタの定義ファイルの作成および編集[1]

HTTPアダプタを新規に追加する[1]

HTTPアダプタを定義する[1]

HTTP受付およびHTTPアダプタを利用したビジネスプロセスの設定例[1]

HTTP受付の概要[1]

HTTP受付の設定例（パススルーモードの場合）[1]

HTTP受付の設定例（標準モードの場合）[1]

HTTP受付の定義[1]

HTTP受付の定義の流れ[1]

HTTP受付の定義ファイルを作成する[1]

HTTP受付の電文フォーマットを作成する[1]

HTTP受付のルーティング機能の設定例[1]

HTTP受付を追加する[1]

HTTP受付を利用したビジネスプロセスの設定例[1]

J

J2EEサーバ用オプション定義ファイルの設定（HTTPアダプタの場合）[1]

JARファイルの作成〔プロトコルコンバータJARファイル〕[1]

JARファイルの作成〔ライブラリJARファイル〕[1]

K

Kafkaアダプタの応答電文フォーマット[1]

Kafkaアダプタの要求電文フォーマット[1]

Kafkaアダプタを新規に追加する[1]

Kafkaアダプタを定義する[1]

Kafka受付の定義[1]

Kafka受付の定義の流れ[1]

Kafka受付の定義ファイルを作成する[1]

Kafka受付の電文フォーマットを作成する[1]

Kafka受付を追加する[1]

M

MDB（DBキュー）アダプタを新規に追加する[1]

MDB（DBキュー）アダプタを定義する[1]

MDB（WS-R）アダプタを新規に追加する[1]

MDB（WS-R）アダプタを定義する[1]

Message Queueアダプタ環境定義ファイルの編集[1]

Message Queueアダプタ実行環境プロパティファイルの作成[1]

Message Queueアダプタ通信構成定義ファイルの編集[1]

Message Queueアダプタの場合[1]

Message Queueアダプタを新規に追加する[1]

Message Queueアダプタを定義する[1]

Message Queue受付の概要[1]

Message Queue受付の定義[1]

Message Queue受付の定義の流れ[1]

Message Queue受付の定義ファイルを作成する[1]

Message Queue受付の電文フォーマットを作成する[1]

Message Queue受付を追加する[1]

MHPを接続先としたTCP/IP接続をする場合[1]

O

Object Accessアダプタ実行環境プロパティファイルの作成[1]

Object Accessアダプタ通信構成定義ファイルの作成[1]

Object Accessアダプタの場合[1]

Object Accessアダプタを新規に追加する[1]

Object Accessアダプタを定義する[1]

S

SessionBeanアダプタを新規に追加する[1]

SessionBeanアダプタを定義する[1]

SFTPアダプタの応答電文フォーマット[1]

SFTPアダプタの定義ファイルの作成[1]

SFTPアダプタの要求電文フォーマット[1]

SFTPアダプタを新規に追加する[1]

SFTPアダプタを定義する[1]

SOAPアダプタを新規に追加する[1]

SOAPアダプタを定義する[1]

SOAP受付のWSDL作成時の注意事項[1]

SOAP受付の概要[1]

SOAP受付の追加[1]

SOAP受付の定義[1]

SOAP受付の定義の流れ[1]

SOAP受付の定義を編集する[1]

SQLオペレーション定義ファイル[1]

SQLオペレーション定義ファイルの構造[1]

SQLオペレーション定義ファイルの作成[1]

SQLオペレーション定義ファイルの作成例[1]

T

TP1/Client/J環境定義の設定[1]

TP1/RPC受付の概要[1]

TP1/RPC受付の定義[1]

TP1/RPC受付の定義の流れ[1]

TP1/RPC受付の定義を編集する[1]

TP1/RPC受付を追加する[1]

TP1アダプタ環境定義ファイルの編集[1]

TP1アダプタ通信構成定義ファイルの編集[1]

TP1アダプタのサービスアダプタ定義画面（基本）の設定項目[1]

TP1アダプタの設定項目の反映[1]

TP1アダプタの通信構成定義およびTP1/Client/J環境定義の対応[1]

TP1アダプタを新規に追加する[1]

TP1アダプタを定義する[1]

TPBroker環境定義ファイルの作成[1]

W

WSDLの作成[1]

WSDLの作成例[1]

X

XMLデータ書き込みサンプル[1]

XMLデータ読み込みサンプル[1]

XMLフォーマット定義ファイルの作成[1]

あ

アクティビティを設定する〔gRPC受付〕[1]

アクティビティを設定する〔Kafka受付〕[1]

アクティビティを設定する〔HTTP受付〕[1]

アダプタコンテキストインターフェース〔カスタムアダプタ開発フレームワークのAPI〕[1]

アダプタのサービスアダプタ定義（詳細）画面の設定項目[1]

アプリケーション統合属性ファイル[1]

アプリケーション統合属性ファイルの編集（Message Queueアダプタの場合）[1]

う

受付およびサービスアダプタの開発の概要[1]

お

応答電文の形式〔DBアダプタ〕[1]

応答電文フォーマット（ヘッダ変数用）（HTTP受付用）[1]

応答電文フォーマット（ボディ変数用）（HTTP受付用）[1]

か

カスタムアダプタ開発フレームワーク[1]

カスタムアダプタ開発フレームワーク動作定義ファイル〔汎用カスタムアダプタ開発時の定義ファイル〕[1]

カスタムアダプタ開発フレームワーク動作定義ファイル〔汎用カスタムアダプタの定義〕[1]

カスタムアダプタ開発フレームワークのAPI[1]

カスタムアダプタ開発フレームワークの定義ファイル[1]

カスタムアダプタ定義ファイル〔汎用カスタムアダプタ開発時の定義ファイル〕[1]

カスタムアダプタプロパティファイル〔汎用カスタムアダプタ開発時の定義ファイル〕[1]

カスタムアダプタプロパティファイル〔汎用カスタムアダプタの定義〕[1]

カスタムアダプタ用アプリケーション統合属性ファイル〔カスタムアダプタの定義〕[1]

カスタムアダプタ用アプリケーション統合属性ファイル〔汎用カスタムアダプタ開発時の定義ファイル〕[1]

カスタム受付[1]

カスタム受付でのエラーの伝わり方[1]

カスタム受付の運用[1]

カスタム受付の開発[1]

カスタム受付の概要[1]

カスタム受付のチューニング[1]

カスタム受付の定義[1]

カスタム受付フレームワークのAPI[1]

き

キーストアに関する設定[1]

く

クライアント定義ファイルの設定（SessionBean）[1]

クライアント定義ファイルの設定（Webサービス）[1]

け

検証内容の表示〔サービスアダプタ〕[1]

検証内容〔ユーザ定義受付〕[1]

検証方法〔サービスアダプタ〕[1]

検証方法〔ユーザ定義受付〕[1]

こ

コネクション定義識別子[1]

コマンドアダプタの定義ファイルの作成および編集[1]

コマンドアダプタを新規に追加する[1]

コマンドアダプタを定義する[1]

さ

サービスアダプタ定義（基本）画面[1]

サービスアダプタ定義（詳細）画面[1]

サービスアダプタ定義画面での設定（DBアダプタの場合）[1]

サービスアダプタ定義画面での設定（FTPアダプタの場合）[1]

サービスアダプタ定義画面での設定（gRPCアダプタの場合）[1]

サービスアダプタ定義画面での設定（HTTPアダプタの場合）[1]

サービスアダプタ定義画面での設定（Kafkaアダプタの場合）[1]

サービスアダプタ定義画面での設定（MDB（DBキュー）アダプタの場合）[1]

サービスアダプタ定義画面での設定（MDB（WS-R）アダプタの場合）[1]

サービスアダプタ定義画面での設定（SessionBeanアダプタの場合）[1]

サービスアダプタ定義画面での設定（SFTPアダプタの場合）[1]

サービスアダプタ定義画面での設定（SOAPアダプタの場合）[1]

サービスアダプタ定義画面での設定（TP1アダプタの場合）[1]

サービスアダプタ定義画面での設定（コマンドアダプタの場合）[1]

サービスアダプタ定義画面での設定（汎用カスタムアダプタの場合）[1]

サービスアダプタ定義画面での設定（ファイルアダプタの場合）[1]

サービスアダプタ定義画面での設定（ファイル操作アダプタの場合）[1]

サービスアダプタ定義画面での設定（メールアダプタの場合）[1]

サービスアダプタ定義画面での操作（FTPアダプタの場合）[1]

サービスアダプタ定義画面での操作（gRPCアダプタの場合）[1]

サービスアダプタ定義画面での操作（HTTPアダプタの場合）[1]

サービスアダプタ定義画面での操作（Kafkaアダプタの場合）[1]

サービスアダプタ定義画面での操作（Message Queueアダプタの場合）[1]

サービスアダプタ定義画面での操作（Object Accessアダプタの場合）[1]

サービスアダプタ定義画面での操作（SFTPアダプタの場合）[1]

サービスアダプタ定義画面での操作（TP1アダプタの場合）[1]

サービスアダプタ定義画面での操作（コマンドアダプタの場合）[1]

サービスアダプタ定義画面での操作（ファイルアダプタの場合）[1]

サービスアダプタ定義画面での操作（ファイル操作アダプタの場合）[1]

サービスアダプタ定義画面での操作（メールアダプタの場合）[1]

サービスアダプタ定義画面での操作〔DBアダプタ〕[1]

サービスアダプタ定義画面での操作〔MDB（DBキュー）〕[1]

サービスアダプタ定義画面での操作〔MDB（WS-R）〕[1]

サービスアダプタ定義画面での操作〔SessionBean〕[1]

サービスアダプタ定義画面での操作〔Webサービス〕[1]

サービスアダプタ定義画面での操作〔汎用カスタムアダプタ〕[1]

サービスアダプタ定義での設定一覧[1]

サービスアダプタの検証[1]

サービスアダプタの削除[1]

サービスアダプタの接続先情報を動的に変更する例[1]

サービスアダプタの追加[1]

サービスアダプタの定義[1]

サービスアダプタの内容の定義[1]

サービスアダプタの編集[1]

サービスアダプタの保存[1]

サービスリクエスタの作成（DBアダプタの場合）[1]

サンプルについて[1]

サンプルプログラム〔カスタムアダプタ開発フレームワーク〕[1]

し

システム全体の中の受付およびサービスアダプタの位置づけ[1]

障害情報の取得（カスタム受付）[1]

す

スケジューラダイレクト機能使用時のTP1/Client/J環境定義[1]

スケジューラダイレクト機能を使用する場合[1]

スケジュール駆動受付の定義[1]

スケジュール駆動受付の定義の流れ[1]

スケジュール駆動受付の定義ファイルを作成する[1]

スケジュール駆動受付の電文フォーマットを作成する[1]

スケジュール駆動受付を追加する[1]

せ

セキュアプロトコルによる暗号化・認証[1]

セットアップ時の属性ファイルの定義項目[1]

つ

通信先を指定した接続をする場合[1]

て

定義済みサービスアダプタを利用してサービスアダプタを追加する[1]

定義の流れ〔サービスアダプタ〕[1]

データ変換の定義〔TP1アダプタ〕[1]

データ変換の定義〔ファイルアダプタ〕[1]

電文フォーマット定義ファイルの作成（Message Queueアダプタの場合）[1]

電文フォーマットの作成（DBアダプタ電文の場合）[1]

電文フォーマットの作成（FTPアダプタの場合）[1]

電文フォーマットの作成（gRPCアダプタの場合）[1]

電文フォーマットの作成（HTTPアダプタの場合）[1]

電文フォーマットの作成（Kafkaアダプタの場合）[1]

電文フォーマットの作成（Object Accessアダプタの場合）[1]

電文フォーマットの作成（SFTPアダプタの場合）[1]

電文フォーマットの作成（TP1アダプタの場合）[1]

電文フォーマットの作成（コマンドアダプタの場合）[1]

電文フォーマットの作成（ファイルアダプタの場合）[1]

電文フォーマットの作成（ファイル操作アダプタの場合）[1]

電文フォーマットの作成（メールアダプタの場合）[1]

電文フォーマットの種類（ファイルアダプタの場合）[1]

電文例[1]

と

トラブルシューティング[1]

ね

ネームサービス機能使用時のTP1/Client/J環境定義[1]

ネームサービス機能を使用する場合[1]

は

バイナリフォーマット定義ファイルの作成[1]

汎用カスタムアダプタの開始に関するトラブルシューティング[1]

汎用カスタムアダプタの定義画面[1]

汎用カスタムアダプタの配備に関するトラブルシューティング[1]

汎用カスタムアダプタを使用する際の環境設定[1]

汎用カスタムアダプタを新規に追加する[1]

汎用カスタムアダプタを定義する[1]

ひ

ビジネスプロセスの設定（gRPCアダプタの場合）[1]

ビジネスプロセスの設定（HTTPアダプタの場合）[1]

ビジネスプロセスの定義後にSOAP受付を定義する[1]

ビジネスプロセスを定義する前にSOAP受付を定義する[1]

ふ

ファイルアダプタ実行環境プロパティファイルの作成[1]

ファイルアダプタの設定例[1]

ファイルアダプタを新規に追加する[1]

ファイルアダプタを定義する[1]

ファイルイベント受付の概要[1]

ファイルイベント受付の定義[1]

ファイルイベント受付の定義の流れ[1]

ファイルイベント受付の定義ファイルを作成する[1]

ファイルイベント受付の電文フォーマットを作成する[1]

ファイルイベント受付を追加する[1]

ファイル書き込み時の要求電文（XML形式）[1]

ファイル書き込み時の要求電文（バイナリ形式）[1]

ファイル操作アダプタの応答電文フォーマット[1]

ファイル操作アダプタの定義ファイルの作成および編集[1]

ファイル操作アダプタの定義例[1]

ファイル操作アダプタの要求電文フォーマット[1]

ファイル操作アダプタを新規に追加する[1]

ファイル操作アダプタを定義する[1]

ファイル変換オペレーション使用時の注意事項[1]

ファイル読み込み時の要求電文[1]

フォルトが発生した場合にフォルト電文を返す例[1]

プロトコルコンバータJARファイルの作成[1]

プロトコルコンバータインターフェース〔カスタムアダプタ開発フレームワークのAPI〕[1]

プロトコルコンバータからの操作に関するトラブルシューティング[1]

プロトコルコンバータ用独自定義ファイル[1]

分散開発時のエクスポート・インポート[1]

め

メールアダプタで必要なセキュリティの設定[1]

メールアダプタの定義例[1]

メールアダプタを使用するときの注意事項[1]

メールアダプタを新規に追加する[1]

メールアダプタを定義する[1]

メッセージインターフェース〔カスタムアダプタ開発フレームワークのAPI〕[1]

ゆ

ユーザ定義受付[1]

ユーザ定義受付（呼出先選択）の定義[1]

ユーザ定義受付の検証[1]

ユーザ定義受付の削除[1]

ユーザ定義受付の情報の変更[1]

ユーザ定義受付の定義[1]

ユーザ定義受付の内容の確認[1]

ユーザ定義受付の保存[1]

ユーザ定義ファイルの作成（Object Accessアダプタの場合）[1]

よ

要求電文list-option要素の指定値について[1]

要求電文の形式〔DBアダプタ〕[1]

要求電文フォーマット（ヘッダ変数用）（HTTP受付用）[1]

要求電文フォーマット（ボディ変数用）（HTTP受付用）[1]

用語解説[1]

ら

ライブラリJARファイルの作成[1]

り

リストコマンドオプション定義ファイル[1]

リモートAPI機能使用時のTP1/Client/J環境定義[1]

リモートAPI機能を使用する場合[1]

利用できる受付[1]

利用できるサービスアダプタ[1]

れ

例外クラス〔カスタムアダプタ開発フレームワークのAPI〕[1]