Soap Call to http会自动尝试通过https进行连接

时间:2015-06-24 04:42:56

标签: php apache soap soap-client soapfault

当对http://地址进行SOAP调用时,它会自动尝试通过https连接://我需要强制SOAP才能通过http://连接是否有办法执行此操作?我确保Apache中没有启用MultiViews。

我甚至试图在没有将其封装到类中的情况下进行简单的SoapClient调用,并在初始调用中包含登录。

$soap = new \SoapClient('http://gotouri?wsdl, array(
    'login' => 'username',
    'password' => 'userpass',
    'trace' => 1,
    'exceptions' = 1
    )
);

这是我收到的SOAP-FAULT错误:

Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://www.do...', 'urn:Mage_Api_Mo...', 1, 0)

任何人都有任何想法如何强制soap-client使用http?

1 个答案:

答案 0 :(得分:0)

我想出了它自动解析https://的原因。在服务器上的XML文件中,位置地址为https://

<service name="MagentoService">
<port name="Mage_Api_Model_Server_HandlerPort" binding="typens:Mage_Api_Model_Server_HandlerBinding">
<soap:address location="https://www.thisguyssoapserver.com/index.php/api/soap/index/"/>
</port>
</service>

因此,我的localhost SSL无法正常工作。我不知道自签名证书是否能让我拨打这个电话,但是在将代码推送到gcloud上的灯服务器后,我可以成功拨打肥皂电话。