2.10.4. UserProcessorエンジン

UserProcessor SEはESBに流れるメッセージをユーザが実装するインタフェース(プロセッサ)で処理できるSEです。  UserProcessor SEはプロバイダとして動作します。
UserProcessor SE動作概要


図2.10.4-1

2.10.4.1. サービスユニットのファイル構成

UserProcessor SEのServiceUnitのフォルダ構成は下図の通りです。


図2.10.4.1-1

UserProcessor SEのServiceUnitに含まれるファイルについて以下に説明します。
UserProcessor SEのSUのファイル
表2.10.4.1-1
項目
説明
/META-INF/jbi.xml
サービスユニットの配備記述子です。
service.xml
UserProcessor SEのエンドポイントの設定が記述されます。
*.su
サービスユニットの管理ファイル(編集不可)
カスタマイズのプロセッサの実装クラスについて
UserProcessor SEプロセッサがカスタマイズの実装クラスとする場合、実装クラスをサービスユニットのフォルダに置く必要があります。実装クラスは、classファイルとしてサービスユニットのMETA-INF\classesに配置、または jarファイルとしてMETA-INF\libフォルダに配置してください。実装クラスを追加した場合のサービスユニットの構成を以下に示します。


図2.10.4.1-2

ESBでメッセージを処理する時、ユーザの実装を利用するため、メッセージプロセサ実装クラス名をカスタマイズの実装クラスの全クラス名に設定する必要があります。
カスタマイズの実装クラスは、ESB開発環境で提供するUserProcessor SE実装用環境を利用して作成します。

2.10.4.2. エンドポイントの設定

追加をクリックし、エンドポイントを追加します。


図2.10.4.2-1

エンドポイントの設定画面でコンシューマに公開するエンドポイント名を指定します。


図2.10.4.2-2

追加したエンドポイント名を変更したい場合、エンドポイント名を選択して名前の変更をクリックすることで、または選択したエンドポイントをダブルクリックすることで表示されるエンドポイント名の設定ダイアログで変更します。


図2.10.4.2-3

基本の設定項目
表2.10.4.2-1
設定項目
説明

エンドポイント一覧
SUで定義されたエンドポイントの一覧を表示します。
 
基本設定
サービス名
エンドポイントが提供するサービス名を指定します。
QName(名前空間、ローカル名) [必須]
インタフェース名
エンドポイントが提供するインタフェース名を設定します。
QName(名前空間、ローカル名)[必須]
ESBインスタンス名
分散ESB機能を使用する場合にのみESBインスタンス名を指定します。 その他の場合は空欄にします。
文字(A-Z、a-z)、数字(0-9)、ハイフン(-)、点(.)、下線(_)の組み合わせ [任意]
オペレーション名
エンドポイントが提供するオペレーション名を設定します。
QName(名前空間、ローカル名)[必須]
メッセージ交換方式
使用するメッセージ交換方式を指定します。
in-only、 in-out、in-opt-out、robust-in-onlyから選択 [必須]
インプット/アウトプット 対象SUフォルダのMETA-INFフォルダのschemaフォルダ配下にあるスキーマファイルの相対パスを指定します。
指定したスキーマファイルは、XSLT SE による変換の定義の際のインプット/アウトプットスキーマとして利用することができます。    [メッセージ交換方式を指定した場合のみ設定可能]
参照
(インプット/アウトプット)
スキーマファイルの選択ダイアログを開きます。
スキーマファイルを選択すると、その相対パスがインプットおよびアウトプット のファイルのテキストボックスに表示されます。
利用方法については、[2.7.7. スキーマファイルの設定] を参照して下さい。
説明
サービスの説明を記述します。
任意の文字列[任意]
オプション一覧
オプションを設定します。
 

Caution
  エンドポイントのサービス名とエンドポイント名の設定は他のエンドポイントと重複しないようにしてください。

UserProcessorに関する設定項目
表2.10.4.2-2
設定項目
説明

UserProcessor SEの設定
メッセージプロセッサ
メッセージを処理するプロセッサを指定します。指定しないと空な実装となり、受信したリクエストメッセージをそのまま NMR へ返信します。
実装クラス名、組込み定義から選択[任意]
実装クラス名
カスタマイズのプロセッサの実装クラス名を指定します。
   編集可のコンボボックスです。コンボボックスの選択肢は、該当サービスユニットのMETA-INFフォルダのclasseslibフォルダにすべてのクラスの完全修飾クラス名とします。
