java解析esb模版数据,通过esb报文调用接口,返回报文数据

本文介绍了如何使用Java解析ESB模板数据,通过构建请求报文调用接口并处理返回的报文数据。讲解了从请求报文格式到创建请求对象,再到封装返回对象和处理异常的详细过程,涉及XML解析和HTTP响应。
摘要由CSDN通过智能技术生成

ESB提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口,但是ESB并没有http请求效率高。

废话就不多说了,先看看怎么实现的吧。

首先确定请求报文的格式,以我在项目中的报文为例:

CMercPerformanceMgmt

queryStoreScores

SFS

5136fa413f96493391d6075f654d4d83bcfbbc57bd8e47e5

0224136722

1

5

0

这就是一个接口的请求报文,一般报文格式是固定的,需要改动的只是报文的节点,被调用方接口也是根据节点筛选出所需要的请求参数,另外,报文是用POST方式提交,参数是封装在body中的。

下面是被请求接口:为了各位看的明白些,我狠添注释,这样代码和注释一起看比较方便

//RequestMapping,这个是spring中截获请求的url作用

@RequestMapping(“/my_product_review”)

public String getPendingOrderItems(HttpServletRequest request, HttpServletResponse response)

throws IOException {

//这里是从request中取到报文,getMbfRequestInput方法会在下面贴出代码

MbfRequestInput mbfRequestInput = getMbfRequestInput(request);

//根据报文中参数创建请求对象,这里只要PendingOrderItemDTO 中的属性跟请求报文的节点一致即可(也就是报文中 中的节点名称)

PendingOrderItemDTO requestDTO = (PendingOrderItemDTO) mbfRequestInput

.getMbfBody(PendingOrderItemDTO.class);

//封装返回对像的报文

MbfResponseWrapper mbfResponseWrapper = new MbfResponseWrapper(

mbfRequestInput.getMbfHeader());

// 处理请求参数,orderVo为最终返回报文的类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值