cancel
Showing results for 
Search instead for 
Did you mean: 

How to get Header for a webservice call in XML message

former_member201275
Active Contributor
0 Kudos

In the Enterprise Builder in External Defenitions, under the WSDL tab we have:

<xsd:schema xmlns:xsd="http://www.abcdefg/XMLSchema">

    <xsd:complexType name="TheDocumentRequestHeader">

       <xsd:sequence>

          <xsd:element name="PersonID" type="xsd:string" />

          <xsd:element name="PersonDateofBirth" type="xsd:string" />

       </xsd:sequence>

    </xsd:complexType>

</xsd:schema>

i would like to get these fields into the XML but all I get is the body?

In the Communicat

ion Channel I have the 'Do not use SOAP channel' unchecked. And in the Advanced Tab I have the following:

This is however not working.

All help greatly appreciated.

Accepted Solutions (1)

Accepted Solutions (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Glen,

Can you explain your scenario more? Checking the Do Not Use SOAP Envelope should already get you the whole envelope (Header + Body). The variable headers are part of the HTTP Headers that you can get but is not part of the envelope.

Regards,

Mark

former_member201275
Active Contributor
0 Kudos

Hi Mark,

Yes, this is what i had read, and what i have done i.e. tried checking and unchecking the 'Do not use SOAP envelope', yet it is not working and i don't understand why?

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Glen,

Can you paste a screenshot from SOAP UI here?

Regards,

Mark

former_member201275
Active Contributor
0 Kudos
markangelo_dihiansan
Active Contributor
0 Kudos

Hi Glen,

Thank you. Can you click the Raw tab for the request and paste it here?

Regards,

Mark

former_member201275
Active Contributor
0 Kudos

Thank you.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Glen,

I think you have to modify the wsdl to include the header or you can use java mapping to build the soap envelope. Right now in your case, the external definition is only displaying the header or the body as a separate message.

Regards,

Mark

Answers (3)

Answers (3)

asdasd_asdasd
Active Participant
0 Kudos

Please check this

iaki_vila
Active Contributor
0 Kudos

Hi Glen,

Check if your system is affected by this note 1470127 - Sender SOAP Adapter- Missing headers in DynamicConfiguration

Regards.

iaki_vila
Active Contributor
0 Kudos

Hi Glen,

Can't you get these values with a UDF dynamic configuration?:


DynamicConfigurationKey key = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/SOAP", "PersonID");

String value = conf.get(key);

If you set the check "Do Not Use SOAP envelope", you will have your SOAP header as PI payload, this is a less elegant way, but it should work.

Regards.