我开发了两个java Web服务;一个是基于SOAP的,另一个是REST。现在我要问一些客户端(他们可以是java /非java客户端)来使用我的Web服务。现在我需要将哪些信息传递给客户才能使用我的网络服务?
答案 0 :(得分:0)
使用SOAP,您应该共享描述该服务的 WSDL document 。这个应该足够,但往往不是;最常见的缺失是需要什么类型的安全性以及应该使用什么样的交互模式(即如何将方法串在一起)。从理论上讲,WSDL可以描述这些东西。实际上,你永远不会在野外看到它们。事实上,通过在人类可读的文档中正确记录它们,您可能最好不要进行交互模式。
使用REST,理想通常被认为只是将URL分享到服务的根页面,因为服务应该是自我描述的,在这种程度上客户可以通过以下链接找到要做的事情。这是HATEOAS原则的核心。在实践中,它要复杂得多。许多JAX-RS实现可以通过 WADL document 发布服务描述,这可以提供帮助。与REST一起使用的典型安全模型比使用SOAP更容易被发现,但即使如此仍然相当不透明,并且交互模式仍然存在问题(在服务中激发随机内容,希望它工作糟糕,无论您是在做SOAP还是REST或者其他)。