2013-08-16 33 views
2

我訪問與PHP的SoapClient的訪問Magento的API導致重定向 - 在瀏覽器訪問工作

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

的WSDL URL爲http://www.example.org/index.php/api/v2_soap/?wsdl=1
打開網址在瀏覽器中的結果Magento的SOAP API第2版在一個有效的xml文檔中。
然而當我訪問與SoapClient的我從$soap_client->__getLastResponse()以下錯誤消息相同的URL:

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被重定向?

任何幫助不勝感激

+1

你有沒有嘗試禁用多視圖中的Apache .htaccess的? http://stackoverflow.com/questions/13932908/magento-api-invalid-webservice-adapter-specified – B00MER

+0

@ B00MER是的,這實際上幫助。你能解釋爲什麼嗎? – Horen

回答

2

多視圖的效果如下:如果服務器接收用於/一些/目錄/ FOO,一個 請求如果/一些/目錄,使多視圖,和 /一些/目錄/ foo的不存在,則服務器讀取目錄 尋找名爲foo。*的文件,並有效假貨一個類型的地圖 這名所有這些文件,賦予它們不同的介質類型和 內容編碼它本來如果客戶曾要求按名稱 其中之一。然後,選擇客戶的 需求的最佳匹配。