© Direitos Autorais International Business Machines Corporation 2005. Todos os direitos reservados. Direitos Restritos aos Usuários do Governo dos Estados Unidos - Uso, duplicação ou divulgação restritos pelo documento GSA ADP Schedule Contract com a IBM Corp.
Este arquivo de notas sobre o release contém as informações mais recentes sobre limitações, problemas conhecidos e soluções alternativas para o cliente de teste do WebSphereR Integration Developer.
O cliente de teste de integração requer que classes Java, que são argumentos em assinaturas de métodos, possuam um construtor de argumentos zero, bem como os métodos get/set apropriados para cada um de seus campos.
O cliente de teste de integração executa fora do escopo de quaisquer transações de aplicativo e assim não participa em transações. Portanto, não existe suporte para emulação de rollbacks de transações.
O cliente de teste de integração iniciará o WebSphereR Process Server 6.0 antes de chamar o teste, caso o servidor ainda não tenha sido iniciado.
Nesse ponto, você poderá optar por iniciar o servidor no modo de depuração ou modo normal. Se o modo de depuração for escolhido, o cliente de teste poderá chamar o teste antes do servidor ser completamente inicializado. As chamadas subseqüentes serão executadas corretamente.
Para utilizar uma solução alternativa para este problema, execute o teste novamente se ele falhar da primeira vez ou iniciar o servidor antes de chamar o teste.
O cliente de teste de integração permite apenas que um componente seja chamado utilizando o estilo de chamada síncrona.
Para a maioria dos componentes isto não trará nenhum problema, mesmo se o componente suportar apenas o estilo de chamada assíncrona, pois a arquitetura converterá a chama síncrona para uma chamada assíncrona. Mas um componente poderia suportar ambos os estilos de chamada e poderia ter diferentes caminhos de código dependendo do estilo de chamada.
Recomenda-se testar ambos os caminhos de código. Neste caso, você poderá criar um componente JavaR que realize a chamada assíncrona e chame esse componente utilizando o cliente de teste de integração ou poderá utilizar outro cliente como página JSP para chamar o componente de maneira assíncrona.
O cliente de teste não pode ser utilizado para chamar componentes que especifiquem dados utilizando matrizes codificadas por SOAP.
Exemplo de snippet XSD:
..
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType"
wsdl:arrayType="typens:ResultElement[]" />
</xsd:restriction>
..
Para solucionar este problema de maneira alternativa, crie um componente JavaR para chamar o serviço. O cliente de teste poderá então ser utilizado para chamar o componente Java.
Antes de testar um módulo de mediação utilizando o Cliente de Teste de Integração, todas as referências do componente de fluxo de mediação devem estar conectados e todas as importações devem ter uma ligação. Se esses itens não estiverem presentes, exceções como as apresentadas a seguir serão geradas quando o componente for chamado:
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