#php #soapserver
#php #soapserver
Вопрос:
Мой SOAP-сервер возвращает следующий ответ:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://uws.provider.com/">
<SOAP-ENV:Body>
<ns1:PerformTransactionResult>
<status>201</status>
</ns1:PerformTransactionResult>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Но мне нужна следующая структура:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns2:PerformTransactionResult xmlns:ns2="http://uws.provider.com/">
<status>0</status>
</ns2:PerformTransactionResult>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Комментарии:
1. Можете ли вы показать код, который создает ответ.
2. Вы уверены, что это необходимо? Для любого нормального анализатора XML эти два ответа полностью эквивалентны:
xmlns:...
атрибут определяет локальный псевдоним, который вступает в силу для всех дочерних узлов, поэтому в обоих случаяхPerformTransactionResult
находится вhttp://uws.provider.com/
пространстве имен, аstatus
— в пространстве имен null. Поэтому принудительное изменение форматирования может потребовать использования манипуляций со строками, чтобы избежать выбора представления кодом генерации XML.