クラス名[必須]
組込み定義
組込み定義のプロセッサを指定します。
メッセージ交換方式 にin-out が指定されている場合にのみ、UniAssist を指定できます。
EDIトランスレータ、UniAssistから選択[必須]
※V9.2ではInterSchemaは利用できません
タイムアウト時間(秒)
プロセッサ処理のタイムアウト値を指定します。
整数[任意]
   秒[単位]
組込み定義が、
   EDIトランスレータの場合、デフォルトは"30"
   UniAssistの場合、デフォルトは"5"
プロセッサのパラメーター
プロセッサが利用するパラメータを指定します。
   実装クラス名を指定する場合、パラメータを追加、編集または削除ができます。 組込み定義を指定する場合、組込み定義のプロセッサに関するパラメータが表示され、パラメータ値が編集できます。 UniAssistのパラメータの追加と削除はできませんが、EDIトランスレータのパラメータの追加はできます。 EDIトランスレータの既定のパラメータの削除はできませんが、カスタマイズのパラメータの削除はできます。
実装クラス名を指定する場合、プロセッサのパラメーター追加をクリックし、パラメータを追加します。


図2.10.4.2-4

プロセッサのパラメーター設定項目(実装クラス名指定)
表2.10.4.2-3
項目
説明

パラメータ名
プロセッサの実装内部でパラメータを取得するために、キーとなるパラメータ名を指定します。
任意の文字列
パラメータ値
パラメータ名をキーとして取得される値を設定します。
任意の文字列
組込み定義プルダウンメニューにEDIトランスレータもしくはUniAssistを指定する場合、プロセッサのパラメーター編集をクリックし、組込み定義のプロセッサに関するパラメータを編集します。詳細は[2.10.4.11. 組込み定義プロセッサ]の項を参照してください。
artifact.xml定義時、妥当性チェックを行うため、問題がある場合にプロパティービューにおける項目設定値に×をつけます。 正しく修正すると、×がなくなります。 詳細は、2.8. 妥当性チェックを参照してください。

2.10.4.3. オプション一覧の設定

[2.7.5. オプション一覧の設定] を参照して下さい。
UserProcessor SEにおいて設定できるオプション一覧は下記の通りです。
表2.10.4.3-1
項目
説明

INIT_TIMING_COMPAT_V84_OPTION_NAME
UserProcessor SEのSAをシャットダウンする時にUserProcessorのインスタンスを削除するかどうかを指定します。
trueを設定した場合、UserProcessor SEのSAがシャットダウンする時にUserProcessorのインスタンスを削除しません。
このオプションを設定しない、もしくはtrue以外の値を設定するとSAがシャットダウンする時にUserProcessorのインスタンスを削除します。
文字列(任意)

2.10.4.4. Processorクラスの提供

userengineprocessor-impl.jarとしてProcessorとProcessor2クラスを提供します。このJarファイルはuserengine.jar中に含まれます。

2.10.4.5. メッセージ交換方式(MEP)

メッセージ交換方式(MEP)については[ 製品構成と提供機能 > 3. JBI仕様 > 3.2. Normalized Message Router ] の 「メッセージ交換方式(MEP)」をご覧下さい。
   MEPにおけるUserProcessor SEの処理は次のようになります。
