It is necessary to change ns1 and ns2 to wsse and wsa (WS-Security and WS-Addressing) in request (e), and also add another namespace, now it sends:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://xml.****.com/*******" xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <SOAP-ENV:Header> 

And it is necessary to translate into this:

 <SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuritysecext- 1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurityutility- 1.0.xsd"> 

I write in PHP, in __setSoapHeaders I pass in adequate headers, form the string "explicitly", the conversion function is correct, the WSDL is working (in any case, it works for others).

  • If you have access to this as a string, then through str_replace () make the replacement of the first line with the second O_o - Visman
  • I edited your code formatting. Here it was necessary to use the {} button, and not <> - the second only for JS / HTML / CSS code that will be executed directly in the browser. - Nick Volynkin
  • No, the fact is that ((This line is generated when the SoapClient object is transferred - Tanateros

0