How to set request headers in SOAP request using NuSOAP toolkit

405 Views Asked by At

could anyone tell me how to add request headers for subscription keys in SOAP request. I am using NuSOAP toolkit for making SOAP calls. Setting keys for authorisation SOAP calls seems difficult for me. Unless I pass the subscription keys in request headers, I didn't get an access.

I tried:

$this->nusoap_client->setHeaders("<soapHeader xmlns='http://test.com/'>
    <Ocp-Apim-Subscription-Key>***mykey***</Ocp-Apim-Subscription-Key>
</soapHeader>");

but it adding keys to the soap header instead of request header.

Then I tried :

header("Ocp-Apim-Subscription-Key: ***mykey***");

but still no hope, its added to the response header now.

I am using $this->nusoap_client->call() for making SOAP call, and the response getting is

{ "statusCode": 401, "message": "Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API." }

thanks in advance.

1

There are 1 best solutions below

0
VishnuPrasad On

Well, I found a solution myself. Don't know if it is the right way or not! Anyway I would like to post my solution here, it may find useful to someone.

I solved this issue by modifying the nusoap library class file. Modified function soap_transport_http to set headers as:

$this->setHeader('Ocp-Apim-Subscription-Key', '***myKey***');

May be it is not the right way to modify headers in SOAP request, but it works for me. Please put your answer if you find better solution.