UserProcessor SEの各MEPにおける動作
表2.10.4.5-1
MEP
タイプ
動作の説明
In-Only
要求
NMR から受け付けたメッセージエクスチェンジに格納されたinデータをユーザロジックで処理します。
応答(done)
ユーザロジック実行結果によらず、DONEステータスを設定したメッセージエクスチェンジを NMR に返却します。
Robust In-Only
要求
NMR から受け付けたメッセージエクスチェンジに格納されたinデータをユーザロジックで処理します。
応答(Fault)
ユーザロジックでFaultをセットすると、Faultを NMR に返却します。この後、 NMR からDONEステータスが設定されたメッセージエクスチェンジを待ち受けます。
応答(done)
ユーザロジックでエラーが発生ない場合、DONEステータスを設定したメッセージエクスチェンジを NMR に返却します。
応答(Error)
ユーザロジックでエラーが発生した場合、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。
In-Out
要求
NMR から受け付けたメッセージエクスチェンジに格納されたinデータをユーザロジックで処理します。
応答(out)
ユーザロジックでoutをセットすると、outを NMR に返却します。この後、 NMR からDONEステータスが設定されたメッセージエクスチェンジを待ち受けます。
応答(Fault)
ユーザロジックでFaultをセットすると、Faultを NMR に返却します。この後、 NMR からDONEステータスが設定されたメッセージエクスチェンジを待ち受けます。
応答(Error)
ユーザロジックでエラーが発生した場合、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。
In Optional-Out
要求
NMR から受け付けたメッセージエクスチェンジに格納されたinデータをユーザロジックで処理します。
応答(out)
ユーザロジックでoutをセットすると、outを NMR に返却します。この後、 NMR からdone/Error/Faultメッセージエクスチェンジを待ち受けます。
応答(Fault)
ユーザロジックでFaultをセットすると、Faultを NMR に返却します。この後、 NMR からdone/Error/Faultメッセージエクスチェンジを待ち受けます。
応答(done)
ユーザロジックでエラーが発生ない場合、DONEステータスを設定したメッセージエクスチェンジを NMR に返却します。
応答(Error)
ユーザロジックでエラーが発生した場合、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。
要求(Fault)
NMR から受け付けたFaultの内容をログに出力し、DONEステータスを設定したメッセージエクスチェンジを NMR に返却します。

2.10.4.6. UserProcessor SEプロセッサプロジェクトの作成

UserProcessor SEプロセッサプロジェクト作成ウィザードを使用して、UserProcessor SEプロセッサプロジェクトを作成します。
メニュー ファイル 新規 プロジェクトを選択します。


図2.10.4.6-1

新規プロジェクト画面で、ESB UserProcessor SEプロセッサプロジェクトを選択します。


図2.10.4.6-2

プロジェクト名を指定します。


図2.10.4.6-3

UserProcessor SEプロセッサプロジェクトの作成が完了すると、下図のような構成でプロジェクトが作成されます。


図2.10.4.6-4

2.10.4.7. UserProcessor SEプロセッサの作成

ウィザードでUserProcessor SEプロセッサ実装クラスの雛形をUserProcessor SEプロセッサプロジェクトで生成します。
メニュー ファイル 新規 その他を選択します。


図2.10.4.7-1

新規画面でESB > UserProcessor SEプロセッサを選択します。


図2.10.4.7-2

ソース・フォルダーパッケージ名前を指定します。


図2.10.4.7-3

UserProcessor SEプロセッサのI/F定義
表2.10.4.7-1
項目
編集可否
値(編集不可の場合)
ソース・フォルダー

パッケージ

エンクロージング
不可
なし
名前

修飾子
不可
public
スーパークラス

インターフェース
不可
com.nec.webotx.jbi.engine.user.Processor2
作成するメソッド・スタブの選択
不可
継承された抽象メソッド
コメントの生成
不可
なし
UserProcessor SEプロセッサの作成が終了すると、UserProcessor SEプロジェクト内にsrcフォルダが作成され、その中にUserProcessor SEプロセッサが生成されます。また、自動的に実装クラスが開かれ、Javaエディタ画面になります。Javaエディタで編集が完了したら、保存します。

2.10.4.8. UserProcessor SEプロセッサ(Fault生成用)の作成

ウィザードでUserProcessor SEプロセッサ実装クラス(Fault生成用)の雛形をUserProcessor SEプロセッサプロジェクトで生成します。
メニュー ファイル 新規 その他を選択します。


図2.10.4.8-1

新規プロジェクト画面で、ESB UserProcessor SEプロセッサプロジェクト(Fault生成用)を選択します。


図2.10.4.8-2

ソース・フォルダーパッケージ名前を指定します。


図2.10.4.8-3

UserProcessor SEプロセッサ(Fault生成用)のI/F定義
表2.10.4.8-1
項目
編集可否
値(編集不可の場合)
ソース・フォルダー

パッケージ

エンクロージング
不可
なし
名前

修飾子
不可
public
スーパークラス
不可
com.nec.webotx.jbi.engine.user.impl.FaultProcessor
インターフェース
不可
不可
どのメソッド・スタプを作成しますか?
不可
継承された抽象メソッド
コメントの生成
不可
なし
UserProcessor SEプロセッサの作成が終了すると、UserProcessor SEプロジェクト内にsrcフォルダが作成され、その中にUserProcessor SEプロセッサ(Fault生成用)が生成されます。また、自動的に実装クラスが開かれ、Javaエディタ画面になります。Javaエディタで編集が完了したら、保存します。

