Мой вызов nusoap выглядит следующим образом
<code> require_once('lib/nusoap.php');
$headers = array( 'Content-Type: application/xml',
'Authorization: Bearer ZGMK' );
$client = new nusoap_client("http://test.wsdl?wsdl", array('soap_version' => SOAP_1_2,));
$client->setUseCURL(true);
$client->setCurlOption(CURLOPT_SSLVERSION, '6'); // TLS 1.2
$client->setCurlOption(CURLOPT_SSLCERT, 'C:\xampp\htdocs\test\test.pem'); // TLS 1.2
$client->setCurlOption(CURLOPT_SSLCERTPASSWD, 'pass');
$client->setCurlOption(CURLOPT_HTTPHEADER, $headers);
$client->soap_defencoding = 'UTF-8';
$result = $client->call("Terminate", array("type" => "Main"));
$error = $client->getError();
if ($error) {
echo "<h2>Constructor error</h2><pre>" . $error . "
";} if ($ client-> fault) {echo"
Fault
";
print_r($result);
echo "
";} else {$ error = $ client-> getError (); if ($ error) {echo "
Error
" . $error . "
";} else {echo "
Main
"; echo $ result;}} // показать запрос мылаи ответ echo "
Request
"; echo "
" . htmlspecialchars($client->request, ENT_QUOTES) . "
"; echo "
Response
"; echo "
" . htmlspecialchars($client->response, ENT_QUOTES) . "
";
Все выглядит хорошодля меня, но это выдает ошибку вроде этого
HTTP Error: Unsupported HTTP response status 415 Unsupported Media Type (soapclient->response has contents of the response)
В моем начальном поиске в Google я обнаружил, что это связано с версией SOAP или типом контента, поэтому я также добавил некоторый код для их установки (доступно выше).но все же я получаю ту же ошибку. и мой журнал запросов показывает тип контента только text/xml
.
Request
POST /endpoint HTTP/1.0
Host: domain:4046
User-Agent: NuSOAP/0.9.5 (1.123)
Content-Type: text/xml; charset=UTF-8
SOAPAction: "https://terminate"
Content-Length: 424
Response
HTTP/1.1 415 Unsupported Media Type
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Feb 2019 11:35:04 GMT
Set-Cookie: HTTS008_001=!OpEB2CQQrC0ndIOtQCYvmLkbG3BVmQACyOEYvjJ4Y4ez8YLdDu0Vy5H/6dTFAf3WFjp8gW/ATWV0pIKPAn14Ph8O6cmOy1LfRGgPaKVll2YQNQ==; path=/; Httponly; Secure
Может кто-нибудь указать, что я делаю здесь неправильно?