在向Magento提出以下请求时,我被拒绝访问:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:catalogProductInfo soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="urn:Magento">
<sessionId xsi:type="xsd:string">xxxxxxxxxxxxxxx</sessionId>
<productId xsi:type="xsd:string">119</productId>
<storeView xsi:type="xsd:string" xsi:nil="true"/>
<attributes xsi:type="ns1:catalogProductRequestAttributes" xsi:nil="true"/>
</ns1:catalogProductInfo>
</soapenv:Body>
</soapenv:Envelope>
以下是回复:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>2</faultcode>
<faultstring>Access denied.</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
会话ID是正确的,我可以做其他请求,但catalogProductInfo失败了。我正在使用Java和Axis 1.4来访问Magento。
答案 0 :(得分:1)
实际原因是使用没有任何产品访问权限的角色访问API。
您应该为访问此API的用户角色启用产品访问权限。