Pages - Menu

lunes, marzo 23, 2009

Llamando al API del Worklist de Oracle BPEL PM sobre Weblogic Server 9.2

Es normal tener la necesidad de construir ya sea una Worklist customizada para Oracle BPEL PM, o bien alguna aplicación cliente que necesite consultar datos de la Worklist, por ejemplo:
* Tareas asignadas a un usuario en específico
* Poder aprobar, rechazar una tarea desde afuera de la Worklist
* Cantidad de Tareas que tengan algún Título en específico
* Generar una Tarea de manera remota,
* etc

Bien, si todo está montado sobre Oracle AS, no hay necesidad de hacer ninguna modificación a las clases que ocupas para construir una aplicación cliente de la Worklist (aquí mas datos ).

El tema está en ocupar por ejemplo:

* Una aplicación construida con Webcenter Framework, sobre Oracle AS
* Oracle BPEL PM Worklist sobre WLS 9.2

La aplicación se puede construir tal como se especifica en el link antes mencionado, de ahí hay 2 alternativas para hacer llamadas remotas a la API del Worklist:

a) REMOTE_CLIENT. Básicamente haciendo uso de EJBs
b) SOAP_CLIENT. A través de llamadas con WS

Si se hace uso de la primera opción, se tendrá un problema de look-up de JNDI similar a :
<::> Error in invoking task query service operation.<::> A client side error occured in invoking the task query service operation TaskQueryService.<::> Please check the exception error stack to identify the error. Contact oracle support if error is not fixable.

Para resolverlo, se tiene que hacer lo siguiente:
Modificar el archivo META-INF/weblogic-ejb-jar.xml en el jar hw_services_ejb.jar:
De ejb/bpel/services/workflow/TaskQueryService
a
TaskQueryService

con ésto ya el JNDI lookup resolverá bien el nombre el objeto y hará la llamada.

No hay comentarios:

Publicar un comentario