While trying to call two business service using Split Join in osb i am getting selection failure message in Bpel em console. i am using invoke activity to invoke the BS and assign to assign the input. in the assign i am assigning *$request.payload/input* to input.payload . In the em console i am getting input like this receiveInput
Jun 19, 2012 5:05:45 PM Received "process" call from partner "bpelprocess1_client"
</inputVariable> Assign (pending)
Jun 19, 2012 5:05:48 PM Error in evaluate <from> expression at line "65". The result is empty for the XPath expression : "/client:process/client:input".
Jun 19, 2012 5:05:48 PM The following exception occurred while attempting to execute operation copy at line 63
Jun 19, 2012 5:05:57 PM "BPELFault" has not been caught by a catch block.
Jun 19, 2012 5:06:00 PM The transaction was rolled back. The work performed for bpel instance "650002" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.
Can anyone help on this?
Thanks in Advance...
The Xpath seems correct. Can you double check if the namespace is correct?
I assume that you are using an assign. This is sometimes difficult to debug. I suggest adding a transformation and see if this works. Make sure you test this first local at design time.
Hopefully this should give you more clues why the assign is not working.
I have created a sample split join for you with a similar use case what you were trying, before the invoke activity with which you invoke a Business Service, drop an Assign activity Assign Action and write the body payload in the expression field and in the variable field i have selected my Invoke activity Input variable which is InvokeInput.payload.
The Body payload i have pasted in the expression field looks like...
Hope this helps,
i am getting only one BS output in the response how to get two BS output in response. my response is looking like this
can u help on this?
thanks in advance...
maybe this one helps a bit, it's the same pattern
if you're using a dynamic split join easiest way is to do something like
assing <yourresponse/> to $response
at this moment your assign an empty placeholder to the response variable
now you go into the for-each looping and for each iteration you need to insert the response of your bpel call in the $response variable
so in the looping as last step you add something like
insert $mybpelresponse/rootelement into $response/yourresponse
with the insert it will insert the reponse 1..x times into the $response variable (so actually aggregating all the responses for you)