информация xml в php (веб-сервис)

Я использую 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>

how I can do to pass those parameters for php array? because it has data into "categories" and i don't know how to manipulate them.

Спасибо.


person wanheda    schedule 13.11.2015    source источник
comment
Если я правильно понимаю, этот XML является ответом веб-службы. SOAPClient должен был преобразовать это в правильные типы PHP в соответствии с WSDL.   -  person Alex Paliarush    schedule 13.11.2015
comment
Мне нужно знать, как передавать параметры, которые должны находиться в категориях. один ниже другого?. Пример: $params = array( 'Код' => '1111', 'Клиент' => 'Маркос', 'Факт' => '009462', 'Факт2' => '009462', 'Код' => '009462 '); Последний код находится в DataProduct. Как отправить?   -  person wanheda    schedule 13.11.2015
comment
Я должен отправить значения в веб-службу, чтобы получить ответ.   -  person wanheda    schedule 13.11.2015
comment
Это может помочь stackoverflow.com/a/15981533/5554254   -  person Alex Paliarush    schedule 13.11.2015
comment
Отлично, это будет массив в другой массив. Спасибо!, я попробую.   -  person wanheda    schedule 13.11.2015
comment
@ user1110238 Пожалуйста, примите мой ответ ниже, если он был вам полезен.   -  person Alex Paliarush    schedule 16.11.2015


Ответы (1)


Для представления массива в SOAP-запросе в качестве входных данных для SOAPClient следует использовать индексированный массив вложенных ассоциативных массивов. Ключи массива должны соответствовать именам элементов, объявленным в WSDL. См. примеры в этом сообщении.

person Alex Paliarush    schedule 13.11.2015