Я использую php для получения данных от веб-сервиса.
У меня есть этот код:
try
{
$wsdl_url = 'https://xxx';
$client = new SOAPClient($wsdl_url);
$params = array(
'Code' => '1111',
'Name' => 'Marcos',
'Client' => '009462'
);
$return = $client->GetData($params);
print_r($return);
}
catch (Exception $e)
{
echo "Exception occured: " . $e;
}
Теперь у меня есть XML с параметрами.
Пример:
<san:GetData>
<san:objData xsi:type="PricesData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://">
<san:Code>7</san:Code>
<san:Client>999999</san:Client>
<san:Data>
<san:Fact>CF</san:Fact>
<san:Fact2>CF</san:Fact2>
</san:Data>
<san:DataProduct>
<san:Code>0202</san:Code>
<san:PersonalData>
<san:Name>00030</san:Name>
<san:Company>00045</san:Company>
</san:PersonalData>
</san:DataProduct>
</san:objData>
Как я могу сделать, чтобы передать эти параметры для PHP-массива? потому что в нем есть данные по категориям, и я не знаю, как ими манипулировать.
Благодарю.
Чтобы представить массив в запросе SOAP, индексный массив вложенных ассоциативных массивов должен использоваться в качестве входных данных для SOAPClient. Ключи массива должны соответствовать именам элементов, объявленным в WSDL. Смотрите примеры в этом сообщение.
Других решений пока нет …