PHP SoapClient 是否支持 HTTPS 连接

时间:2023-02-11
本文介绍了PHP SoapClient 是否支持 HTTPS 连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我在 Windows 上使用 XAMPP 并尝试使用 PHP soap 扩展 SoapClient.我正在尝试使用以下代码加载托管在 HTTPS 站点中的 WSDL 文件

我收到以下错误:

<块引用>

致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP 错误:解析 WSDL:无法从

我在使用 php 5.6 的 Windows 上遇到了同样的问题,并且在使用 php 5.6 的 Linux 上运行良好.

您可以使用openssl_get_cert_locations函数来查看证书位置是什么.

到目前为止,我无法找到解决方案.

I'm using XAMPP on Windows and try to work with PHP soap extension SoapClient. I'm trying to load a WSDL file hosted in HTTPS site using the following code

<?php
    $myClient=new SoapClient("https://smi.sp.f-secure.com/smi/5.1/services/EchoService?wsdl");
?>

I get the following error:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://smi.sp.f-secure.com/smi/5.1/services/EchoService?wsdl' : failed to load external entity "https://smi.sp.f-secure.com/smi/5.1/services/EchoService?wsdl" in C:xampphtdocsdevw3schoolssoapClientindex.php:2 Stack trace:
#0 C:xampphtdocsdevw3schoolssoapClientindex.php(2): SoapClient->SoapClient('https://smi.sp....')
#1 {main} thrown in C:xampphtdocsdevw3schoolssoapClientindex.php on line 2

Now I took a network capture during the request and saw that HTTPS communication does not work OK on SSL Level. Wireshark shows a packet on Server Key Exchange my workstation responds with:

TLSv1 Record Layer: Alert (Level: Fatal, Description: Certificate Unknown)

Using nuSOAP client or soapUI utility from the same computer, I'm able to connect to the service normally. So no certificate problems I guess.

So definately it's something with SOAP extension and SSL communication. Can anyone help? Give hints what to look for?

解决方案

it has to do with this change in php 5.6: http://php.net/manual/en/migration56.openssl.php

I have the same trouble on Windows with php 5.6 and it works fine on Linux with php 5.6.

You can use the function openssl_get_cert_locations to see what are the certificate locations.

So far I wasn't able to find a solution.

这篇关于PHP SoapClient 是否支持 HTTPS 连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:如何从此xml在php中生成soap请求? 下一篇:SoapVar/Param 和 SOAP 中嵌套的重复元素

相关文章

最新文章