cancel
Showing results for 
Search instead for 
Did you mean: 

custom SOAP Headers

Former Member
0 Kudos

Hi All,

Scenario is Proxy to SOAP sync scenario.

Need to construct custom headers as per requirement. Body will be passed with mapping. 

Actually the values inside SOAP Headers we can use axis libraries with Header Insertion handler to put values inside header part.

But these is a requirement that soap envelop values also needs to customised. Can some one please sahre input on how to achieve this....

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:elem="http://qhic.co.uk/common/internal/schema/2010/07/31/elements" xmlns:add="http://www.w3.org/2005/08/addressing"

xmlns:ns="http://qhic.co.uk/xxxx/messages/schema/verify/2012/12/08">

   <soapenv:Header>

      <qelem:AuthenticationHeader>

         <qelem:user>

            <qelem:identifier></qelem:identifier>

            <qelem:type></qelem:type>

         </qelem:user>

         <qelem:organisation>

            <qelem:identifier></qelem:identifier>

            <qelem:type></qelem:type>

         </qelem:organisation>       

      </qelem:AuthenticationHeader>

      <add:MessageID></add:MessageID>

      <add:Action></add:Action>

   </soapenv:Header>

<soapenv:Body>

</soapenv:Body>

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Thanks for all replies with options..

Now the update in logic is SOAP Response message will also have  additional security nodes and need to validate in Pi to get the response message back.

I am thinking of using AXIS adapter modules. BUt not sure how to handle response security headers.

Any ideas on how to handle response with AXIS Parameters.

Thanks.

iaki_vila
Active Contributor
0 Kudos

Hi Jan,

Another alternative is to use a XSL mapping to construct your tags manually. Later, you should check  "Do not use SOAP envelope" in the SOAP receiver channel, because you have introduced them in the XSL-mapping.

Regards.

Former Member
0 Kudos

HI Jan,

you can achieve this by the follwing steps, but it need some manual effort

1. Export the present output structure from message mapping as XSD

2. Add the SOAP Envelope header just below of "<?xml version="1.0" encoding="UTF-8"?>"

    as shown below

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:elem="http://qhic.co.uk/common/internal/schema/2010/07/31/elements"

xmlns:add="http://www.w3.org/2005/08/addressing"

xmlns:ns="http://qhic.co.uk/xxxx/messages/schema/verify/2012/12/08">

   <soapenv:Header>

3. Save it with ".xsd" extension

4. Now go to message mapping and in receiver side select "'Select message" option and

and selct "Import ZML or XSD". Import your modified XSD.

you wil get the desired structure.

please let me know if you face any issues.

Former Member
0 Kudos

this looks an intresting option...

but i am already using external defintion on target side part of wsdl....

Harish
Active Contributor
0 Kudos

Hi Jan,

Please check below blog