Разбор ответа CURL SOAP

Я делаю вызов SOAP (определенная торговая служба) и получаю следующий ответ

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ipgapi:IPGApiActionResponse xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi" xmlns:a1="http://ipg-online.com/ipgapi/schemas/a1" xmlns:pay_1_0_0="http://api.clickandbuy.com/webservices/pay_1_0_0/" xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
        <ipgapi:successfully>true</ipgapi:successfully>
        <ipgapi:DataStorageItem>
            <a1:CreditCardData>
                <v1:CardNumber>111</v1:CardNumber>
                <v1:ExpMonth>11</v1:ExpMonth>
                <v1:ExpYear>11</v1:ExpYear>
                <v1:Brand>CARD</v1:Brand>
            </a1:CreditCardData>
        </ipgapi:DataStorageItem>
    </ipgapi:IPGApiActionResponse>
</SOAP-ENV:Body>

This is, documentation suggests doing SOAP calls with curl and so far I've been trying to follow that suggestion. Above is response I'm getting from curl_exec. I'm not that familiar with SOAP but this is not a standard xml response, is it? I can't just parse it with standard methods (simplexml), am I correct?

Итак, как мне поступить с этим? Могу ли я «фильтровать» данные, которые мне нужны, с помощью preg_match или чего-то еще? Это жизнеспособное решение?


person belinea    schedule 11.03.2014    source источник


Ответы (1)


Я использовал это, чтобы получить его с помощью simple_xml:
У меня есть ответ curl в $curl...

$string = str_replace('ipgapi:', '', $curl);
$string = str_replace('SOAP-ENV:', '', $string);
$return = simplexml_load_string($string);
...

затем разобрать $return

person nichdiemama77    schedule 22.03.2014