看起来我的问题与这个问题相同:Magento Rest Api Invalid XML但它仍然没有得到回答..
我刚刚在我的localhost上安装了magento 1.9和示例数据,并尝试测试REST API。我在管理面板中将REST角色和REST属性设置为ALL。但是,当我尝试在浏览器中输入以下URL:http://magentohost/api/rest/products?limit=2
我收到了回复:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<script/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>Sender</faultcode>
<faultstring>Invalid XML</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
error_log为空,
访问日志:
GET /magentohost/api/rest/products?limit=2 HTTP/1.1" 500
看起来我在设置中遗漏了一些东西..感谢您的帮助!
您需要编辑.htaccess文件。在.htaccess的第12行取消注释“Options -Multiviews”行。
如果您在获取wsdl时遇到问题,请确保在网址末尾有?wsdl。例如:
https://dev2.mydomain.org/index.php/api/v2_soap/index/
会说“无效的XML”但是
https://dev2.mydomain.org/index.php/api/v2_soap/index/?wsdl
将工作。
对于我为.Net Core C#(using this)生成的Magento soap客户端,我只需使用默认构造函数创建客户端,而不是自己提供端点和绑定。默认构造函数设置客户端的许多参数,包括端点URL,安全模式,允许cookie等。