как отправить SOAP-запрос с SSL-сертификатом в PHP?

Я пытаюсь отправить 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? потому что он не может аутентифицироваться с моим запросом?

Спасибо всем. (спасибо за ответы)

5
задан BruneX 26 July 2012 в 19:10
поделиться