我们有基于SOAP的Web服务但我们正在考虑使用RESTFUL Web服务,因为RESTFUL Web服务比SOAP服务更快。由于兼容性,我们希望保留SOAP服务,因此将有两个版本的服务:基于SOAP和RESTFUL服务。服务消费者可以选择他们想要使用哪一个。
我的问题是RESTFUL Web服务是Web应用程序,因此我们必须将它们打包到WAR文件中,但是JAX-WS必须放入JAR文件中,因此这两个服务的端点将完全不同。但是这两个服务彼此属于(它们是相同的服务但接口是不同的),因此在同一端点上调用它们是合理的。
你知道如何解决这个问题吗?我可以创建一个RESTFUL和SOAP服务的类吗?
谢谢!
答案 0 :(得分:0)
我认为这是ESB的理想情况。您应该具有实际的服务层,并通过ESB公开其他格式。
或者您可以通过ESB向公众公开基于SOAP和REST的服务(由于许多可扩展性和可管理性的目的,我更喜欢这种服务)并让ESB与实际服务进行通信以响应来自客户更喜欢。
如果您使用像UltraESB这样的ESB,您可以在同一端点(URL)上公开服务的SOAP和REST格式,并且ESB会在与实际服务交谈之前将其转换为相关格式,反之亦然。