|
|
WebOTX Manual V11.1 (第6版) 目次を表示 |

図2.10.3-1

図2.10.3.1-1
|
項目 |
説明 |
|---|---|
|
/META-INF/jbi.xml |
サービスユニットの配備記述子です。 |
|
service.xml |
CBR SEのエンドポイントの設定が記述されます。 |
|
*.su |
サービスユニットの管理ファイル(編集不可) |
|
rule.js |
「JavaScript記述」を保存するファイルです。 |

図2.10.3.2-1
|
設定項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
| 基本設定 | |||||
|
サービス名 |
提供するサービス名を指定します。 |
QName(名前空間、ローカル名) [必須] |
|||
|
インタフェース名 |
提供するインタフェース名を設定します。 |
QName(名前空間、ローカル名)[必須] |
|||
|
エンドポイント名 |
提供するエンドポイント名を設定します。 |
文字列[必須] |
|||
|
ESBインスタンス名 |
分散ESB機能を使用する場合にのみESBインスタンス名を指定します。
その他の場合は空欄にします。 |
文字(A-Z、a-z)、数字(0-9)、ハイフン(-)、点(.)、下線(_)の組み合わせ [任意] |
|||
|
オペレーション名 |
提供するオペレーション名を設定します。 |
QName(名前空間、ローカル名)[必須] |
|||
|
メッセージ交換方式 |
使用するメッセージ交換方式を指定します。 |
in-only、 in-out、robust-in-onlyから選択
[必須] |
|||
| インプット/アウトプット |
対象SUフォルダのMETA-INFフォルダのschemaフォルダ配下にあるスキーマファイルの相対パスを指定します。 指定したスキーマファイルは、XSLT SE による変換の定義の際のインプット/アウトプットスキーマとして利用することができます。 [メッセージ交換方式を指定した場合のみ設定可能] |
||||
|
参照 (インプット/アウトプット) |
スキーマファイルの選択ダイアログを開きます。 スキーマファイルを選択すると、その相対パスがインプットおよびアウトプット のファイルのテキストボックスに表示されます。 利用方法については、[2.7.7. スキーマファイルの設定] を参照して下さい。 |
||||
| メッセージエクスチェンジハンドラ | |||||
|
メッセージエクスチェンジハンドラを設定します。詳細は2.10.3.4.メッセージエクスチェンジハンドラの設定で説明します。 |
|||||
| オプション一覧 | |||||
|
オプションを設定します。 |
|||||
Caution
エンドポイントのサービス名とエンドポイント名の設定は他のエンドポイントと重複しないようにしてください。
|
設定項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
| CBR SEの設定 | |||||
|
説明 |
このエンドポイントに関する説明を記述できます。動作には影響しません。 |
【マルチバイト文字列指定可】 文字列[任意] |
|||
|
タイムアウト時間 |
呼び出し先のプロバイダ(Outbound)のレスポンスを待つタイムアウト時間を設定します。 |
数値(long型)[ミリ秒] デフォルトは"180000"(3分) |
|||
| ルーティング設定 | |||||
|
XPath |
XPathをONにすると、ルーティング情報一覧は使用可になります。 |
デフォルト値:ON |
|||
|
ルーティング情報一覧 |
ルーティング情報を設定します。 詳細は[2.10.3.6. XPath記述]で説明します。 |
||||
|
JavaScript |
JavaScriptをONにすると、スクリプトエディタは使用可になります。 |
デフォルト値:OFF |
|||
|
スクリプトエディタ |
JavaScriptを記述します。 詳細は[2.10.3.5.JavaScript記述]で説明します。 |
JavaScript[任意] |
|||
|
JSに提供されるメソッド(MessageExchangeから情報取得) |
|
|---|---|
|
QName |
ME_service() MessageExchange.getService()を呼び出してサービスを参照します。 |
|
QName |
ME_interface() MessageExchange.getInterface()を呼び出してインタフェースを参照します。 |
|
String |
ME_endpoint() MessageExchange.getEndpoint().getEndpointName()を呼び出してエンドポイントを参照します。 |
|
QName |
ME_operation() MessageExchange.getOperation()を呼び出してオペレーションを参照します。 |
|
String |
ME_role() MessageExchange.getRole()を呼び出してロールを参照します。"CONSUMER"あるいは"PROVIDER"を返却します。 |
|
Object |
ME_getProperty(String name) MessageExchange.getProperty(name)を呼び出してプロパティを参照します。 |
|
String |
ME_status() MessageExchange.getStatus()を呼び出してステータスを参照します。"ACTIVE"、"ERROR"、あるいは"DONE"を返却します。 |
|
String |
ME_exchangeID() MessageExchange.getExchangeID()呼び出してIDを参照します。 |
|
JSに提供されるメソッド(NormalizedMessageから情報取得) |
|
|---|---|
|
Document |
NM_content() NormalizedMessage.getContent()を呼び出してコンテントを参照します。 |
|
Set |
NM_attachmentNames() NormalizedMessage.getAttachmentNames()を呼び出して添付ファイル名を参照します。 |
|
Object |
NM_getProperty(String name) NormalizedMessage.getProperty()を呼び出してプロパティを参照します。 |
|
JSに提供されるメソッド(WebOTXログに出力) |
|
|---|---|
|
void |
Logger_finest(String s) CBR SEのloggerでTRACEレベルのログを出力します。 |
|
void |
Logger_fine(String s) CBR SEのloggerでDEBUGレベルのログを出力します。 |
|
void |
Logger_info(String s) CBR SEのloggerでINFOレベルのログを出力します。 |
|
void |
Logger_warning(String s) CBR SEのloggerでWARNレベルのログを出力します。 |
|
void |
Logger_error(String s) CBR SEのloggerでERRORレベルのログを出力します。 |
|
JSに提供されるメソッド(メッセージコンテントアクセス関連) |
|
|---|---|
|
org.w3c.dom.NodeList |
NM_getXPath_NodeList(String exp) javax.xml.xpath.XPathExpression.evaluate(document,XPathConstants.NODESET)を呼び出して、XPath expressionによりメッセージコンテントからNodeListを取得します。 |
|
double |
NM_getXPath_Double(String exp) javax.xml.xpath.XPathExpression.evaluate(document,XPathConstants.NUMBER)を呼び出して、XPath expressionによりメッセージコンテントからdouble値を取得します。 |
|
String |
NM_getXPath_String(String exp) javax.xml.xpath.XPathExpression.evaluate(document,XPathConstants.STRING)を呼び出して、XPath expressionによりメッセージコンテントから文字列を取得します。 |
|
Boolean |
NM_getXPath_Boolean(String exp) javax.xml.xpath.XPathExpression.evaluate(document,XPathConstants.BOOLEAN)を呼び出して、XPath expressionによりメッセージコンテントからBoolean値を取得します。 |
function rule() {
// tgt is the routing address to be returned
var tgt=new TargetService();
tgt.setEndpoint("proforXfault");
tgt.setInterface("http://www.payroll.org/payroll.wsdl","PayrollIFfault");
tgt.setService("http://www.payroll.org/payroll.wsdl","PayrollServicefault");
tgt.setOperation("http://www.payroll.org/payroll.wsdl","proforXfault_oper");
tgt.setMep("in-only");
//using Logger to output current ME’s information
Logger_finest(ME_service());
Logger_finest(ME_interface());
Logger_finest(ME_endpoint());
Logger_finest(ME_operation());
//using XPath
var h = NM_getXPath_Double("sum(//record[FName='Chris'])");
if (h>200) {
tgt.setEndpoint("transformEndpoint_fault_01");
tgt.setInterface("http://www.transformer.org/timecard.wsdl", "TimecardIF_fault_01");
tgt.setService("http://www.transformer.org/timecard.wsdl", "TimecardService_fault_01");
tgt.setOperation("http://www.transformer.org/timecard.wsdl", "transform_fault_01");
tgt.setMep("in-out");
}
else {
tgt.setEndpoint("filebc_01");
tgt.setInterface("http://www.filebc.org/timecard.wsdl", "TimecardIF_fault_01");
tgt.setService("http://www.filebc.org/timecard.wsdl", "TimecardService_fault_01");
tgt.setOperation("http://www.filebc.org/timecard.wsdl", "filebc_01");
tgt.setMep("in-out");
}
return tgt;
}
Chrisの労働時間200時間を越えた場合、SOAP
BCを通して外部のサービスへこの情報を送ります。200時間以内の場合、そのまま File BC へ転送し、保存されます。
XPathで指定する条件により In メッセージを送信する宛先を切り替えることができます。
$NormalizedMessage[name]/Content:(RealXPath) name: 参照するノーマライズメッセージの名前です。指定しない場合は in を参照します。 RealXPath: XPath1.0仕様に準拠するXPath式です。
$NormalizedMessage[name]/Property:(プロパティ名) name: 参照するノーマライズメッセージの名前です。指定しない場合は in を参照します。 プロパティ名: 参照するノーマライズメッセージのプロパティ名です。String型のプロパティのみサポートします。
$MessageExchange/Property:(プロパティ名) プロパティ名: 参照するメッセージエクスチェンジのプロパティ名です。String型のプロパティのみサポートします。
XPath1.0仕様に準拠する計算符号をサポートします。
加えて「match」という計算符号を独自に追加しており、正規表現計算を行うことができます。
下記は、「match」計算符号の書式です。
<xpath(※)> match <正規表現>
※:xpathの形式は、前述の[XPath式による条件の指定方式]に従います。
「match」の両辺は文字列型のみサポートします。
また、「match」の計算優先順位は他のどの計算符号よりも高くなります。
Memo
サポートするXPath仕様のバージョンは1.0です。
仕様の詳しい説明は「http://www.w3.org/TR/xpath/」を参照してください。