Запрос Zend_Soap_Client создает указанные параметры, но не устанавливает значения в результирующем отправляемом XML - PullRequest
0 голосов
/ 29 июня 2010

У меня есть объект Zend_Soap_Client, и я пытаюсь вызвать метод для него:

$soapClient = new Zend_SoapClient('my_wsdl');

$params = array(
   'Login'   => 'username',
   'Message' => 'hello'
);

$soapClient->GetSoapRequest($params);

echo $soapClient->getLastRequest();

Я бы ожидал увидеть:

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope ...>
 <env:Body>
  <ns1:GetSoapRequest>
   <ns1:Message>hello</ns1:Message>
   <ns1:Login>username</ns1:Login>
  </ns1:GetSoapRequest>
 </env:Body>
</env:Envelope>

Но на самом деле я вижу:

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope ...>
 <env:Body>
  <ns1:GetSoapRequest>
   <ns1:Message/>
   <ns1:Login/>
  </ns1:GetSoapRequest>
 </env:Body>
</env:Envelope>

Таким образом, он создает правильные поля, но не заполняет их содержимым.

1 Ответ

0 голосов
/ 29 июня 2010

Сортировали это сейчас. Мне нужно было передать дальнейшую структуру. Я предполагаю, что предоставленный мною код действителен, если WSDL определил его таким образом. Для этого мне нужно что-то вроде:

$params = array(
   'Login'   => array('username' => 'username', 'password' => 'password'),
   'Message' => array('body' => 'hello')
);

Спасибо за помощь, Пекка - извините за трату времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...