|
|
|
| Добрый день.
Уже несколько дней бьюсь над проблемой формирования xml заданной конструкции в стандартном клиенте SOAP на PHP.
Необходимо передавать вот такую структуру:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetContent xmlns="http://xxx.xxx.ru/">
<request>
<PartnerId>1234567890</PartnerId>
<ProductId>1234</ProductId>
<CustomerIp>192.168.0.1</CustomerIp>
</request>
</GetContent>
</soap:Body>
</soap:Envelope>
|
Делаю так:
$client = new SoapClient("http://xxx.xxx.xxx.ru/Services/xxx.asmx?wsdl", Array("exceptions"=>0,"trace" => 1, "encoding" => "utf-8","cache_wsdl" => WSDL_CACHE_NONE, "soap_version" => SOAP_1_2));
$res = $client->GetContent(new SoapParam((string)'1234567890', "PartnerId"),
new SoapParam((int)1234, "ProductId"),
new SoapParam((string)'192.168.0.1', "CustomerIp"));
]
|
Подскажите, как мне заставить клиента SOAP передавать xml в нужной мне структуре...
Заранее спасибо.
Но получается вот так, что не верно:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://xxx.xxx.ru/"><env:Body><ns1:GetContent/><ProductId>1234</ProductId><CustomerIp>192.168.0.1</CustomerIp></env:Body></env:Envelope>
|
| |
|
|
|
|
|
|
|
для: maxfade
(08.08.2012 в 18:00)
| | Нашел решение сам, может кому пригодиться :)
<?php
$client = new SoapClient("http://xxx.xxx.xxx.ru/Services/FreeStreaming.asmx?wsdl", Array("exceptions"=>0,"trace" => 1, "encoding" => "utf-8","cache_wsdl" => WSDL_CACHE_NONE, "soap_version" => SOAP_1_2));
$client->__soapCall('GetContent',
array(new SoapVar('<GetContent xmlns="http://partner.muz.ru/"><request><PartnerId>1234567890</PartnerId><ProductId>1234</ProductId><CustomerIp>192.168.1.0</CustomerIp></request></GetContent>', XSD_ANYXML)),
array('soapaction' => 'http://xxx.xxx.xxx.ru/Services/FreeStreaming.asmx?wsdl'));
?>
|
Вставляем в SoapVar тело XML с нужной структурой и параметрами, также важно указать XSD_ANYXML. | |
|
|
|
|
|
|
|
для: maxfade
(10.08.2012 в 11:12)
| | Спасибо, камрад, оч помог. | |
|
|
|