定义Web服务以供其他人实现和我的软件使用的最佳方式

时间:2011-09-13 20:41:54

标签: web-services http rest soap

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

但是这很费时间,我们有几个网站想要导入他们的数据,因此解决方案是我们定义一个标准并说“嘿,你想让我们导入你的数据吗?那很好,只需实现“this”并在我们的软件中输入您的URL。

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

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

只需实现一个Web服务,然后提供它们,然后说:“嘿,像这样制作你的web服务”似乎还不够。

有什么建议吗?

4 个答案:

答案 0 :(得分:1)

如果您致力于通过HTTP使用服务,那么SOAP可能是最好的方法。你可以 去其他方式(例如,简单的HTTP GET,只要你不必向它们提供大量的输入数据),但我认为SOAP是目前最常见的。

如果你实际上并不局限于HTTP,那么其他一些TCP接口可能会更有效率,特别是如果正在传输像图像这样的二进制数据,因为SOAP base64编码二进制数据,这会在数据包大小上增加30%的开销

答案 1 :(得分:0)

您可能需要查看(oData)http://msdn.microsoft.com/en-us/data/hh237663

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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