[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: php soapClient
simpl3x
добрый день, помогите постичь, необходимо написать клиент для soap:
по примерам сделал вот такой код:

<?php
$wsdl = "http://91.218.87.193:18080/bgbilling/api/ru.gigacoms.bgbilling.service/ContractService?wsdl";
$client = new SoapClient($wsdl);
$answer = $client->__SoapCall("getBalanceData", array(new SoapParam ((String)'74955405428', 'arg0'), new SoapParam((String)'002000000', 'arg1'),
));

//var_dump ($client);
var_dump ($answer);
$code=$answer->return->code;
echo $code;
?>


в итоге tcpdump показывает вот такой пакет:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="gigacoms"><SOAP-ENV:Body><ns1:getBalanceData/><arg1>002000000</arg1></SOAP-ENV:Body></SOAP-ENV:Envelope>

т.е. куда то делся параметр arg0
и на выходе получаем логичный вывод от сервиса:

object(stdClass)#4 (1) {
["return"]=>
object(stdClass)#5 (2) {
["code"]=>
int(2)
["status"]=>
int(0)
}
}


а через soapUI:
запрос:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gig="gigacoms">
<soapenv:Header/>
<soapenv:Body>
<gig:getBalanceData>

<!--Optional:-->
<arg0>74955405428</arg0>
<!--Optional:-->
<arg1>002000000</arg1>
</gig:getBalanceData>
</soapenv:Body>
</soapenv:Envelope>


ответ:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getBalanceDataResponse
xmlns:ns2="gigacoms">
<return>
<code>
0</code>
<status>
0</status>
<summa>
111.00</summa>
</return>
</ns2:getBalanceDataResponse>
</S:Body>
</S:Envelope>


помогите сделать тоже самое на php.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.