Note sul rilascio - Client di test

© Copyright International Business Machines Corporation 2005. Tutti i diritti riservati. Limitazioni per gli utenti appartenenti al governo degli Stati Uniti d'America - L'utilizzo, la duplicazione o la divulgazione sono limitati dal supplemento GSA ADP al Contratto con l'IBM Corp.

Note sul rilascio

1.0 Descrizione
2.0 Limitazioni
   2.1 Il client del test di integrazione richiede le classi Java(TM) con un'utilità di creazione zero argument
   2.2 Transazioni e client del test di integrazione
3.0 Problemi noti e soluzioni alternative
   3.1 L'utilità di debug potrebbe non essere inizializzata al primo richiamo da un client di test
   3.2 Lo stile di richiamo asincrono non è direttamente supportato
   3.3 I tipi di matrice codificati SOAP non sono supportati per il richiamo
   3.4 Il modulo di mediazione deve essere completato prima del test

1.0 Descrizione

Questo file di note sul rilascio contiene informazioni aggiornate relative a limitazioni, problemi noti e soluzioni alternative per il client di test di WebSphereR Integration Developer.

2.0 Limitazioni

2.1 Il client di Integration test richiede che le classi Java(TM) dispongano di un'utilità di creazione zero argument

Il client di Integration test richiede che le classi Java, che sono argomenti in firme di metodo, dispongano di un programma di creazione zero argument oltre ai metodi get/set appropriati per ciascuno dei relativi campi.

2.2 Transazioni e client del test di integrazione

Il client di Integration test viene eseguito fuori dell'ambito delle transazioni applicazioni quindi non partecipa alle transazioni. Pertanto, non esiste supporto per l'emulazione dei rollback transazioni.

3.0 Problemi noti e soluzioni alternative

3.1 L'utilità di debug potrebbe non essere inizializzata al primo richiamo dal client di test

Il client di Integration test avvierà WebSphereR Process Server 6.0 prima di richiamare il test se il server non è già stato avviato.

A quel punto, è possibile scegliere di avviare il server in modalità debug o in modo regolare. Se si sceglie la modalità di debug,è possibile che il client di test richiami il test prima che il server venga inizializzato completamente. Le chiamata successive verranno eseguite in modo corretto.

Per risolvere il problema, eseguire di nuovo il test se inizialmente non ha avuto esito positivo oppure avviare il server prima di richiamare il test.

3.2 Stile di richiamo asincrono non direttamente supportato

Il client di Integration test non consente ad un componente di essere richiamato utilizzando lo stile di chiamata asincrona.

Per la maggior parte dei componenti, il problema non sussiste, anche se il componente supporta solo lo stile di chiamata asincrona, l'architettura SCA sottostante convertirà la chiamata sincrona in una asincrona. Ma è possibile che un componente supporto entrambi gli stili di chiamata e potrebbe disporre di diversi percorsi di codice a seconda dal tipo di chiamata.

E' possibile verificare entrambi i percorsi di codice. In tal caso, è possibile creare un componente JavaR che eseguirà una chiamata asincrona e richiamarlo utilizzando il client di Integration test oppure è possibile utilizzare un altro client come una pagina JSP per richiamare il componente in modo asincrono.

3.3 I tipi di matrice codificati SOAP non sono supportati per il richiamo

Impossibile utilizzare il client di test per richiamare componenti che specificano i dati utilizzando matrici codificate SOAP.

Frammento XSD di esempio:

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

..

Per aggirare il problema, creare un componente JavaR per richiamare il servizio. E' possibile utilizzare il client di test per richiamare il componente Java.

3.4 Il modulo di mediazione deve essere completo prima del test

Prima del test di un  modulo di mediazione che utilizza Integration Test Client, tutti i riferimento del componente del flusso di mediazione devono essere collegati e tutte le importazioni devono disporre di un bind.  Se tali requisiti non sono presenti, verranno generate delle eccezioni come la seguente quando viene richiamato il componente:

Causato da: 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