php怎么调用自建证书的webservice

2020-07-30 08:31:42
这个问题有人问过。国内网站这方面资料较少。 我这边来简单讲一下

1. 首先先通过各种节操手段来使 apache 支持https 的方式。

2. 然后使用SoapDiscovery.class.php (百度一下,到处都是) 创建一个webservice

3. 于是我们就可以访问 https://xxx/abc.php?wsdl 。 注意这里是单向认证,并不验证客户端。

如果是php 的soapclient访问 不ssl加密的webservice ,那实在太简单。没啥好说的。

如果是ssl过后的呢?

代码应该怎么写

$context = stream_context_create(array(    ‘ssl’ => array(        ‘verify_peer’ => false,        ‘allow_self_signed’ => true     //这一步很重要,代表是否允许自建证书。因为到权威机构申请证书是要钱的    )));$client  = new SoapClient(null, array(     ‘location’ => ‘https://xxxx/abc.php?wsdl’,    //这里写你的webservice地址     ‘uri’ => ‘urn:czService’,   //你的wsdl文件中会有 targetNamespace 自己找找    ‘stream_context’ => $context));$client->XXX    // 这里尽情的执行你的方法吧

更多PHP相关知识,请访问PHP中文网!

相关文章 大家在看