You can write Java custom handlers to invoke the service endpoints in BPEL processes.
Process Server's standard invocation framework works with the standard deployment of a BPEL process. In this scenario, a service endpoint is identified in the process deployment descriptor (PDD) with standard Partner Role attributes. To invoke the endpoint, Process Server uses its internal Web service framework based on Metro, the Apache SOAP engine. Metro marshals the data from a data structure into a SOAP message and sends the SOAP message to the service endpoint.
Instead of using the standard framework, you can implement a custom invoke handler to bypass the creation and transport of SOAP messages over Metro. This means that when an invoke activity executes, you can route the outbound message directly to a service.
A custom invoke handler is a Java class or EJB container loaded by Process Server that calls out to a Partner Role service endpoint when the service is invoked within a BPEL process. The handler implements the Process Server engine's custom invocation interface,
. The BPEL process' deployment descriptor contains a custom invoke handler attribute for the partner role service.
For example, you may want to:
Provide a more efficient technique for sending and receiving messages between processes and services on the same machine. You can create Java objects rather than SOAP messages.
Provide messaging to an application that is not exposed as a Web service
Take advantage of your own SOAP engine
The following illustration shows an overview of the custom and standard invocations of Partner Role service endpoints.