Разбор XML из ответа SOAP - PullRequest
       28

Разбор XML из ответа SOAP

0 голосов
/ 17 августа 2011

Я пытаюсь понять, как разобрать ответ XML, но не повезло, мне нужны разделы записей:

<env:envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:header/>
<env:body>
<ns2:getcalllogreportresponse xmlns:ns2="http://service.admin.ws.five9.com/">
<return>
<header>
<values>
<data>DATE</data>
<data>TIME</data>
<data>DNIS</data>
<data>ANI</data>
<data>CALL TYPE</data>
<data>CAMPAIGN</data>
<data>AGENT</data>
<data>DISPOSITION</data>
<data>SKILL</data>
<data>DURATION</data>
<data>BILL TIME (ROUNDED)</data>
<data>HOLD TIME</data>
<data>QUEUE WAIT TIME</data>
<data>HANDLE TIME</data>
<data>RATE</data>
<data>COST</data>
</values>
</header>
<records>
<values>
<data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true">...</data>
</values>
</records>
<records>...</records>
<records>...</records>
<!--...-->

Я использую PHP, но совершенно новый для XMLи мыло.Спасибо.

1 Ответ

2 голосов
/ 17 августа 2011

Это потому, что вы не должны делать мыльные запросы или ответы вручную. Вы используете библиотеку, такую ​​как SoapClient , предоставляя ей файл WSDL (который должен быть доступен для любой службы, к которой вы пытаетесь получить доступ). SoapClient берет этот файл WSDL и возвращает вам объект, который имеет довольно мало методов, которые вы можете вызвать для взаимодействия со службой. Если мыло кажется жестким, ручным или глупым, то (как вы и подозревали) вы делаете это неправильно. Я рад, что вы спросили, поскольку я столкнулся с командами разработчиков, которые допустили эту ошибку и потратили 6 месяцев на создание классов для ручного взаимодействия с сервисом SOAP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...