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中进行注册和具体属性的配置

1666662744333

属性配置

  • 在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请求

1666680559545

  • 报文接收结果

1666680860860

results matching ""

    No results matching ""