2.10.4.9. 外部公開インタフェース

UserProcessor SEを利用するときに、ユーザが実装するインタフェースについて説明します。

Memo
[リファレンス集 開発編(Enterprise Service Bus) >1. APIリファレンス ] も併せてご覧ください。

I/F定義
Processorインタフェースの実装したクラスを開発します。
UserProcessor SEプロセッサのI/F定義
表2.10.4.9-1
パッケージ
com.nec.webotx.jbi.engine.user
インタフェース宣言
public interface
Processor
メソッド
public void
init(Properties params) throws ProcessorImpinitException
   実装インスタンス生成後一度だけ呼ばれる初期化メソッドです。
   パラメータ:
    Properties params –Artifactで定義しているパラメータです。
public void
process(IMessageExchange ime)throws IOException MessagingException
   メッセージを処理するロジックのメソッドです。

   パラメータ:
   IMessageExchange ime – 処理中のMessageExchangeをラップするIMessageExchangeオブジェクトです。

   例外:
   MessagingException – メッセージ処理ロジックを実行する時に投げる例外です。
   IOException  –IO処理ロジックを実行する時に投げる例外です。
Memo
IMessageExchangeクラスのgetMessageメソッド等で取得可能なノーマライズメッセージのメッセージコンテント(NormalizedMessageクラスのgetMessage, setMessageメソッドで取得・設定される)には、通常はXML文書を格納しますが、WebOTX ESB では javax.xml.transform.stream.StreamSource 型を使用することで非XML文書をメッセージコンテントに格納することが可能です。ただし、SOAP BC/JCA BC/RMI BC/CORBA BC/JDBC BC/Salesforce BC/XSLT SE/CBR SEがこのプロセッサからメッセージを受け取る場合、これらのコンポーネントは非XML文書を扱うことができません。
I/F定義
Processor2インタフェースの実装したクラスを開発します。
UserProcessor SEプロセッサのI/F定義
表2.10.4.9-2
パッケージ
com.nec.webotx.jbi.engine.user
インタフェース宣言
public interface
Processor2 extends Processor
メソッド
public void
destroy() throws ProcessorImpDestroyException
   サービスユニットシャトダウンするときdestroy()を実施します。
I/F定義
Processorインタフェースの実装したクラスを開発します。
UserProcessor SEプロセッサ(Fault生成用)のI/F定義
表2.10.4.9-3
パッケージ
com.nec.webotx.jbi.engine.user.impl
クラス宣言
public abstract class
FaultProcessor
メソッド
public void
process(IMessageExchange ime)throws IOException MessagingException
   メッセージを処理するロジックのメソッドです。
   Fault生成用のロジックが実装されているため、実装する必要はありません。

   パラメータ:
   IMessageExchange ime – 処理中のMessageExchangeをラップするIMessageExchangeオブジェクトです。

   例外:
   MessagingException – メッセージ処理ロジックを実行する時に投げる例外です。
   IOException  –IO処理ロジックを実行する時に投げる例外です。
public abstract String
getFaultString()
   getFaultStringメソッドを実装することで、Faultに任意のFaultString要素を追加することができます。
   null、または空文字列("")を返却した場合、FaultString要素は空になります。
public abstract List
getDetail()
   getDetailメソッドを実装することで、FaultのDetailに任意のDetail要素を追加することができます。
   null、または空のListオブジェクト(例: new ArrayList())を返却した場合、Detail要素は空になります。
public IMessageExchange
getMessageExchange()
   UserProcessor SEが受け取ったMessageExchangeを取得します。
   入力メッセージの内容によりFaultString/Detailの内容を変える場合に利用します。
