2013-05-01 3 views
0

У меня очень плохой в структуре WSDL-файл, и я не могу понять, как я могу извлечь из него информацию.Извлечь значение из WSDL с помощью SOAP - PHP

VM не доступен из внешней сети, так что я не могу разделить Весь файл WSDL

Я хотел бы использовать getList функцию, которая принимает аргумент и возвращает строку, с несколькими значениями.

SOAP Request 

<?xml version="1.0" encoding="UTF-8"?> 
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> 
    <S:Header/> 
    <S:Body> 
     <ns2:getList xmlns:ns2="http://Wishlist.eBookCafe/"> 
      <arg0>2</arg0> 
     </ns2:getList> 
    </S:Body> 
</S:Envelope> 

SOAP Response 

<?xml version="1.0" encoding="UTF-8"?> 
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> 
    <S:Body> 
     <ns2:getListResponse xmlns:ns2="http://Wishlist.eBookCafe/"> 
      <return>[1]</return> 
     </ns2:getListResponse> 
    </S:Body> 
</S:Envelope> 

Мой вопрос, потому что стоимость входит внутрь return тега, я не знаю, как я могу хранить его в переменной PHP с использованием SOAP.

$list = $service->getList(array('arg0'=>$id)); 
print_r($list); 

Даже если я использую статические числа как мимолетных аргументов он всегда возвращает значения, содержащиеся пользователю с идентификатором = 1.

ответ

0

От блоге (который удаляется прямо сейчас :() >>

<?php 
$url = 'your_url_orFilePath'; 
$client = new SoapClient($url); 

$xmlr = new SimpleXMLElement("<main_key></main_key>"); 
$xmlr->addChild('childName1', $childName1); 
$xmlr->addChild('childName2', $childName2); 
------ 
----likewise--- 

$params = new stdClass(); 
$params->xml = $xmlr->asXML(); 
$result = $client->main_key_function($params); 
?> 
Смежные вопросы