JDEV Version: 11.1.1.4
Bug 12541901 - JDEV SETS INCORRECT BPELX:HEADERVARIABLE INSTEAD OF BPELX:INPUTHEADERVARIABLE
Solution: JDEV PATCH 12541901 (Download through Metalink).
Receiving and Sending of SOAP Header from a BPEL Component is done as below:
Create a BPEL variable of type string, to be received and passed through SOAP Header.
If we want to pass a Complex data through SOAP then we have to have the corresponding schema for that.
SOAP Header Variable to be used in BPEL could be SimpleType, MessageType or ElementType.
For BPEL we need not to have SOAP Header explicitly defined in WSDL.
For Mediator we need to define the SOAP Header Explicitly in WSDL.
For better understanding on defining SOAP Header in WSDL -
http://www.ibm.com/developerworks/xml/library/ws-tip-headers/index.html.
Receiving SOAP Header in BPEL:
In our SOAP BPEL – Receive Activity

This activity code looks like:

This BPEL is ready to read in the SOAP Header into variable gvarSOAPETHHeader.
Sending SOAP Header from a BPEL:
In Invoke Activity of BPEL under Header tab:

This activity code comes out as:

Above is wrong, it’s a JDEV BUG. It should be setting bpelx:inputHeaderVariable=”gvar...” instead of what we have above. Now we need to go to source and manually change it to:

Oracle identified it as a BUG(12541901) and has released a PATCH for JDEV: patch 12541901
Did the same steps as above.
ReplyDeletePlease guide how to check in the BPEL instance flow whether the header value was passed successfully or not.
The above stated process is not working. There is no error but the header values are not being passed.
ReplyDeleteYou need to import the xsd (which contains the header type) into the wsdl of your bpel.
ReplyDelete