2010-07-13 53 views
2

我正在问的Magento时与下面的请求访问被拒绝:Magento的catalogProductInfo - 访问被拒绝原因不明

<?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。

回答

1

实际的原因是,API是使用没有任何产品访问权限的角色访问的。

您应该为访问此API的用户角色启用产品访问权限。

+0

用户角色也是简单登录所必需的。这个答案帮助我摆脱了泡菜。谢谢! – 2011-06-01 09:01:00