テスト・クライアントのリリース情報

© Copyright International Business Machines Corporation 2005. All rights reserved.
(C) Copyright IBM Japan 2006

リリース情報

1.0 説明
2.0 制限事項
   2.1 統合テスト・クライアントが、引数ゼロのコンストラクターを備えるために Java(TM) クラスを必要とする
   2.2 トランザクションおよび統合テスト・クライアント
3.0 既知の問題と次善策
   3.1 デバッガーが、テスト・クライアントからの最初の呼び出し時に初期化を行わないことがある
   3.2 非同期呼び出しスタイルが直接的にはサポートされない
   3.3 SOAP エンコードの配列型が呼び出しでサポートされない
   3.4 メディエーション・モジュールはテスト前に完了している必要がある

1.0 説明

このリリース情報ファイルには、WebSphereR Integration Developer テスト・クライアントの制限および既知の問題と次善策に関する最新情報が記載されています。

2.0 制限事項

2.1 統合テスト・クライアントが、引数ゼロのコンストラクターを備えるために Java(TM) クラスを必要とする

統合テスト・クライアントは、そのフィールドごとに引数ゼロのコンストラクターおよび適切な get/set メソッドを割り当てるために、メソッド・シグニチャー内の引数である Java クラスを必要とします。

2.2 トランザクションおよび統合テスト・クライアント

統合テスト・クライアントは、 すべてのアプリケーション・トランザクションのスコープ外で実行するため、 トランザクションには参加しません。 したがって、トランザクション・ロールバックのエミュレートに対するサポートはありません。

3.0 既知の問題と次善策

3.1 デバッガーが、テスト・クライアントからの最初の呼び出し時に初期化を行わないことがある

統合テスト・クライアントは、サーバーがまだ始動していない場合、 テストを呼び出す前に WebSphereR Process Server 6.0 を始動します。

このとき、サーバーをデバッグ・モードで始動するか、 通常のモードで始動するかを選択することができます。 デバッグ・モードを選択すると、テスト・クライアントは、 サーバーが完全に初期化される前にテストを呼び出すことがあります。 後続の呼び出しは適切に実行されます。

この問題を回避するには、テストが最初に失敗した場合はテストを再実行するか、 テストを呼び出す前にサーバーを始動してください。

3.2 非同期呼び出しスタイルが直接的にはサポートされない

統合テスト・クライアントでは、 コンポーネントの呼び出しは同期呼び出しスタイルを使用してのみ行うことができます。

大部分のコンポーネントでは、問題ありません。 これは、コンポーネントが非同期呼び出しスタイルのみをサポートしている場合でも、 基礎となる SCA アーキテクチャーが同期呼び出しを非同期呼び出しに変換するためです。 ただし、コンポーネントが両方の呼び出しスタイルをサポートしていて、 呼び出しスタイルに応じて異なるコード・パスを持っていることがあります。

両方のコード・パスをテストすることができます。 この場合は、非同期呼び出しを実行して、統合テスト・クライアントを使用してコンポーネントを呼び出す JavaR コンポーネントを作成するか、JSP ページなどの別のクライアントを使用して、 コンポーネントを非同期的に呼び出すことができます。

3.3 SOAP エンコードの配列型が呼び出しでサポートされない

SOAP エンコードの配列を使用してデータを指定するコンポーネントを呼び出すために、 テスト・クライアントを使用することはできません。

XSD Snippet の例:

..
<xsd:restriction base="soapenc:Array">
                        <xsd:attribute ref="soapenc:arrayType"
                            wsdl:arrayType="typens:ResultElement[]" />
  </xsd:restriction>

..

この問題を回避するには、サービスを呼び出す JavaR コンポーネントを作成してください。 これで、テスト・クライアントを使用して Java コンポーネントを呼び出すことができます。

3.4 メディエーション・モジュールはテスト前に完了している必要がある

統合テスト・クライアントを使用してメディエーション・モジュールをテストする前に、 すべてのメディエーション・フロー・コンポーネント参照がワイヤリングされ、 すべてのインポートがバインディングされている必要があります。 このようになっていない場合、コンポーネントが呼び出されたときに次のような例外が生成されます。 

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