ERP コネクタのカスタマイズの例
配布ターゲットとしての JMS キューの使用
このためには以下の手順を実行する必要があります。
1. 「タイプおよび属性の管理」 UI を使用して、JMS キュータイプの配布ターゲットを表す ESITarget のソフト拡張を作成します。これには、配布ターゲットノード上で右マウスボタンをクリックすると表示される「新規サブタイプ」オプションを使用します。
* 
ソフト拡張を作成する際には、Instantiable プロパティが Yes に設定されていることを確認します。
2. 「グローバル属性を管理」 UI の「ESI」 > 「配布ターゲット」の下に新規オーガナイザー (JMS_Queue など) を追加して、(1) で作成した新規ソフト拡張の属性を定義します。queueName、priority などの必要な属性を追加します。
3. 「属性」タブの「新規属性を作成」オプションを使用して、(2) で定義した属性をソフト拡張に関連付けます。
4. XSL DB User、XSL Parameters、XSLPassword、XSL URL などの XSL 固有の属性もソフト拡張に関連付けます。これらは「ESI」 > 「配布ターゲット」 > 「XSL」の下にグローバル属性として表示されます。
5. 「レイアウト」タブで、選択したレイアウト (「作成」/「編集」ページなど) に必要な属性を追加します。
6. 応答データを JMS キューに送信する I*E タスクを作成します。このようなタスクを作成する際に役立つ情報を以降のセクションで提供しています。JMS キューに ESI 応答を送信するサンプル I*E タスクのセクションで示されているサンプルタスクも参照してください。
7. 「配布を管理」 UI を使用してソフト拡張のインスタンスを作成し、その属性 queueName と priority を必要な値に設定します。taskURI 属性を、(6) で作成した I*E タスクに設定し、必要に応じてその他の属性を設定します。
8. (7) で作成した配布ターゲットインスタンスをビジネスオブジェクト (部品など) に関連付けてリリースします。
* 
サンプルタスクは、指定されたキューに ESI 応答メッセージを ESI XML フォーマットで送信します。また、「タイプおよび属性の管理」 UI の詳細については、Windchill Customizer's Guide およびオンラインヘルプを参照してください。
役立つ情報
JMS キューに ESI 応答を送信するサンプル I*E タスクのセクションで示されているサンプルタスクは <Windchill>/tasks/com/ptc/windchill/esi/examples/ExportToJMS.xml にあり、Create-Object という I*E メッセージ Webject を使用します。この Webject はコンテンツを引数としてとり、指定された JMS キューにこれを送信します。
* 
Create-Object Webject およびこれが機能するために必要な関連設定の詳細については、Windchill Info*Engine User's Guide を参照してください。
Webject パラメータ:
パラメータ: QUEUE
説明: メッセージの送信先となるキューの名前
パラメータ: PRIORITY
説明: メッセージの整数優先度を指定します
デフォルト値: 4
パラメータ: TYPE
説明: 作成するメッセージのタイプを設定します
デフォルト値: TextMessage
パラメータ: PUT_STRING
説明: キューに送信されるデータコンテンツ
パラメータ: GROUP_OUT
説明: 出力グループの名前
デフォルト値: output
サンプルタスクは、基本的には以下の処理を行います。
* 
タスクに渡される入力パラメータについては、「コンフィギュレーション可能なオプション」セクションを参照してください。
1. target パラメータから取得した ESITarget オブジェクトに対して getSoftAttribute() API を呼び出すことで、渡された配布ターゲットの属性 queueName および priority をフェッチします。フェッチした値を使用して、パラメータ QUEUE および PRIORITY をタスクに追加します。
2. getVdb().toXML() を呼び出して、配信するコンテンツを取得します。
3. 配布ターゲットから XSL 関連属性をフェッチし、これらの属性が設定されている場合、com.ptc.windchill.esi.lite.util.XSLTransformer の applyXSL() API を使用して、(2) で取得したコンテンツを変換します。
4. 手順 (1) から (3) が正常に完了し、ERP コネクタプリファレンス Enable Response Cache の値が Yes に設定されている場合、プリファレンス ESI Response Cache Location で指定されている場所に応答データのコピーを作成します。
5. 上記の手順がすべて正常に完了した場合、(3) でフェッチした値を使用して、パラメータ CONTENT をタスクに追加します。Create-Object Webject が呼び出され、そのパラメータに関連する値が渡されます。Webject が正常に実行され、ERP コネクタプリファレンス Enable Post Result の値が Yes に設定されている場合、
<Windchill>/tasks/com/ptc/windchill/esi/export/ParseAndProcessResult.xml 内のタスクが呼び出されます。タスクに渡される入力パラメータについては、「ParseAndProcessResult」セクションを参照してください。
* 
手順 (1) から (3) のいずれかでエラーが発生した場合、手順 (4) は実行されません。代わりに、ParseAndProcessResult.xml 内のタスクが呼び出され、「失敗」トランザクションステータスが Windchill で記録されます。
これは役に立ちましたか?