Tuesday, July 19, 2011

More on Oracle Service Bus Split Join

Unsurprisingly Split Join use some BPEL constructs:

xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"

bpel:partnerLinks
bpel:variables
bpel:sequence
bpel:receive
and bpel:flow to implement the parallel execution of branches

In fact I can't wait to see the BPEL engine of SOA Suite seamlessly merged into the Oracle Service Bus.




Funny thing is that a SplitJoin is defined only for 1 operation on a target service, but the Business Service you originate from it exposes ALL operations n the WSDL. If by mistake you invoke the wrong operation, you get:

The invocation resulted in an error: Split-Join is configured for operation "bla" but received request for operation "mumble". Make sure the correct operation is selected in route, publish or service callout actions in the proxy message Split-Join..


And unlike in the traditional OSB where you can access a uninitialized variable without getting any error, in BPEL if you forget to assign a value to response you get

[BEA-2031518] Variable 'response' is being referenced before it has been initialized with a value.

No comments: