I'm having some problems by making my SOAP headers:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="elementos" xmlns:ns2="elementoscomunes">
<SOAP-ENV:Header>
<ns2:CABECERA>
<item>
<key>Element</key>
<value>
<item>
<key>Key</key>
<value/>
</item>
<item>
<key>Values</key>
<value>
<item>
<key>Value</key>
<value/>
</item>
</value>
</item>
</value>
</item>
</ns2:CABECERA>
So, ITEM tags are added because the namespace must not be found, i've tried to change the namespace root, but i think this is not the solution..
My service is under ssl, does all namespaces must be under ssl?
Can the tag be the error code explanation?
A PHP Error was encountered Severity: Warning Message: SoapClient::__doRequest(): SSL: Connection reset by peer
AND
THE SOAP FAULT:
SoapFault Object ( [message:protected] => Error Fetching http headers
My original .wdsl has the next header definition:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:elem="elementoscomunes" xmlns:elem1="elementos">
<soapenv:Header>
<elem:CABECERA>
<!--Zero or more repetitions:-->
<Element>
<Key>?</Key>
<Values>
<!--Zero or more repetitions:-->
<Value>?</Value>
</Values>
</Element>
</elem:CABECERA>
</soapenv:Header>
</elem:CABECERA>
</soapenv:Header>
Does i have to add a new namespace?
I'm on an Apache Server so key tag must be "Key" i generate the code as shown below:
$headerbody = array('Element' => array('Key' => '', 'Values' => array('Value' => '')));
$header = new SOAPHeader('namespace', 'CABECERA', $headerbody );
$sClient->__setSoapHeaders($header);
Any Suggestions?
Thanks you!
I think it's too old, but my solution to do this was:
just replace this:
$headerbody = array('Element' => array('Key' => '', 'Values' => array('Value' => '')));
with this:
$headerbody = (object) array('Element' => array('Key' => '', 'Values' => array('Value' => '')));
Hope this help.!