Operating-system:centos6.
Php-version:5.3.
File-fromat:WSDL.
Finally i get this error.
>Your browser sent a request that this server could not understand.
>Reason: You're speaking plain HTTP to an SSL-enabled server port.
>Instead use the HTTPS scheme to access this URL, please.
Here are the package i catched.
POST /index.php/soap/wsdl HTTP / 1.1 Хост: 127.0.0.1:443 Подключение: пользовательский агент Keep-Alive: PHP -SOAP / 5.3.3 Тип содержимого: применение / мыло + XML; кодировка = UTF-8; action = "urn: serviceName # test_server # test" Content-Length: 338
HTTP / 1.1 400 Неправильная дата запроса: четверг, 19 марта 2020 г. 07:47:59 GMT Сервер: Apache X-Frame-Options: SAMEORIGIN Зависит от: Accept-Encoding Длина содержимого: 362 Соединение: закрыть Тип содержимого: text / html; charset = iso-8859-1
400 Плохой запрос
Плохой запрос
Ваш браузер отправил запрос, который этот сервер не может понять. Причина: вы говорите обычным HTTP с портом сервера с поддержкой SSL. Вместо этого используйте схему HTTPS для доступа к этому URL, пожалуйста.
Вот мой код.
$url = "https://127.0.0.1/soap/wsdl?wsdl";
$context = stream_context_create(array(
'ssl' => array(
// set some SSL/TLS specific options
'verify_peer' => false,
// 'verify_peer_name' => false,
'allow_self_signed' => true,
'SNI_enabled' => false
),
'https' => array(
'curl_verify_ssl_peer' => false,
'curl_verify_ssl_host' => false
)
));
$client = new SoapClient($url,array('stream_context' => $context,'trace' => 1,'exceptions' => true, 'soap_version'=>SOAP_1_2));
try{
$response = $client->__soapCall("test",array());
echo $response;
}catch (SoapFault $f){
var_dump($f->getMessage());
var_dump($client->__getLastRequest());
var_dump($client->__getLastResponse());
}