Existem algumas limitações envolvidas no processo de migração de artefatos de origem do WebSphere Studio Application Developer Integration Edition.
getMyInputVariable() getMyInputVariable(false) getVariableAsWSIFMessage(“MyInputVariable”) getVariableAsWSIFMessage(“MyInputVariable”, false)A seguir estão duas maneiras em que uma variável BPEL poderia ser acessada como de "leitura/gravação" em qualquer snippet Java de BPEL 5.1:
getMyInputVariable(true) getVariableAsWSIFMessage(“MyInputVariable”, true)Na 6.0, o acesso de leitura e de leitura/gravação a variáveis BPEL é manipulado em uma "base por snippet", indicando que é possível incluir um comentário especial no snippet Java de BPEL para especificar se as atualizações na variável BPEL devem ser descartadas ou mantidas após a conclusão da execução do snippet. A seguir estão as configurações de acesso padrão para os tipos de snippet Java de BPEL 6.0:
Atividade de Snippet Java de BPEL Acesso Padrão: leitura/gravação Substituir Acesso Padrão pelo comentário contendo: @bpe.readOnlyVariables names="variableA,variableB" Expressão de Snippet Java de BPEL (Utilizada em um Tempo Limite, Condição, etc) Acesso Padrão: de leitura Substituir Acesso Padrão pelo comentário contendo: @bpe.readWriteVariables names="variableA,variableB"Durante a migração, estes comentários serão criados automaticamente quando uma variável tiver sido acessada de uma maneira que não seja o padrão no 6.0. No caso de haver um conflito (indicando que a variável BPEL foi acessada como "de leitura" e como "leitura/gravação" no mesmo snippet), será emitido um aviso e o acesso será configurado como "leitura/gravação". Se você receber algum desses avisos, certifique-se de que a configuração do acesso à variável BPEL como de "leitura/gravação" esteja correta para sua situação. Se ela não estiver correta, será necessário corrigi-la manualmente utilizando o editor BPEL do WebSphere Integration Developer.
MyProperty myProp = new MyProperty(); InputMessageMessage myMsg = new InputMessageMessage(); myMsg.setMyProperty(myProp);Na 6.0, uma classe de depósito de informações do provedor especial deve ser utilizada para instanciar estes tipos ou uma instância do tipo de abrangência pode ser utilizada para criar o subtipo. Se uma variável de processo BPEL InputVariable tiver sido definida como tendo o tipo InputMessage, a versão 6.0 do snippet precedente será:
com.ibm.websphere.bo.BOFactory boFactory= (com.ibm.websphere.bo.BOFactory) com.ibm.websphere.sca.ServiceManager.INSTANCE.locateService( “com/ibm/websphere/bo/BOFactory”); commonj.sdo.DataObject myMsg = boFactory.createByType(getVariableType(“InputVariable”)); commonj.sdo.DataObject myProp = myMsg.createDataObject(“MyProperty”);O conversor de snippet tenta fazer esta alteração mas, se a ordem em que ocorrem as instanciações originais não seguir o padrão parent-then-child, a migração manual será requerida (ou seja, o conversor não tenta reordenar de maneira inteligente as instruções de instanciação no snippet).
http://wsaddressing.bpel.srm.websphere.ibm.comTais referências serão migradas para o tipo de elemento service-ref padrão a partir do espaço de nomes do processo de negócios padrão:
http://schemas.xmlsoap.org/ws/2004/03/business-process/
http://schemas.xmlsoap.org/ws/2004/08/addressingConsulte a documentação do BPEL Editor para obter instruções sobre a importação manual dessas definições de esquema para o seu projeto a fim de que todas as referências sejam resolvidas adequadamente.