使用内置的PHP SOAP Client建立双向SSL通信的挑战

时间:2018-08-08 04:02:43

标签: php soap soap-client

我正在尝试使用.pem证书创建与SOAP Web服务的连接,并列出所有可使用的功能。但是,我无法取得任何进展。

$ client-> __ getFunctions()返回null,并且出现错误“错误版本”。

$pem = 'certificate.pem';
$username = 'supertester';
$password = 'testing123';
$defaultEndpoint = " https://xxx.yyy.zzz:444/app/uat/BMS";
$uri = "https://xxx.yyy.zzz:444/app/uat";

$client = new SoapClient(null,
    array(
        'local_cert'    =>  $pem,
        'login'         =>  $username,
        'password'      =>  $password,
        'location'      =>  $defaultEndpoint,
        'uri'           =>  $uri,
        'style'         =>  SOAP_RPC,
        'use'           =>  SOAP_ENCODED,
        'soap_version'  =>  SOAP_1_2,
        'authentication'=>  SOAP_AUTHENTICATION_DIGEST,
        'ssl'           =>  array(
                                'ciphers'=> "SHA1",
                                'verify_peer' => true,
                                'allow_self_signed' => false
                            ),
        'https'         =>  array(
                                'curl_verify_ssl_peer'  => true,
                                'curl_verify_ssl_host'  => true
                            ),
        'cache_wsdl'    =>  WSDL_CACHE_NONE,
        'cache_ttl'     =>  86400,
        'trace'         =>  true,
        'exceptions'    =>  true,
    )
);

var_dump($client->__getFunctions());

任何帮助将不胜感激。

0 个答案:

没有答案