3

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

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

wsdl urlhttp://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 ( ) 会输出与 SoapClient 返回 ( )http://www.example.org/api/v2_soap/index/相同的错误消息Invalid webservice adapter specified.

当正常的http请求正常工作时,怎么可能SoapClient被重定向?

非常感谢任何帮助

4

1 回答 1

2

MultiViews 的效果如下:如果服务器收到对 /some/dir/foo 的请求,如果 /some/dir 启用了 MultiViews,并且 /some/dir/foo 不存在,则服务器读取目录寻找名为 foo.* 的文件,并有效地伪造了一个类型映射,该类型映射为所有这些文件命名,为它们分配相同的媒体类型和内容编码,如果客户端按名称要求其中一个。然后它选择最符合客户要求的匹配项。

于 2013-08-22T21:13:44.320 回答