[ADOS] ADOS Developer's Site - XML Stadium
ADOS Company slogan - XML Total Solution

【JavaObjectのハンドリング】

メッセージコンテナ

Hestiaは、EISとメッセージのやりとりを行う際にビジネスメッセージをJava Objectとして扱います。

下記にビジネスメッセージに対応したJava Objectのクラス図を示します。

RJO.png

Container

HestiaとEIS間でメッセージ連携を行う際は、メッセージの容れ物であるContainerオブジェクトがやりとりされます。実際には、Containerクラスはabstractであり、PayloadContainerまたはStatusContainerにてインスタンス化されます。

API link

FIFOIndexはオブジェクトインスタンス生成時に自動設定されますが、 ユーティリティクラスよりインデックスを取得しsetFIFOIndex()によって再定義することも可能です。

ログトレースIDについても同様で、インスタンス生成時に自動設定されます。再定義も可能です。

PayloadContainer

ビジネスメッセージ本体のServiceContent、および添付ファイルに対応するAttachmentオブジェクトのコンテナです。

API link

ServiceContent

RosettaNetのパブリックプロセスにおけるActionメッセージ(RosettaNetのPIP、Chem eStandardsのビジネスメッセージ)本体です。公開APIにおいては、XMLメッセージとServiceContentの相互変換、およびXMLのXPathリストからServiceContentインスタンスを作成する関数群が公開されています。

API link

Attachment

ビジネスメッセージに添付されたファイルへのインターフェースを提供します。

Attachmentオブジェクト自体は添付ファイルの実体を持っておらず、ファイルの実体はHestiaの内部データベースに格納されていますが、EISはAttachmentオブジェクトが提供するAPI関数を利用しそれを意識せずに透過的にファイル実体のストリームへアクセスできます。

API link

StatusContainer

RosettaNetのパブリックプロセスにおけるSignalメッセージ(ReceiptAcknowledgment, Exception等)を示すオブジェクトです。また、Signalメッセージに該当しないトランザクションの状態*1についても利用されます。

API link

isSuccess()メソッドがfalseを返す場合、パブリックプロセストランザクションは正常終了していません。その際、getCode()およびgetDescription()で原因を調査することができます。

StatusContainer生成後、トレースIDにPayloadContainer#getLogTraceID()より得られるトレースIDを設定することにより、Hestiaが出力するトランザクションログにて一貫したトレースIDでのトランザクショントラッキングが可能となります。

サンプルコード

XMLからServiceContentへの変換

サンプル実装をご参照下さい。XMLファイルからServiceContentオブジェクトへの変換例です。

ServiceContentからXMLの抽出

サンプル実装をご参照下さい。ServiceContentオブジェクトからXMLファイルへの保存例です。

XPathリストからServiceContentの作成

サンプル実装 をご参照下さい。 PIP0C1 R01.02.00のXPathリストからServiceContentを構築するサンプルです。指定するXPathはルート要素を除いた値を指定します。

Attachmentオブジェクトから実ファイルへの保存

サンプル実装 をご参照下さい。


*1 XMLバリデーション失敗のためパブリックプロセスが生成できなかった、メッセージが再送された、など

添付ファイル: fileRJO.png 770件 [詳細] filefigure3.png 488件 [詳細]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Tue, 20 Jun 2006 13:22:08 JST (4752d)

Copyright 2005-2008. ADOS Co., Ltd. All Rights Reserved.