Magento 2 SOAP API WSDL 匿名访问

Posted

技术标签:

【中文标题】Magento 2 SOAP API WSDL 匿名访问【英文标题】:Magento 2 SOAP API WSDL anonymous access 【发布时间】:2017-01-08 12:07:39 【问题描述】:

我需要在我的 Visual Studio 项目中创建对 Magento 2 SOAP API 的服务引用。所以我在 Magento 后端创建了一个集成,授予它所有访问权限并激活它。

但是当我尝试在http://my.magento/soap/default?wsdl&services=customerCustomerRepositoryV1 访问(即客户 API)的 WSDL 时,我得到了异常:

消费者无权访问 %resources

好的,我明白了。我需要我的访问令牌来访问这些特定的“管理员”API。因为像 'quoteGuestCartRepositoryV1' 这样的公共 API 确实有效。当我在http://my.magento/soap/default?wsdl_list=1 获得完整的 API 列表时,它也只列出了公共/访客 API。

到目前为止没有问题,但是当我尝试在 Visual Studio 中添加“customerCustomerRepositoryV1”作为服务引用时,当然会抛出授权异常。但我无法将访问令牌实际添加到那里的标题中。

有没有办法匿名访问所有 WSDL? Magento 1.x 曾经允许这样做。

【问题讨论】:

你有没有得到这个?我有完全相同的问题。谢谢。 【参考方案1】:

是的,这是一个 Magento 错误。自从最近的 Magento 发布以来,WSDL 不再是匿名可用的。我认为这是开发人员做出的愚蠢决定。

https://github.com/magento/magento2/issues/5330#issuecomment-255222166

对于“解决方案”:https://community.magento.com/t5/Programming-Questions/Magento-2-C-APIs-SOAP-problem/m-p/49677#M1206

【讨论】:

以上是关于Magento 2 SOAP API WSDL 匿名访问的主要内容,如果未能解决你的问题,请参考以下文章

在python中调用没有WSDL的soap API

Magento SOAP API v2 将简单产品链接到可配置产品

PayPal SOAP API - 不支持版本

如何从命令行调用 SOAP wsdl Web 服务

浅学soap--------2

WSDL 能否指示 Web 服务的 SOAP 版本(1.1 或 1.2)?