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

 #freeze
 RIGHT:[[目次>Hestia Hacks#SDKDevGuide]]|[[前>SDKの概要]]|[[次>連携方式]]
 
 #contents
 *メッセージコンテナ [#msgcontainer]
 Hestiaは、EISとメッセージのやりとりを行う際にビジネスメッセージをJava Objectとして扱います。
 
 下記にビジネスメッセージに対応したJava Objectのクラス図を示します。
 
 #ref(figure3.png)
 #ref(RJO.png)
 
 **Container [#sa57a68c]
 HestiaとEIS間でメッセージ連携を行う際は、メッセージの''容れ物''であるContainerオブジェクトがやりとりされます。実際には、Containerクラスはabstractであり、PayloadContainerまたはStatusContainerがインスタンス化されます。
 HestiaとEIS間でメッセージ連携を行う際は、メッセージの''容れ物''であるContainerオブジェクトがやりとりされます。実際には、Containerクラスはabstractであり、PayloadContainerまたはStatusContainerにてインスタンス化されます。
 
 [[API link:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/parser/rnbm/exchange/Container.html]]
 
 FIFOIndexはオブジェクトインスタンス生成時に自動設定されますが、
 [[ユーティリティクラス:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/utils/Utils.html#generateSequentialValue]]よりインデックスを取得しsetFIFOIndex()によって再定義することも可能です。
 
 ログトレースIDについても同様で、インスタンス生成時に自動設定されます。再定義も可能です。
 
 **PayloadContainer [#id1ebbd7]
 ビジネスメッセージ本体のServiceContent、および添付ファイルに対応するAttachmentオブジェクトのコンテナです。
 
 [[API link:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/parser/rnbm/exchange/PayloadContainer.html]]
 **ServiceContent [#qdfce7c0]
 RosettaNetのパブリックプロセスにおけるActionメッセージ(RosettaNetのPIP、Chem eStandardsのビジネスメッセージ)本体です。公開APIにおいては、XMLメッセージとServiceContentの相互変換、およびXMLのXPathリストからServiceContentインスタンスを作成する関数群が公開されています。
 
 [[API link:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/parser/rnbm/exchange/ServiceContent.html]]
 **Attachment [#s4c3e67f]
 ビジネスメッセージに添付されたファイルへのインターフェースを提供します。
 
 Attachmentオブジェクト自体は添付ファイルの実体を持っておらず、ファイルの実体はHestiaの内部データベースに格納されていますが、EISはAttachmentオブジェクトが提供するAPI関数を利用しそれを意識せずに透過的にファイル実体のストリームへアクセスできます。
 
 [[API link:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/parser/rnbm/exchange/Attachment.html]]
 **StatusContainer [#lf6982e9]
 RosettaNetのパブリックプロセスにおけるSignalメッセージ(ReceiptAcknowledgment, Exception等)を示すオブジェクトです。
 RosettaNetのパブリックプロセスにおけるSignalメッセージ(ReceiptAcknowledgment, Exception等)を示すオブジェクトです。また、Signalメッセージに該当しないトランザクションの状態((XMLバリデーション失敗のためパブリックプロセスが生成できなかった、メッセージが再送された、など))についても利用されます。
 
 [[API link:http://wiki.a-dos.com/hestiaapi/apidocs/com/ados/hestia/parser/rnbm/exchange/StatusContainer.html]]
 
 isSuccess()メソッドがfalseを返す場合、パブリックプロセストランザクションは正常終了していません。その際、getCode()およびgetDescription()で原因を調査することができます。
 
 StatusContainer生成後、トレースIDにPayloadContainer#getLogTraceID()より得られるトレースIDを設定することにより、Hestiaが出力するトランザクションログにて一貫したトレースIDでのトランザクショントラッキングが可能となります。
 
 *サンプルコード [#JOsample]
 **XMLからServiceContentへの変換 [#xml2sc]
 [[サンプル実装:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/common/util/MessageUtil.java.html#eissample46]]をご参照下さい。XMLファイルからServiceContentオブジェクトへの変換例です。
 [[サンプル実装:http://wiki.a-dos.com/eissamplesrc2/MessageUtil.java.html#readXML]]をご参照下さい。XMLファイルからServiceContentオブジェクトへの変換例です。
 
 **ServiceContentからXMLの抽出 [#sc2xml]
 [[サンプル実装:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/common/util/MessageUtil.java.html#eissample38]]をご参照下さい。ServiceContentオブジェクトからXMLファイルへの保存例です。
 [[サンプル実装:http://wiki.a-dos.com/eissamplesrc2/MessageUtil.java.html#saveXML]]をご参照下さい。ServiceContentオブジェクトからXMLファイルへの保存例です。
 
 **XPathリストからServiceContentの作成 [#xpath2sc]
 [[サンプル実装:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/common/util/MessageUtil.java.html#eissample78]]
 [[サンプル実装:http://wiki.a-dos.com/eissamplesrc2/MessageUtil.java.html#constructServiceContent]]
 をご参照下さい。
 PIP0C1 R01.02.00のXPathリストからServiceContentを構築するサンプルです。指定するXPathはルート要素を除いた値を指定します。
 
 **Attachmentオブジェクトから実ファイルへの保存 [#saveatt]
 [[サンプル実装:http://wiki.a-dos.com/eissamplesrc/com/ados/sample/eis/common/util/MessageUtil.java.html#eissample63]]
 [[サンプル実装:http://wiki.a-dos.com/eissamplesrc2/MessageUtil.java.html#saveAttachment]]
 をご参照下さい。

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

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