JP1/Automatic Job Management System 3 - SOA Option Webシステム呼び出し機能編
ここでは,複合型の場合について説明します。
標準WSジョブで複合型を利用するには,次の流れで入力パラメーターを設定します。
標準WSジョブが実行されると,XML文書がSOAPメッセージに変換され,入力パラメーターがWebサービスへ送信されます。
ここでは,次のWSDLに対応するXML文書の作成例を紹介します。
WSDLでは,オペレーションarrangeItemの入力メッセージのスキーマ定義は,「arrangeItem」という名前のelement要素で定義されています。
「arrangeItem」のスキーマ定義に従ったXML文書は次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<ars:arrangeItem xmlns:ars="http://sample/ArrangementService"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ars:Item>
<ars:name>電子レンジ</ars:name>
<ars:item-id>ITEM001</ars:item-id>
<ars:price>20000</ars:price>
</ars:Item>
<ars:Quantity>1</ars:Quantity>
</ars:arrangeItem>
|
XML文書に,JP1/AJSで実行された先行ジョブの引き継ぎ情報(マクロ変数名)を指定することができます。マクロ変数名は,標準WSジョブの実行時に引き継ぎ情報の値に置換されます。
マクロ変数を使用することで,オペレーションの入力パラメーターの内容を自動的に変更し,Webサービスを呼び出すことができます。
マクロ変数の指定方法は,「?AJS2xxxx?」の形式です。
マクロ変数を使用したXML文書の記述例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<ars:arrangeItem xmlns:ars="http://sample/ArrangementService"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ars:Item>
<ars:name>?AJS2VALUE1?</ars:name>
<ars:item-id>ITEM001</ars:item-id>
<ars:price>20000</ars:price>
</ars:Item>
<ars:Quantity>1</ars:Quantity>
</ars:arrangeItem>
|
例では,<name>要素に「?AJS2VALUE1?」を指定しています。この場合,標準ジョブを実行したときに,「?AJS2VALUE1?」の内容がジョブ登録時の引き継ぎ情報で指定された値に置換されます。
引き継ぎ情報に指定していないマクロ変数名をXML文書に指定した場合や,引き継ぎ情報の値がない場合,値は置換されないで「?AJS2xxxx?」という文字列のままWebサービスの入力パラメーターとして使用されます。
XML文書には,サイズの制限があります。ここでは,適切なサイズの計算方法,および計算例を説明します。
XML文書のサイズは,次の計算式を満たす必要があります。
XML文書サイズ < 20,479 - (WSDLファイル名の長さ + オペレーション名の長さ+ WSDLファイル名の長さ (WSジョブ実行ホスト名の長さ) ※1 + 認証情報設定ファイル名の長さ※2 + WebサービスロケーションURL※3 + オペレーションのSOAPAction値の長さ※4 + XML文書ファイル名の長さ + 出力パラメーターXMLファイル名の長さ※5 + 200) |
計算式について説明します。
XML文書のサイズを,右辺の計算式で算出したサイズ未満に抑えます。例えば,ファイル名の長さ,XML文書のサイズなどを調節して抑えます。
なお,XML文書にマルチバイト文字を使用する場合は,XML文書サイズをXML文書の文字数より大きめの値で見積もることをお勧めします。全角文字などのマルチバイト文字のバイト数は,WSジョブ実行ホストが稼働するホストの文字コード体系によって異なるためです。
次の内容で標準WSジョブを定義するものとして,XML文書のサイズを計算します(括弧内の数値はバイト数を示します)。
<?xml version="1.0" encoding="UTF-8"?>
<ars:arrangeItem xmlns:ars="http://sample/ArrangementService"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ars:Item>
<ars:name>電子レンジ</ars:name>
<ars:item-id>ITEM001</ars:item-id>
<ars:price>20000</ars:price>
</ars:Item>
<ars:Quantity>1</ars:Quantity>
</ars:arrangeItem>
|
以上,項番2〜10のサイズを「(a) XML文書サイズの計算方法」で説明した計算式に代入します。
316 < 20,479 - (21 + 11 + 0 + 18 + 57 + 15 + 19 + 0 + 200) = 20,138
右辺の値は20,138で計算式が成立しています。したがって,XML文書のサイズは適切であるといえます。
Copyright (C) 2012,Hitachi, Ltd.
Copyright (C) 2012,Hitachi Solutions, Ltd.