Я получаю сообщение об ошибке от сервера SOAP, построенного на Java, когда я использую PHP-библиотеку SOAP, потому что имя конверта имеет префикс SOAP-ENV. Веб-сервис требует s:
Что я отправляю:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>...</SOAP-ENV:Header>
<SOAP-ENV:Body>...</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Что требуется веб-сервису:
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>...</s:Header>
<s:Body>...</s:Body>
</s:Envelope>
Я прошел через Библиотека SOAP php.net документация уже. Кажется, здесь ничего не трогать.
И да, для этого веб-сервиса имеет значение, имеет ли он префикс SOAP-ENV: или s:
Вот что генерирует текущий стильXML:
$client = new SoapClient($url, array(
'soap_version' => SOAP_1_1,
'trace' => 1,
'use' => SOAP_LITERAL)
);
$result = $client->$method($dataObject);
Любая помощь будет принята с благодарностью.