Веб-сервис AVAYA возвращает ошибку "Ожидаемый элемент"
У меня есть приложение, которое должно использовать веб-сервис AVAYA ACE, и оно мне не поможет.
У меня запущен веб-сервис, и я могу использовать его с помощью SOAP UI, но когда я хочу использовать PHP, он получает ошибки.
У меня есть это в моем SOAPUI, который работает нормально:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:loc="http://www.csapi.org/schema/parlayx/third_party_call/v2_3/local">
<soapenv:Header/>
<soapenv:Body>
<loc:makeCall>
<loc:callingParty>tel:1781</loc:callingParty>
<loc:calledParty>tel:901134625154789</loc:calledParty>
</loc:makeCall>
</soapenv:Body>
</soapenv:Envelope>
У меня есть это в моем PHP-файле для потребления:
<!doctype html>
<?php
require_once '../config/clases/nusoap_avaya/lib/nusoap.php';
$client = new nusoap_client("https://user:pass@ip:9443/RaptorWeb/services/ThirdPartyCall", false);
$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
exit();
}
$params =array(
"callingParty" => "tel:1781",
"calledParty" => "tel:901134625154789"
);
$result = $client->call('makeCall',$params,'http://www.csapi.org/schema/parlayx/third_party_call/v2_3/local');
if ($client->fault) {
echo '<h2>Fault (Expect - The request contains an invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
} else {
$err = $client->getError();
if ($err) {
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>';
}
}
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
?>
А вот и ошибка:
Array
(
[faultcode] => soapenv:Server
[faultstring] => AgileCE service exception
[detail] => Array
(
[ServiceException] => Array
(
[messageId] => SVC0002
[text] => Expected element 'callingParty@http://www.csapi.org/schema/parlayx/third_party_call/v2_3/local' instead of 'callingParty' here in element makeCall@http://www.csapi.org/schema/parlayx/third_party_call/v2_3/local
Expected element 'callingParty@http://www.csapi.org/schema/parlayx/third_party_call/v2_3/local' instead of 'calledParty' here in element makeCall@http://www.csapi.org/schema/parlayx/third_party_call/v2_3/local
Expected element 'callingParty@http://www.csapi.org/schema/parlayx/third_party_call/v2_3/local' before the end of the content in element makeCall@http://www.csapi.org/schema/parlayx/third_party_call/v2_3/local
)
)
)
1 ответ
Я решил свою проблему.
Вот одно из решений. Я создал XML-код в клиенте nusoap. Затем я использую метод send().
$result=$client->send($msg, $endpoint);
Если кто-то нуждается в помощи с XML, можете прокомментировать здесь, и я постараюсь отправить код. Я не могу вставить код, потому что он полон URL, и я получаю ошибки....
до свидания