Я пытаюсь отправить SOAP -PHP-запрос с сертификатом DER (, что означает, что у сертификата нет privateKey ), но безуспешно.
$local_cert = FULL_PATH_TO_MY_CERT;
$client = new SoapClient($wsdl, array(
'local_cert' => $local_cert,
'trace' => 1,
'exceptions' => 1,
'soap_version' => SOAP_1_1,
'encoding' => 'ISO-8859-1',
'compression' => (SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP),
'location' => 'https://webserviceurl:port/ws/servlet/ws'
));
Только я получаю эти ошибки:
Предупреждение (2 ):SoapClient ::SoapClient ()[soapclient.soapclient] :Невозможно установить файл закрытого ключа `PATHTOMYLOCALCERT' [APP\Vendor\WebServices\MyWS.php, строка 206]
Предупреждение (2 ):SoapClient ::SoapClient ()[soapclient.soapclient] :не удалось создать дескриптор SSL [APP\Vendor\WebServices\MyWS.php, строка 206]
Предупреждение (2 ):SoapClient ::SoapClient ()[soapclient.soapclient] :Не удалось включить шифрование [APP\Vendor\WebServices\MyWS.php, строка 206]
Предупреждение (2 ):SoapClient ::SoapClient (https ://webserviceurl :port/ws/servlet/ws?wsdl )[soapclient.soapclient] :не удалось открыть поток :операция не удалась [APP\Vendor\WebServices\MyWS.php, строка 206]
Предупреждение (2 ):SoapClient ::SoapClient ()[soapclient.soapclient] :Предупреждение ввода-вывода :не удалось загрузить внешний объект "https ://webserviceurl :port/ws /servlet/ws?wsdl" [APP\Vendor\WebServices\MyWS.php, строка 206]
но я нашел небольшую хитрость (в php.net )с использованием функционального файла _get _content ($local _cert ); ошибки ушли.
Но появилась новая ошибка.
Результат :строка (773 )«Ошибка чтения префикса :Action.Execute»
Я имею в виду... эта ошибка выше... исходит от WebService? потому что он не может аутентифицироваться с моим запросом?
Спасибо всем. (спасибо за ответы)