© 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.
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.
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.
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.
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.
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.
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.
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