I/F実装
上記のインタフェースを実装することにより、メッセージ処理ロジックをカスタマイズすることができます。ユーザの実装を利用するためには、その実装クラスをSU内に配置する必要があります。実装クラスまたは圧縮したJARファイルをSU配備物件のclassesまたはlibディレクトリにおいてください。
メッセージを処理する時、一つのユーザの実装クラスオブジェクトのみを生成し、MessageExchangeオブジェクトごとに、process()メソッドを一回呼び出していますので、process()メソッドの同期にご注意ください。
ユーティリティクラス
ユーザがインタフェースを実装する時、UserProcessor SEが提供するユーティリティAPIを利用することで、下記の情報を参照することができます。
UserProcessor SEのユーティリティで取得可能な情報
表2.10.4.9-4
取得できる情報
説明
SU名
メッセージを処理するSU名
SUパス
メッセージを処理するSUの絶対パス
ロガー
UserProcessorSEのロガーオブジェクトです。ログの出力先はESBと同じです。またこのロガーオブジェクトのレベルを変更するとUserProcessorSEのログレベルも変更されることにご注意ください。
UserProcessor SEのユーティリティAPI詳細定義は下記のとおりです。
表2.10.4.9-5
パッケージ
com.nec.webotx.jbi.engine.user
インタフェース宣言
public class
ProcessorUtil
メソッド
public static String
getSUName(IMessageExchange ime)
   メッセージを処理するSU名を取得します。

   パラメータ:    IMessageExchange ime – 処理中のMessageExchangeをラップするIMessageExchangeオブジェクトです。

   返却値:
   Stringオブジェクト – 動作しているSU名です。見つからない場合、nullを返却します。
public static String
getSUPath(IMessageExchange ime)
   メッセージを処理するSUのパスを取得します。

   パラメータ:     IMessageExchange ime – 処理中のMessageExchangeをラップするIMessageExchangeオブジェクトです。

   返却値:
   Stringオブジェクト – 動作しているSUのパス、もし見つからなかったら、nullを返却します。
public static Logger
getLogger()
   UserProcessor SEのロガーを取得します。

   返却値:
   Loggerオブジェクト – UserProcessor SEのロガーです。

2.10.4.10. プロセッサインスタンスのライフサイクル

2.10.4.11. 組込み定義プロセッサ

WebOTX ESBは、組込み定義プロセッサとして、FontAvenue UniAssist コード変換を使用するProcessorEDI トランスレータを使用するProcessorを標準で装備しています。
各連携製品の概要については [ 製品構成と提供機能 > 4. ESB ] をご参照ください。
UniAssist利用手順
A)FontAvenue UniAssist コード変換のインストール
  FontAvenue UniAssist コード変換 をインストールします。
B)  環境の設定
  以下に示すUniAssistのJarファイルをClasspathへ追加します。
Memo
ConvJis2004ToJef.jarおよびConvJis2004ToJis.jarはUniAssist V2.3より前のバージョンには存在しません。
設定方法は、[ドメイン構築・基本設定ガイド > 2.8. Java VMオプションの設定]を参照してください。

Caution
有効にするためには、ドメイン再起動が必要です。

C)  SAの作成
    ESB開発環境で、WebOTX UniAssistのProcessorを設定するSAを作成します。 
組込み定義プルダウンメニューにUniAssistを指定します。プロセッサのパラメーター編集をクリックし、組込み定義のプロセッサに関するパラメータを編集します。
Memo
UniAssist は、メッセージ交換方式 にin-out が指定されている場合にのみ選択可能です。


図2.10.4.11-2

表2.10.4.11-3
項目
説明

変換元の文字コード
変換元の文字コードを設定ください。
詳細は「変換元の設定と変換先の対応」で説明します。
UTF-8、UTF-16、UTF-32、G2000、JIPS(E)、JIPS(J)、Shift_JIS、JIS、JEF+EBCDIK、JEF+EBCDIC、KEISから選択 [必須]
   デフォルトは"UTF-8"
変換先の文字コード
変換先の文字コードを設定ください。
詳細は「変換元の設定と変換先の対応」で説明します。
UTF-8、UTF-16、UTF-32、G2000、JIPS(E)、JIPS(J)、Shift_JIS、JIS、JEF+EBCDIK、JEF+EBCDIC、KEISから選択 [必須]
   デフォルトは"UTF-8"
変換種別オプション GO
G0変換することを表します。
true、falseから選択[任意]
   デフォルトは"false"
XT
ユーザが定義した任意のマッピングによって変換することを表します。
true、falseから選択[任意]
   デフォルトは"false"
RV
ユーザが定義した任意のマッピングによって(逆)変換することを表します。
true、falseから選択[任意]
   デフォルトは"false"
CJ
JIPS互換モード変換することを表します。
true、falseから選択[任意]
   デフォルトは"false"
MS
CP932にもとづいた変換することを表します。
true、falseから選択[任意]
   デフォルトは"false"
