Java中的Restful和SOAP Web服务

时间:2012-03-31 14:19:41

标签: java web-services rest soap jax-ws

我们有基于SOAP的Web服务但我们正在考虑使用RESTFUL Web服务,因为RESTFUL Web服务比SOAP服务更快。由于兼容性,我们希望保留SOAP服务,因此将有两个版本的服务:基于SOAP和RESTFUL服务。服务消费者可以选择他们想要使用哪一个。

我的问题是RESTFUL Web服务是Web应用程序,因此我们必须将它们打包到WAR文件中,但是JAX-WS必须放入JAR文件中,因此这两个服务的端点将完全不同。但是这两个服务彼此属于(它们是相同的服务但​​接口是不同的),因此在同一端点上调用它们是合理的。

你知道如何解决这个问题吗?我可以创建一个RESTFUL和SOAP服务的类吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为这是ESB的理想情况。您应该具有实际的服务层,并通过ESB公开其他格式。

或者您可以通过ESB向公众公开基于SOAP和REST的服务(由于许多可扩展性和可管理性的目的,我更喜欢这种服务)并让ESB与实际服务进行通信以响应来自客户更喜欢。

如果您使用像UltraESB这样的ESB,您可以在同一端点(URL)上公开服务的SOAP和REST格式,并且ESB会在与实际服务交谈之前将其转换为相关格式,反之亦然。