Magento 2 SOAP API WSDL 匿名访问
Magento 2 SOAP API WSDL anonymous access
我需要在我的 Visual Studio 项目中创建对 Magento 2 SOAP API 的服务引用。所以我在 Magento 后端创建了一个 Integration,赋予它所有访问权限并激活它。
但是当我尝试访问位于 http://my.magento/soap/default?wsdl&services=customerCustomerRepositoryV1 的(即客户 API)的 WSDL 时,我得到了异常:
Consumer is not authorized to access %resources
好的,我明白了。我需要访问令牌才能访问这些特定的 'admin' API。因为 public API 和 'quoteGuestCartRepositoryV1' 一样有效。当我在 http://my.magento/soap/default?wsdl_list=1 获得完整的 API 列表时,它也只列出了 public/guest API 的列表。
到目前为止没有问题,但是当我尝试将 'customerCustomerRepositoryV1' 添加为 Visual Studio 中的服务引用时,当然会抛出授权异常。但是我无法将访问令牌实际添加到那里的 header。
有没有办法匿名访问所有 WSDL? Magento 1.x 过去允许这样做。
是的,这是一个 Magento 错误。自最近的 Magento 版本以来,WSDL 不再是匿名可用的。我认为这是开发者的愚蠢决定。
https://github.com/magento/magento2/issues/5330#issuecomment-255222166
对于 'solution':https://community.magento.com/t5/Programming-Questions/Magento-2-C-APIs-SOAP-problem/m-p/49677#M1206
我需要在我的 Visual Studio 项目中创建对 Magento 2 SOAP API 的服务引用。所以我在 Magento 后端创建了一个 Integration,赋予它所有访问权限并激活它。
但是当我尝试访问位于 http://my.magento/soap/default?wsdl&services=customerCustomerRepositoryV1 的(即客户 API)的 WSDL 时,我得到了异常:
Consumer is not authorized to access %resources
好的,我明白了。我需要访问令牌才能访问这些特定的 'admin' API。因为 public API 和 'quoteGuestCartRepositoryV1' 一样有效。当我在 http://my.magento/soap/default?wsdl_list=1 获得完整的 API 列表时,它也只列出了 public/guest API 的列表。
到目前为止没有问题,但是当我尝试将 'customerCustomerRepositoryV1' 添加为 Visual Studio 中的服务引用时,当然会抛出授权异常。但是我无法将访问令牌实际添加到那里的 header。
有没有办法匿名访问所有 WSDL? Magento 1.x 过去允许这样做。
是的,这是一个 Magento 错误。自最近的 Magento 版本以来,WSDL 不再是匿名可用的。我认为这是开发者的愚蠢决定。
https://github.com/magento/magento2/issues/5330#issuecomment-255222166
对于 'solution':https://community.magento.com/t5/Programming-Questions/Magento-2-C-APIs-SOAP-problem/m-p/49677#M1206