I'm working on a BPEL process that includes an email service, and is generally kicked off by an AQ Adapter. The composite pulls email addresses from a DVM lookup and from the content returned by a service invoke.
My code that assigns the email addresses looks something like this:
concat(bpws:getVariableData('EmailVariable'),',',bpws:getVariableData('ServiceOutputVariable, 'ServiceVariablePart','Email')
Where "EmailVariable," is two comma separated addresses and "Email," is a single email address
When BPEL is called via the AQ Adapter, the "to" line of the email comes back as EmailA,EmailBEmailC.
When I wired it to a file adapter for debugging, though, the "to" line reads "EmailA,EmailB,EmailC" (The desired result, obviously).
The only thing that changed from the AQ adapter version to the File Adapter version is the source of the kickoff value.
What could be causing this inconsistent behavior?
Obvious first question is have you posted this in the Oracle SOA forum or searched oracle.support to see if it is a bug? Anyway, put a mediator between the AQ interface and BPEL and have the mediator resolve the issue, through data transformation, which is its purpose in the first place and best practice design pattern: isolate your service implementation from the service interface.