我正在使用PHP的SoapClient访问Magento SOAP API v2
$soap_client = new SoapClient($wsdl_url, array('trace' => 1));
wsdl网址为http://www.example.org/index.php/api/v2_soap/?wsdl=1
在浏览器中打开URL会生成有效的xml文档
然而当我使用SoapClient访问同一个网址时,我收到来自$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
?
任何帮助非常感谢
答案 0 :(得分:2)
MultiViews的效果如下:如果服务器收到了 请求/ some / dir / foo,如果/ some / dir启用了MultiViews,并且 / some / dir / foo不存在,然后服务器读取目录 寻找名为foo。*的文件,并有效地伪造一个类型地图 它命名所有这些文件,为它们分配相同的媒体类型和 如果客户要求其中一个,它将具有内容编码 他们的名字。然后它选择与客户的最佳匹配 要求。