call层中方法的实现步骤

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查出的参数值,操作类型,路由类型,

*路由值)

* 其中红色字体为协议中给出的服务名,其对应的idbusinessid

*/

 

//第三步,组装调用接口的请求报文

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

*/

}


你可能感兴趣的:(分享)