我有一个系统(一种聚合器),该系统与数百种不同的SOAP服务集成在一起-大多数服务具有相同的业务功能,但是每个服务在SOAP请求中具有不同的数据结构,很少有2个API调用来完成一个交易。
当前的服务集成工作流程是
我看到这是重复的,不明智的工作,并且需要为每个新的服务集成进行开发。
是否存在与许多系统集成的不同方法?是否有任何可以基于配置生成肥皂请求的库,或者我必须依靠某些Java SOAP,Spring库来根据自己的配置创建自定义SOAP xml请求?我看到Spring的WebServiceGatewaySupport
用于Web服务客户端,但是需要从wsdl创建的存根吗?
将soap request xml定义为每个服务的模板,使用输入数据生成xml是否明智?
我想过的其他方法是将每个集成开发为独立的微服务,该API位于将每个请求路由到特定服务的API网关下。但是这种设计方法将运行数百个服务,从而消耗更多的资源(在Spring boot
的情况下)。
生成存根并将jar存入磁盘,使用类加载器加载此jar并通过反射使用存根-我认为这不是那么简单。
使用无服务器看上去很有希望,但不可能立即实现。