【问题标题】:WSE 2.0 web service client in Visual Studio 2013Visual Studio 2013 中的 WSE 2.0 Web 服务客户端
【发布时间】:2016-02-28 10:14:36
【问题描述】:

我正在尝试使用第三方提供的旧网络服务。
此 WS 使用 DIME 作为附件。

WCF 中的 AFAIK 无法使应用程序/dime 响应内容类型工作,因此我在我的解决方案中添加了一个 Framework 2.0 类库,以便使用 WSE 过时的 Web 服务客户端和代理类。

我可以构建一个客户端来使用带有 DIME 附件的 WS 吗?如果是这样,我如何在最近的 Visual Studio 环境中构建过时的 WSE 2.0 客户端?

【问题讨论】:

  • 答案是你应该尽快逃离这个第三方。如果他们不称职以至于仍然使用 DIME,那么他们可能不适合作为商业伙伴。

标签: visual-studio wcf wse


【解决方案1】:

我使用WSE 3.0找到了解决此问题的有效方法。
使用 WSE 可以更改默认服务代理,如 here 所述。基本上:

  • 添加对Microsoft.Web.Services2.dll的引用
  • 将服务引用添加到带有 DIME 附件的服务
  • 手动更改 自动生成 Reference.cs 文件中的扩展类为Microsoft.Web.Services2.WebServicesClientProtocol

这将使您能够访问服务客户端的ResponseSoapContext 成员。
ResponseSoapContext 包含 Attachments 成员:它是最后执行的 Web 方法的 DIME 附件的集合。

【讨论】:

  • 您可能需要将短语“使用 WSE 3.0”更改为“使用 WSE 2.0”,因为您的解决方案似乎根本不使用 v3。
【解决方案2】:

自 Visual Studio 2008 起,Web Service Enhancements 3 (WSE 3) 不受官方支持。原因是 Microsoft 希望您将代码迁移到 WCF。查看下面的分步博客链接,其中包含有关如何在 Visual Studio 中启用 WSE 的屏幕截图。理论上,它应该可以在 Visual Studio 2013 中运行。

Enable Web Services Enhancements (WSE) 3.0 in Visual Studio 2012, 2010 and 2008

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-17
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 2013-07-03
    相关资源
    最近更新 更多