# WebService
## **概述**
## **配置概览图**
1. 接出配置图
![](https://img.kancloud.cn/a2/cc/a2cc4fdda9c7ca86a4e52b576f0aa9ce_1586x328.png)
2. 接入配置图
![](https://img.kancloud.cn/ef/b5/efb5209a0ab4a856a363cd2e8f08ec64_1586x520.png)
- “IP地址”输入的“0.0.0.0”表示该接入将监听前置系统机器的所有IP
## **接入开发**
- 接入服务启动前,需要将WebService需要发布的类及其相关类的对应的Java文件一起拷贝到通讯接出对应的配置目录,服务启动时会自动编译并加装相关Java文件,并将服务类名配置的类发布为WebService服务务
- WebService开发通常需要定义输入输出数据结构、实现类;实现类方法中可以通过调用:(T)SoapUtils.callServiceImpl (arg0, arg1, …)将WEBSERVICE请求转成前置流程调用,若参数argN需要作为输出参数(接口中定义输出参数形式:@WebParam(mode = Mode.OUT) Holder argX,在调用callServiceImpl时,需要传入argX以及Txx.class两个参数);
- 在前置接入流程中可通过“解包报文”不配置“输入参数”获取callServiceImpl的输入参数到前置流程的“输出参数”.argN;在流程中可以通过设置返回属性“输入参数”设置“return”(输出参数设置“return0”、“return1”…),“输入参数”设置为“${需要返回变量}”将前置流程的处理结果返回给WebService调用
## **接出开发**
- 调用接出访问外围系统的WebService服务时,WebService方法入参需要按顺序arg0…argN保存到入参容器(Map)中传入,WebService方法入参个数需与argN个数保持一致,WebService方法返回对象会返回到入参容器的return键当中
- WebService接入接口实现类方法中,可直接调用SoapUtils. callServiceImpl (param .....) 将客户端传入的参数转换成前置系统内部数据(MAP),arg0,arg1…argN,同时将函数名存放到transCode对应的键中; 该函数返回值可在前置流程设置返回属性返回