変換オプション CHANGE_PER_2_BYTE
漢字IN内を強制的に2バイトずつ変換します。
true、falseから選択[任意]
   デフォルトは"false"
LITTLE_ENDIAN
入出力データをLittle Endianとして扱います。
true、falseから選択[任意]
   デフォルトは"false"
NONDEF_ILLEGAL
漢字IN中の未定義コードと不正コードの区別をしません。
true、falseから選択[任意]
   デフォルトは"false"
IGNORE_ERROR
エラーを無視します。
true、falseから選択[任意]
   デフォルトは"false"
ユーザ定義マッピングファイル名
ユーザ定義マッピングファイル名を指定ください。
任意の文字列[任意]
変換フラグ直接指定
変換フラグを直接指定します。
-2147483648〜2147483647の数字文字列または0x00000000〜0xFFFFFFFFの16進数字文字列[任意]
変換エラー文字の置換文字指定
変換エラー文字の置換文字を指定します。
IGNORE_ERRORを選択した場合は入力可、その以外の場合は入力不可。
0x0000〜0xFFFFの16進数(4バイト)の文字列または1文字の文字[任意]
   デフォルトは"0x30FB"
入力メッセージからのBOM除去
入力メッセージからBOMを除去するか否かを指定します。
変換元の文字コードがUTF-8/UTF-16/UTF-32の以外の場合は入力不可。
ON、OFFから選択[必須]
   デフォルトは"ON"
出力メッセージへのBOM付加
出力メッセージにBOMを付加するか否かを指定します。AUTOを選択すると、入力メッセージからBOMを除去した場合にのみ出力メッセージにBOMを付加します。
変換先の文字コードがUTF-8/UTF-16/UTF-32の以外の場合は入力不可。
AUTO、ON、OFFから選択[必須]
   デフォルトは"AUTO"
変換元の格納先
ノーマライズメッセージ内の変換対象を指定します。
詳細は「格納先の設定と変換処理の対応」で説明します。
XML、Attachment、Bothから選択[必須]
   デフォルトは"XML"
変換結果の格納先
変換結果の格納先を指定します。
   詳細は「格納先の設定と変換処理の対応」で説明します。
XML、Attachment、Bothから選択[必須]
   デフォルトは"XML"
変換元の設定と変換先の対応
表2.10.4.11-4
変換元の文字コードの格納先(行)
UTF-8/UTF-16/UTF-32
UTF-8/UTF-16/UTF-32以外
変換先の文字コード
の格納先(列)
UTF-8/UTF-16/UTF-32
変換元の文字コードを変換します。
   変換先の文字コードを格納します。
変換元の文字コードを変換します。
   変換先の文字コードを格納します。
UTF-8/UTF-16/UTF-32以外
変換元の文字コードを変換します。
   変換先の文字コードを格納します。
設定できません。設定された場合、実行時に、エラーメッセージを出力します。

Memo
Shift_JIS > JIPS(J)のようにUTF以外のコードからUTF以外のコードへ変換する場合は、 Sequencing SEと2つのUserProcessor SEを利用することにより、 Shitf_JIS > UTF-8 > JIPS(J)のようにUTFを経由して変換する必要があります。

格納先の設定と変換処理の対応
表2.10.4.11-5
変換元の格納先(行)
XML
Attachment
Both
変換結果の
格納先(列)
XML
InメッセージのContentを変換します。
   変換結果をOutメッセージのContentに格納します。
InメッセージのAttachmentを変換します。
   変換結果をOutメッセージのContentに格納します。
   Inメッセージ中に複数のAttachmentがある場合、エラーメッセージが出力します。
設定できません。設定された場合、実行時に、エラーメッセージを出力します。
Attachment
InメッセージのContentを変換します。
   変換結果をOutメッセージのAttachmentに格納します。
InメッセージのAttachmentを変換します。
   変換結果をOutメッセージのAttachmentに格納します。
InメッセージのContentとAttachment両方を変換します。
   変換結果を全てOutメッセージのAttachmentに格納します。
   DataHandler中にConentの変換結果のAttachmentの名前は「Content」です。Attachmentの変換結果の名前は変換前と同じです。
Both
InメッセージのContentを変換します。
   変換結果をOutメッセージのContentに格納します。
InメッセージのAttachmentを変換します。
   変換結果をOutメッセージのAttachmentに格納します。
InメッセージのContentとAttachment両方を変換します。
   Contentの変換結果を OutメッセージのContentに格納し、Attachmentの変換結果を OutメッセージのAttachmentに格納します。
D)  SAを配備して、実行します。
EDIトランスレータ利用手順

EDIトランスレータ と WebOTX ESBの連携手順について以下に記述します。

変数について

次の環境変数は実際のパスに読み替えてください。

${N_TRANS_PATH} : EDIトランスレータ インストールディレクトリ
例 C:\translator\EDI_Translater_E_V5
${N_TRANS_TMP_PATH} : EDIトランスレータの一時ファイル出力先
例 C:\translator\EDI_Translater_M_V5\tmp

Memo
EDIトランスレータの一時ファイル出力先は、EDIトランスレータの処理設定ファイルによって指定されます。 詳細はEDIトランスレータのマニュアルを参照してください。

環境構築手順
  1. EDIトランスレータをインストール
    EDIトランスレータのマニュアルに従い作業してください。
  2. ${INSTANCE_ROOT}/config/server.policy の末尾に以下の設定を追加
    ----
    grant codeBase "file:${N_TRANS_PATH}/-" {
        permission java.lang.RuntimePermission "createClassLoader";
        permission java.io.FilePermission "${N_TRANS_TMP_PATH}/-", "delete";
        permission java.lang.RuntimePermission "getenv.N_TRANS_PATH";
    };
    ---
  3. 以下に示すEDIトランスレータのJARファイルをクラスパス(classpath-suffix)へ追加
    設定方法は、[Application Server > ドメイン構築・基本設定ガイド > 3.8. Java VMオプションの設定] を参照してください。
  4. 以下に示すEDIトランスレータのJARファイルを ${INSTANCE_ROOT}/lib/ext/ へコピー

Memo
server.policyの grant codeBase に記載するファイルパスのパスセパレータは"/"である必要があります。"\"を記載しないよう注意してください。

Caution
有効にするためには、ドメイン再起動が必要です。

開発手順
  1. EDIトランスレータの変換定義を作成
    EDIトランスレータのマニュアルを参照ください。
  2. SAを作成
  3. SAを配備
    配備方法は、マニュアル [Enterprise Service Bus > 運用ガイド >1.1.2. サービスアセンブリの運用] を参照してください。
注意事項
表2.10.4.11-7
変換元のComponent
トランスレータの入力側文字コード
File BC / FTP BC && 文字コード設定=None
変換元にあわせてユーザがトランスレータの文字コードを設定します。
その他のBC UTF-8
表2.10.4.11-8
変換先のComponent
トランスレータの出力側文字コード
File BC / FTP BC && 文字コード設定=None
任意 (EDIトランスレータがサポートしている文字コードを参照してください。)
その他のBC UTF-8
格納先の設定と変換処理の対応
表2.10.4.11-9
変換元の格納先(行)
XML
Attachment
Both
変換結果の
格納先(列)
XML
InメッセージのContentを変換します。
   変換結果をOutメッセージのContentに格納します。
すべてのAttachmentを Out NMのAttachmentに引き継ぎます。
Inメッセージの単一のAttachmentを変換します。
   変換結果をOutメッセージのContentに格納します。
   Inメッセージ中の他のAttachmentを破棄します。
InメッセージのContentと単一のAttachmentを変換します。
   変換結果をOutメッセージのContentに格納します。
   Inメッセージ中の他のAttachmentを破棄します。
Attachment
InメッセージのContentを変換します。
   変換結果をOutメッセージのAttachmentに格納します。
   DataHandler中に変換結果のAttachmentの名前は「UserEngine_TransByEDIProcessor」です。
   すべてのAttachmentを破棄します。
Inメッセージの一番目のAttachmentを変換します。
   変換結果をOutメッセージのAttachmentに格納します。
   DataHandler中に変換結果のAttachmentの変換結果の名前は変換前と同じです。
   他のAttachmentを破棄します。
   InメッセージのContentを引き継ぎます。
InメッセージのContentと一番目のAttachment両方を変換します。
   変換結果をOutメッセージのAttachmentに格納します。
   DataHandler中に変換結果のAttachmentの名前は「UserEngine_TransByEDIProcessor」です。
ファイル名のパターン

EDIの異常ログを出力する時、ログファイル名にパターンを使用できます。使用できるパターンは下記の説明を参照してください。