HttpServer
HttpServer是在Http通讯中服务端的配置,主要用于接收Http客户端传输的请求,在处理报文后进行指定报文的返回。
服务配置
- HttpServer服务所在位置:lib==>be-esb-plugin-http-2.0.jar==>com==>brilliance==>eibs==>core==>service==>instance==>server==>HttpServer
- HttpServer插件需要继承插件共有的父类AbsServer
- 该服务需要在services.xml中进行注册和具体属性的配置
属性配置
在services.xml中需要对服务连接的具体属性进行配置
当有多个路径以及接口进行配置时,需要使用逗号进行分割,并且需要分别进行对应
属性 | 描述 | 是否必须 | 示例 |
---|---|---|---|
port | 指定服务器连接端口 | 是 | 10004 |
uri | 指定服务器访问路径 | 是 | /recvmsg |
class | Servlet服务器 | 是 | classes.CowsRecvServlet |
interfaceName | 指定接收Http请求的接口名 | 是 | cowsserver |
transactionName | 指定接收Http请求的交易名 | 是 | recv |
- 实际属性配置
<services state="on" hotDeploy="on">
<service id="xxx" state="on" type="http">
<property name="port" value="9080"/><!-- 指定服务器连接端口 -->
<property name="uri" value="/xmm/xxx" /><!-- 指定服务器访问路径 -->
<!-- 多个Servlet用逗号分割 -->
<property name="class" value="classes.KcmsQueryErrorServlet" /><!-- 多个Servlet用逗号分割 -->
<property name="interfaceName" value="test1"/><!-- 指定接收Http请求的接口名 -->
<property name="transactionName" value="xxx"/><!-- 指定接收Http请求的交易名 -->
</service>
</services>
示例演示
- Http服务端收报
<transaction id="xxx" version="2.0" loglevel="info">
<step id="requestStep">
<filter type="in" ref="publicFilter">
<field tag="request" value="${this[0]}"/>
<field tag="response" value="${this[1]}"/>
<field tag="msg" value="${IOUtils:toString(request.getInputStream(),'#{KCMS_ENCODING}')}"/>
<log value="接收到一笔报文:${msg}"/>
</filter>
<!-- 业务处理 -->
<log value="业务处理完成!"/>
<!-- 返回报文 -->
<filter type="in" ref="publicFilter">
<field tag="common_tmp" type="map"/>
<field value="${common_tmp.put('rtncode','LF0I0000')}"/>
<field value="${common_tmp.put('rtnmsg','受理成功')}"/>
<field value="${toJson(common_tmp)}" scope="this"/>
</filter>
<log value="${this}"/>
</step>
</transaction>
- 通过postman发送Http请求
- 报文接收结果