您的位置:首页 > 其它

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的类名

*/

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: