我试图发送一个SOAP - 一个DER证书(这意味着该证书不具有专用密钥),但没有成功PHP请求。
$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 \卖方\ Web服务\ MyWS.php,线206]
警告(2):SoapClient的:: SoapClient的()[soapclient.soapclient]:未能创建SSL手柄[APP \卖方\ Web服务\ MyWS.php,线206]
警告(2):SoapClient的:: SoapClient的()[soapclient.soapclient]:无法使加密[APP \卖方\ Web服务\ MyWS.php,线206]
警告(2):SoapClient的:: SoapClient的(HTTPS:// webserviceurl:端口/ WS / servlet的/ WS WSDL)[soapclient.soapclient]:未能打开流:操作失败[APP \卖方\ Web服务\ MyWS.php,线206]
警告(2):SoapClient的:: SoapClient的()[soapclient.soapclient]:I / O警告:未能加载外部实体 “https://开头webserviceurl:端口/ WS / servlet的/ WS WSDL”[APP \卖方\ Web服务\ MyWS.php,线206]
但我一直在使用功能的file_get_contents($的local_cert)发现了一个小窍门(在php.net); 这些错误都不见了。
但是,来自一个新的错误。
结果:字符串(773) “错误阅读前缀:Action.Execute”
我的意思是......这个错误上面......从正在添加的WebService? 因为它不能符合我的要求身份验证?
谢谢大家。 (感谢您的答案)