使用PHP SoapClient访问Magento API导致重定向-通过浏览器访问有效



我正在使用PHP的SoapClient 访问Magento SOAP API v2

$soap_client = new SoapClient($wsdl_url, array('trace' => 1));

wsdl url为http://www.example.org/index.php/api/v2_soap/?wsdl=1
在浏览器中打开url将生成有效的xml文档
但是当我使用SoapClient访问同一url时,我从$soap_client->__getLastResponse():收到以下错误消息

Invalid webservice adapter specified.

查看带有$soap_client->__getLastRequestHeaders()的请求标头,可以发现呼叫正在重定向到http://www.example.org/api/v2_soap/index/:

POST /api/v2_soap/index/ HTTP/1.1
Host: www.example.org
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.4.3
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:Mage_Api_Model_Server_V2_HandlerAction"
Content-Length: 542

在浏览器中调用该url(http://www.example.org/api/v2_soap/index/)会输出与SoapClient返回(Invalid webservice adapter specified.)相同的错误消息

在正常http请求正常工作的情况下,SoapClient怎么可能被重定向

任何帮助都非常感谢

MultiViews的效果如下:如果服务器收到请求/some/dir/foo,如果/some/dir已启用MultiViews,以及/一些/dir/foo不存在,则服务器读取该目录查找名为foo.*的文件,并有效地伪造了类型映射它命名所有这些文件,为它们分配相同的介质类型如果客户端要求其中一个他们的名字。然后它会选择与客户最匹配的要求。

  • 多视图文档

最新更新