© Copyright International Business Machines Corporation 2005. All rights reserved.
(C) Copyright IBM Japan 2006
このリリース情報ファイルには、WebSphereR Integration Developer テスト・クライアントの制限および既知の問題と次善策に関する最新情報が記載されています。
統合テスト・クライアントは、そのフィールドごとに引数ゼロのコンストラクターおよび適切な get/set メソッドを割り当てるために、メソッド・シグニチャー内の引数である Java クラスを必要とします。
統合テスト・クライアントは、 すべてのアプリケーション・トランザクションのスコープ外で実行するため、 トランザクションには参加しません。 したがって、トランザクション・ロールバックのエミュレートに対するサポートはありません。
統合テスト・クライアントは、サーバーがまだ始動していない場合、 テストを呼び出す前に WebSphereR Process Server 6.0 を始動します。
このとき、サーバーをデバッグ・モードで始動するか、 通常のモードで始動するかを選択することができます。 デバッグ・モードを選択すると、テスト・クライアントは、 サーバーが完全に初期化される前にテストを呼び出すことがあります。 後続の呼び出しは適切に実行されます。
この問題を回避するには、テストが最初に失敗した場合はテストを再実行するか、 テストを呼び出す前にサーバーを始動してください。
統合テスト・クライアントでは、 コンポーネントの呼び出しは同期呼び出しスタイルを使用してのみ行うことができます。
大部分のコンポーネントでは、問題ありません。 これは、コンポーネントが非同期呼び出しスタイルのみをサポートしている場合でも、 基礎となる SCA アーキテクチャーが同期呼び出しを非同期呼び出しに変換するためです。 ただし、コンポーネントが両方の呼び出しスタイルをサポートしていて、 呼び出しスタイルに応じて異なるコード・パスを持っていることがあります。
両方のコード・パスをテストすることができます。 この場合は、非同期呼び出しを実行して、統合テスト・クライアントを使用してコンポーネントを呼び出す JavaR コンポーネントを作成するか、JSP ページなどの別のクライアントを使用して、 コンポーネントを非同期的に呼び出すことができます。
SOAP エンコードの配列を使用してデータを指定するコンポーネントを呼び出すために、 テスト・クライアントを使用することはできません。
XSD Snippet の例:
..
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType"
wsdl:arrayType="typens:ResultElement[]" />
</xsd:restriction>
..
この問題を回避するには、サービスを呼び出す JavaR コンポーネントを作成してください。 これで、テスト・クライアントを使用して Java コンポーネントを呼び出すことができます。
統合テスト・クライアントを使用してメディエーション・モジュールをテストする前に、 すべてのメディエーション・フロー・コンポーネント参照がワイヤリングされ、 すべてのインポートがバインディングされている必要があります。 このようになっていない場合、コンポーネントが呼び出されたときに次のような例外が生成されます。
Caused by: org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=0, size=0
at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java(Compiled Code))
at com.ibm.ws.sibx.mediation.flowaction.impl.sca.FlowActionFactoryImpl.getWire(FlowActionFactoryImpl.java:923)
at com.ibm.ws.sibx.mediation.flowaction.impl.sca.FlowActionFactoryImpl.createRequestSCAFromSMO(FlowActionFactoryImpl.java:854)
at com.ibm.ws.sibx.mediation.flowaction.impl.sca.SCAInvocationAction.invokeSync(SCAInvocationAction.java:343)
at com.ibm.ws.sibx.mediation.flowaction.impl.sca.SyncInvocation.complete(SyncInvocation.java:122)
at com.ibm.ws.sibx.mediation.flowaction.impl.sca.FlowActionFactoryImpl.complete(FlowActionFactoryImpl.java:706)
at com.ibm.ws.sibx.mediation.flowaction.impl.sca.FlowActionFactoryImpl.create(FlowActionFactoryImpl.java:393)
at com.ibm.ws.sibx.scax.mediation.engine.SCACalloutElement.invoke(SCACalloutElement.java:134)
at com.ibm.ws.sibx.scax.mediation.engine.MediationPrimitive.invokeConnections(MediationPrimitive.java:242)
at com.ibm.ws.sibx.scax.mediation.engine.Input.invoke(Input.java:125)
at com.ibm.ws.sibx.scax.mediation.engine.RequestFlow.invokeFlow(RequestFlow.java:123)
at com.ibm.ws.sibx.scax.mediation.engine.MediationFlow.invokeRequestFlow(MediationFlow.java:112)
at com.ibm.wsspi.sibx.mediation.flow.ejb.MediationFlowBean.invokeRequestFlow(MediationFlowBean.java:189)
... 53 more