【问题标题】:Add Web Reference in Visual Studio with Header在 Visual Studio 中使用标题添加 Web 引用
【发布时间】:2019-11-04 12:46:36
【问题描述】:

让我描述一下我的问题。我正在尝试添加对 Magento 2.x SOAP API 的 Web 引用。

在 Magento 1.x 中,我们可以只使用给定的 soap 服务 URL 并使用 Visual Studio 内置的 UI 工具“添加服务参考 > 高级 > Web 参考”生成类

但在 Magento 2.x 中,url 需要一个“Authorization”标头来返回 WSDL。

我尝试使用 Postman 使用标头访问 API,它返回 WSDL 很好。但是没有选项可以在 Visual Studio“添加 Web 引用”对话框中包含标题。

谁能指出我正确的方向?

【问题讨论】:

  • 您可以通过打开保存到本地文件的下载 WSDL 来快速解决此问题。只需将完整的文件路径复制并粘贴到 VisualStudio 中的 Web 服务 URL 输入即可。
  • WSDL 和 SOAP 都有些过时了——您是否考虑过使用它们的 REST Web 服务? (请注意,VS 中的“添加 Web 引用”功能仅适用于 WSDL/SOAP,不适用于 REST)
  • @Filburt 是的,我们最终就是这样前进的
  • @Dai 是的,我们从 Rest 开始。但是我们遇到了序列化和反序列化问题。
  • @Dai 如果你真的想去全新的花式裤子,看起来gRPC 是最新的时尚。

标签: .net visual-studio magento2 soap-client


【解决方案1】:

对于那些偶然发现这一点的人。 我按照@Filburt 的评论做了以下事情。


使用 Rest 和 Postman GET 生成管理员令牌(参考 Magento documentation

  1. 标题:内容类型 - 应用程序/json
  2. 正文:{“用户名”:“我的用户名”,“密码”:“我的密码”}

使用 Postman GET 请求点击我所需的个人 Magento SOAP APIs

Used Postman in-built Authorization > Bearer Token : 从上一步获取价值

然后使用 .wsdl 扩展名在本地保存生成的 XML


在 Visual Studio 中使用内置的“添加服务引用”UI 并导入 wsdl 文件。

所有服务均已成功生成。

【讨论】:

    猜你喜欢
    • 2012-03-03
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 2023-03-11
    • 2010-10-02
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多