这个问题有人问过。国内网站这方面资料较少。 我这边来简单讲一下
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中文网!
以上是php怎么调用自建证书的webservice的详细内容。更多信息请关注PHP中文网其他相关文章!