【问题标题】:How to create a WCF client to connect to a web service built using JRuby and sinatra?如何创建 WCF 客户端以连接到使用 JRuby 和 sinatra 构建的 Web 服务?
【发布时间】:2011-07-17 00:13:30
【问题描述】:

我有一个用 JRuby 编写并使用 sinatra 的 REST Web 服务。它有一个端点。

http://localhost:4567/v4/start.htm

我有一个连接到 JRuby Web 服务的 Javascript Web 客户端。

但现在我想使用 C# 和 WCF 连接到这个 Web 服务,而不是使用 Javascript Web 客户端。

我该怎么做?

谢谢

【问题讨论】:

  • 您真的要为此使用 WCF 客户端吗?您必须“手动”创建它,因为 WCF 不支持为 REST 服务生成客户端。在合同不可用的许多情况下,人们最终会使用通用 HTTP 库,例如 HttpWebRequest 或 WebClient。如果您想为此使用 WCF 客户端,则需要创建一个 [ServiceContract] 接口并添加映射到服务的方法。

标签: c# ruby wcf web-services soap


【解决方案1】:

在客户端中使用 WCF 的经典模型假定 SOAP 和 WSDL 的可用性——这两者都不适用于 REST 服务。您有两种选择:

  1. 使用手工制作等效的 REST 样式服务合同 [WebGet]/[WebInvoke] 并使用 WebChannelFactory 创建代理
  2. 查看REST Starter Kit Preview 2 或新的Web API 将找到一个名为 HttpClient 的类来调用 REST 服务

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    相关资源
    最近更新 更多