Existe una serie de limitaciones en el proceso de migración de artefactos origen de WebSphere Studio Application Developer Integration Edition.
getMyInputVariable() getMyInputVariable(false) getVariableAsWSIFMessage(“MyInputVariable”) getVariableAsWSIFMessage(“MyInputVariable”, false)A continuación se indican las dos formas de acceder a una variable BPEL como de "lectura_escritura" en cualquier fragmento de código Java de BPEL 5.1:
getMyInputVariable(true) getVariableAsWSIFMessage(“MyInputVariable”, true)En la versión 6.0, el acceso de sólo lectura y de lectura-escritura a las variables BPEL se maneja "en función del fragmento de código", lo que significa que puede añadir un comentario especial al fragmento de código Java de BPEL para especificar si las actualizaciones de la variable BPEL deben descartarse o conservarse una vez finalizada la ejecución del fragmento de código. Estos son los valores de acceso por omisión para los tipos de fragmentos de código Java de BPEL 6.0:
Actividad de fragmento de código Java de BPEL Acceso por omisión: lectura-escritura Alterar temporalmente el acceso por omisión con un comentario que contenga: @bpe.readOnlyVariables names="variableA,variableB" Expresión de fragmento de código Java de BPEL (utilizada en un tiempo de espera, condición, etc.) Acceso por omisión: sólo lectura Alterar temporalmente el acceso por omisión con un comentario que contenga: @bpe.readWriteVariables names="variableA,variableB"Durante la migración, estos comentarios se crearán automáticamente cuando se haya accedido a una variable mediante un procedimiento que no sea por omisión en 6.0. En caso de que exista un conflicto (es decir, que se haya accedido a la variable BPEL como "sólo lectura" y como "lectura-escritura" en el mismo fragmento de código), se emitirá un aviso y el acceso se establecerá en "lectura-escritura". Si recibe avisos de este tipo, asegúrese de que establecer el acceso de la variable BPEL en "lectura-escritura" sea correcto en su situación. Si no es correcto, debe corregirlo manualmente mediante el editor BPEL de WebSphere Integration Developer.
MyProperty myProp = new MyProperty(); InputMessageMessage myMsg = new InputMessageMessage(); myMsg.setMyProperty(myProp);En 6.0, debe utilizarse una clase de fábrica especial para instanciar estos tipos, o puede emplearse una instancia del tipo continente para crear el subtipo. Si se ha definido una variable de proceso BPEL InputVariable con el tipo InputMessage, la versión 6.0 del fragmento de código anterior sería:
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”);El conversor de fragmentos de código intenta realizar este cambio, pero si el orden en que se realizan las instanciaciones originales no sigue el patrón de primero el padre y después el hijo deberá realizarse la migración manual (es decir, el conversor no intenta reordenar de manera inteligente las sentencias de instanciación del fragmento de código).
http://wsaddressing.bpel.srm.websphere.ibm.comTales referencias se migran al tipo de elemento service-ref estándar desde el espacio de nombres de proceso de negocio estándar:
http://schemas.xmlsoap.org/ws/2004/03/business-process/
http://schemas.xmlsoap.org/ws/2004/08/addressingConsulte la documentación del Editor BPEL para obtener instrucciones acerca de cómo importar manualmente estas definiciones de esquema en el proyecto para que todas las referencias se resuelvan adecuadamente.