call层中方法的实现步骤
2014-03-31 18:07
127 查看
1.1 首先我们先拿到一个接口协议,我们以代理商资质申请手机号码加密码校验接口为例
名称 | 代理商资质申请手机号码加密码校验接口 |
接口协议 | TUXEDO |
服务名(前两个是businessid,后两个是flowid) | cmcvs_CheckAptitudePassWord SVR_CMCVS_CheckAptitudePassWord CLT_CMCVS_CheckAptitudePassWord SVR_CMCVS_CheckAptitudePassWord |
OPCODE | CCEICheckAptitudePassWord |
数据格式 | XML |
路由 | 手机号码 |
请求报文
序号 | 父元素名称 | 前台元素名称 | 后台入参 | 约束 | 类型 | 描述 | 取值说明 |
1.1 | operation_in | content | 1 | 请求内容 | |||
1.1.1 | content | telnum | 1 | VARCHAR2(11) | 手机号码 | ||
1.1.2 | content | password | 1 | VARCHAR2(20) | 密码 | ||
应答报文
返回包体为空,通过报文头中的resp_code来判断手机号码加密码校验是否成功。1. 写call中方法的实现类
Public void checkAptitudePassWord ( )
{
//第一步,组装报文体
//创建报文体
Document doc = DocumentHelper.createDocument();
//创建名字为 CMCVSKey.CONTENT 的父节点
Elementcontent = doc.addElement(CMCVSKey.CONTENT);
//根据请求报文,给父节点添加子节点
// 手机号码(addSubElementToEle(父节点,子节点名称,子节点值))
DocumentUtil.addSubElementToEle(content, "telnum", registerPo.getTelNum());
//密码
DocumentUtil.addSubElementToEle(content,"password",registerPo.getPassword());
/**
*添加子节点也可以使用如下方法
* content.addElement(子节点名).addText(子节点值);
*/
//第二步,获取请求报文头实体
MsgHeaderPO msgHeaderPO = CommonUtil.getMsgHeaderByOperator(null, CommonUtil.getParamValueById(ParamIdConstants.cmcvs_CheckAptitudePassWord),
CMCVSKey.REQUEST_TYPE_QUERY,
CMCVSKey.ROUTE_TYPE_REGION,
registerPo.getTelNum());
/**
* getMsgHeaderByOperator(操作员实体类,根据id查出的参数值,操作类型,路由类型,
*路由值)
* 其中红色字体为协议中给出的服务名,其对应的id为businessid
*/
//第三步,组装调用接口的请求报文
Document docXML = intMsgUtil.createMsg(doc,msgHeaderPO);
//第四步,调用接口返回bean
IntReturnWrap rw = intMsgUtil.invokeRtnMapOrList(docXML, "");
/**
* invokeRtnMapOrList(请求报文,地市编码region)为接口调用平台
*/
//第五步,判断结果
if (SSReturnCode.SUCCESS != rw.getStatus())
{
thrownew ReceptionException(rw.getReturnMsg());
}
/**
*if中,根据方法具体返回类型而定,
*①如果无返回类型void,则只需抛出异常;
*②若返回为实体bean,则需将返回的map转换成对应的bean,用
*CommonUtil.createObjectByMap(fromAttr,*toAttr,rw.getRtnmap(),RegisterPo.class.getName());
*③如果返回其他类型则调用相应的方法,
*其中createObjectByMap中的参数分别对应
* fromAttr:请求报文各个元素组成的数组
* toAttr:相对应的Po中的各个字段元素
* rtnMap:返回的map
*classType:对应po的类名
*/
}
相关文章推荐
- [Cocoa]_[初级]_[Cocoa入门级界面开发之界面初级程序编辑的步骤和实现方法]
- 使用JS中的Call方法实现继承和多重继承
- JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
- EM算法的python实现的方法步骤
- js定义对象的两种方法以及js用call来实现类的继承
- 实现拖放的步骤,有关的事件,方法
- RMI(远程方法调用)实现远程操作电脑的步骤
- 一种真正实现RMI无状态化的方法续:JVM源码修改步骤
- AJAX实现步骤,XMLHttpRequest对象的方法
- 基于JavaScript实现继承机制之调用call()与apply()的方法详解
- MySQL事务处理实现方法步骤
- android studio实现Jni(C/C++)单步调试方法步骤-标准配置教程
- JS中通过call方法实现继承
- CSS3 media queries + jQuery实现响应式导航方法步骤详解
- 四个步骤实现在ESRI ArcMap中加载17.6G离线卫星地图的方法
- 在Linux环境命令行中实现Wifi 连接的方法步骤详解
- java中字符串处理、串联和转换的几个常用方法,以及如果需要自己编程实现的具体实施步骤。
- TIPTOP GP5.1 实现链接网页方法 ui.Interface.frontCall
- 读书随码《php核心技术与最佳实践》 魔术方法__call()实现字符串链式操作
- JavaScript面向对象的方法实现继承:call方法