在现有SOAP Web服务构建REST包装(Building REST wrapper over a

2019-09-19 03:55发布

我的团队正在开发在现有的基于SOAP的Web服务的REST服务的包装。 我们并不确切地知道SOAP服务的内部结构,只需要访问WSDL文件。 我们的REST服务包装将只是一个一对一的映射。

我知道在现实其不坚持REST的理念,即使请允许我这样称呼它REST服务。 此REST服务将被部署在Tomcat和许多客户会同时访问它。

当前实现的是,为每个客户端,我们将创建一个代理对象(使用SOAP WSDL代理类)。 这个代理对象将被用来调用SOAP的API。 肥皂需要身份验证的详细信息在代理对象绑定,所以我们同时使第一REST调用建立会话在运行时内存中保存这些对象为每个客户端。

所保存的目的是在使用的SessionID标识符运行时取出。 现在的问题是,这些代理对象占用系统内存块,只有少数REST客户端的支持。 (在默认64 MB只有19个REST客户端可以运行)。 这是麻烦的,现在我们要改变做法,并需要您的建议。

请让我知道是否有更好的解决方案存在。 我们不希望一个数据库来存储对象。

Answer 1:

如果所有你能做的就是调用一个HTTP / SOAP服务,并没有访问代码,那么你使用适当的休息约定创建REST服务,然后实现翻译,以SOAP服务calls..you自动创建SOAP客户端类从WSDL,这将节省您的时间。

但你需要编写自定义转换层,不要使一组哈克REST服务,并尝试将其融入SOAP模型。 尽量忠于休息,使译文更加层将complicated..it是值得的。



文章来源: Building REST wrapper over an existing SOAP web service