Ошибка SOAP HEADERS

У меня возникают некоторые проблемы при создании заголовков SOAP:

<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>

Так, ВЕЩЬ теги добавлены, потому что пространство имен не должно быть найдено, я пытался изменить корень пространства имен, но я думаю, что это не решение ..

Мой сервис находится под ssl, все ли пространства имен должны быть под ssl?

Может ли тег быть объяснением кода ошибки?

Обнаружена ошибка PHP
Серьезность: Предупреждение
Сообщение: SoapClient :: __ doRequest (): SSL: сброс соединения по пиру

А ТАКЖЕ

Мыльная ошибка:

Объект SoapFault
(
[message: protected] => Ошибка при получении заголовков http

Мой оригинальный .wdsl имеет следующее определение заголовка:

 <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>

Должен ли я добавить новое пространство имен?

Я нахожусь на сервере Apache, поэтому ключевой тег должен быть «Ключ», я генерирую код, как показано ниже:

$headerbody = array('Element' => array('Key' => '', 'Values' => array('Value' => '')));



$header = new SOAPHeader('namespace', 'CABECERA', $headerbody );
$sClient->__setSoapHeaders($header);

Какие-либо предложения?

Спасибо вам!

0

Решение

Я думаю, что он слишком стар, но мое решение сделать это было:

просто замените это:

$headerbody = array('Element' => array('Key' => '', 'Values' => array('Value' => '')));

с этим:

$headerbody = (object) array('Element' => array('Key' => '', 'Values' => array('Value' => '')));

Надеюсь, это поможет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]