Skip to Content
0
Former Member
Dec 15, 2015 at 04:19 PM

How to access Header of a SOAP call in SDK?

133 Views

Dear community,

I want to access a SOAP web service from DHL via SDK in ByD. I uploaded and activated the WSDL and XSD files, I created the Communication System and Communication Arrangement and I can add content to the request.

Now the issue is, that the web service has 2 pieces of authentication. The regular username/password for the web service endpoint. This I provide in the Communication Arrangement. But in addition, I need to add 3 entries to the header of the request that will carry additional information about the user.

The request would in the end look like this:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cis="http://dhl.de/webservice/cisbase" xmlns:de="http://de.ws.intraship">
<soapenv:Header>
<cis:Authentification>
<cis:user>geschaeftskunden_api</cis:user>
<cis:signature>Dhl_ep_test1<cis:signature>
<cis:type>0</cis:type>
</cis:Authentification>
</soapenv:Header>
<soapenv:Body>
<de:CreateShipmentDDRequest>
<ShipmentOrder>
...
</ShipmentOrder>
</soapenv:Body>
</soapenv:Envelope>

My problem is now, how can I add the header fields? The web service definition in the ByD SDK seems to only grant access to the Body, starting with CreateShipmentDDRequest.
Is there any way to access the SOAP header before I send the request? And how would I do that?

Any help on this issue would be really appreciated.

Thanks a lot in advance,

stephan