php“;所有身份验证都必须通过SSL进行”;使用肥皂

php“;所有身份验证都必须通过SSL进行”;使用肥皂,php,web-services,soap,ssl,Php,Web Services,Soap,Ssl,我正在使用PHP与SOAP Web服务通信,但遇到了问题 // Create SOAP client object $objClient = new SoapClient("https://panopto_host/Panopto/PublicAPI/4.0/Auth.svc?wsdl", array('trace' => true)); // These parameters satisfy this specific remote call. $loginParams = array

我正在使用PHP与SOAP Web服务通信,但遇到了问题

// Create SOAP client object
$objClient = new SoapClient("https://panopto_host/Panopto/PublicAPI/4.0/Auth.svc?wsdl", array('trace' => true));

// These parameters satisfy this specific remote call.
$loginParams = array('userKey' => 'cmjw', 'password' => 'bleh');

$objLogin =  $objClient->LogOnWithPassword($loginParams);
我得到的错误是“所有身份验证都必须通过SSL进行”。我不知道这是一个服务器应用程序错误消息,还是一个标准的SOAP错误,但wierd的事情是,我在.Net中创建了一个非常简单的程序,创建了一个服务引用来生成一个代理类,它工作得很好

PHP让方法调用使用SSL缺少什么

谢谢你的建议。
Corey.

如果WSDL中的服务URL是HTTP URL,那么即使WSDL是通过HTTPS下载的,请求也可能是通过HTTP发出的。

我认为元素
操作
指向HTTP URL
http://tempuri.org/IAuth/LogOnWithPassword
这不是一个好的观点。按照这一思路,我查看了服务soap:address-location,它有http,这不可能是正确的。当我下载WSDL,将其更改为https,引用它时,它现在似乎可以工作了。谢谢你指出了正确的方向。Net工作,因为它在服务引用中具有https。