【问题标题】:Best way to define a webservice for others to implement and my software consume [closed]定义网络服务供其他人实施和我的软件使用的最佳方式[关闭]
【发布时间】:2011-09-13 20:41:54
【问题描述】:

我们有一个从其他第三方网站读取数据的软件,到目前为止一切都很好,但是对于我们想要导入数据的每个新网站,我们必须从他们的网络服务中读取数据,因此我们必须在我们的软件中实现这一点.

但这很耗时,而且我们有几个网站想要导入他们的数据,所以解决方案是让我们定义一个标准并说“嘿,你想让我们导入你的数据吗?没关系,只需实现“this”并将您的 URL 输入到我们的软件中即可。

但由于我对网络服务没有太多经验,所以我不知道从哪里开始。

我们的软件是一个桌面应用程序,大多数第三方网站都使用网络服务,所以这是第一个想法,但最好的实现方式是什么?

仅仅实现一个 Web 服务并为它们提供 WSDL 并说:“嘿,让你的 Web 服务像这样”似乎还不够。

有什么建议吗?

【问题讨论】:

  • 为什么给他们 WSDL 还不够?他们不能实现符合它的网络服务吗?
  • 这正是我想弄清楚的,如果只是一个 WSDL 就足够了,或者是否有任何更简单或更好的方法。因为在 .NET 和 Java 中,SOAP 和 WSDL 是相当标准的,但对于其他语言,它似乎并不那么简单。

标签: web-services http rest soap


【解决方案1】:

如果您致力于通过 HTTP 使用服务,那么 SOAP 可能是最好的选择。您可以采用其他方法(例如,一个简单的 HTTP GET,前提是您不必向它们提供太多输入数据),但我认为 SOAP 是迄今为止最常见的。

如果您实际上不限于 HTTP,那么其他一些 TCP 接口可能会更高效,尤其是在传输图像等二进制数据时,因为 SOAP base64 编码二进制数据,这会在数据包大小上增加 30% 的开销.

【讨论】:

    【解决方案2】:

    您可能想看看以下内容 (oData) http://msdn.microsoft.com/en-us/data/hh237663

    【讨论】:

      【解决方案3】:

      尽管可能很烦人,但 WSDL 似乎是执行此操作的标准方式,因为它为两者提供请求和响应数据。从理论上讲,WSDL 也应该符合 WS-I(这真的很烦人)。 '虽然害怕,但我不能提供更多。
      -mja

      【讨论】:

        【解决方案4】:

        一种选择是询问他们他们需要什么,以便能够编写您可以使用的网络服务。可能他们的技术能力不足以实现基于 WSDL 的服务,但他们可能没有问题将基于 REST 的服务放在一起。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多