有时需要立即发送同步响应,大数据定义,而不必等待在接收方处理消息,如PI 7.31 ICO(将消息id发送回SOAP客户端)中的问题SOAP到IDOC场景,以前我们使用ccBPM来实现此要求,在BPM中打开sync/async桥并使用映射步骤生成响应,然后将其发送给发送方,然后将消息异步发送给接收方。
即使使用没有BPM的适配器模块使用sync/async桥,此要求也不可能将即时同步响应消息发送给发送方。
在本博客中,大数据支持,我想展示如何我们可以使用自定义适配器模块来实现这一点。
为web服务请求创建以下发送方数据类型。
为web服务响应创建以下发送方数据类型。
为接收方文件创建以下数据类型。
为web服务同步请求创建发送方服务接口。
为接收方文件创建以下服务接口。
为接收方文件创建以下服务接口从发送方web服务请求到接收方文件结构的简单消息映射。
配置
为同步web服务请求创建下面的i文件。(SOAP到文件)。
在SOAP发送方通道中配置下面的自定义适配器模块。
正常配置文件接收方通道。
下面是在SOAP发送方通道中配置的自定义适配器模块SyncAsyncResponseBean模块。此适配器模块将同步请求更改为异步,并将消息异步发送到消息传递系统。然后使用下面的CreateWebserviceResponse类生成响应消息,并将响应消息发送给发送方。
CreateWebserviceResponse的代码如下。
在application-j2ee中包含这两个引用-引擎.xml你在EAR应用程序中创建的,该模块用于这些应用程序中的类。
从SOAP UI发送web服务请求,购返利,您可以看到下面我们得到了在PI中创建的消息id的响应到发送方web服务。
您可以看到下面的审核日志,其中显示了成功地将消息异步发送到消息传递系统,然后将响应发送回发送方web服务发送方
文件成功放置在目标文件夹中
映射后我们可以看到预期的文件内容
使用上述自定义适配器模块,我的免费云,我们可以立即发送同步响应消息,云服务器品牌,而无需等待接收方的消息处理。我希望这对社区有帮助。