【问题标题】:WSO2 ESB How to see the outsequence logWSO2 ESB 如何查看外序日志
【发布时间】:2014-12-29 17:56:41
【问题描述】:

我在 WSO2 ESB 中编写了一个代理。使用日志文件或监视器功能,我可以看到 inSequence 序列中介器中所有消息中介的日志,但我找不到 outSequence 的日志。我的代理示例是:

 <proxy name="FlightStatusService"
          transports="https http"
          startOnLoad="true"
          trace="enable">
      <description/>
      <target>
         <inSequence>
            <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
            <property name="OUT_ONLY" value="true"/>
            <property name="TIME_1"
                      expression="get-property('SYSTEM_TIME')"
                      scope="default"
                      type="LONG"/>
            <property xmlns:air="http://airline.services.esb.wso2.packt.com"
                      name="airlineInTransport"
                      expression="fn:concat('Airline Company - ', //air:updateStatus/air:airline)"
                      scope="transport"/>
            <property name="airlineInDefault"
                      expression="get-property('transport','airlineInTransport')"
                      scope="default"/>
            <switch xmlns:air="http://airline.services.esb.wso2.packt.com"
                    source="//air:updateStatus/air:airline">
               <case regex="EK">
                  <event topic="flightStatus/emirates"/>
               </case>
               <case regex="AA">
                  <event topic="flightStatus/aa"/>
               </case>
               <case regex="DL">
                  <event topic="flightStatus/delta"/>
               </case>
               <default>
                  <log level="custom">
                     <property name="noAirline" value="There is no Airline with these letters"/>
                  </log>
               </default>
            </switch>
         </inSequence>
         <outSequence>
            <property name="TIME_2"
                      expression="get-property('SYSTEM_TIME')"
                      scope="default"
                      type="LONG"/>
            <script language="js">var time1 = mc.getProperty("TIME_1");
var time2 = mc.getProperty("TIME_2");
var timeTaken = time2 - time1;
print("--------------  " + timeTaken + " ms  -----------------");
mc.setProperty("RESPONSE_TIME", timeTaken);</script>
            <log level="full" category="DEBUG">
               <property name="airlineInTransport"
                         expression="get-property('default', 'airlineInDefault')"/>
               <property name="Time Duration in ms: " expression="get-property('RESPONSE_TIME')"/>
            </log>
            <send/>
         </outSequence>
    </proxy>

【问题讨论】:

    标签: wso2 wso2esb


    【解决方案1】:

    由于您的代理支持OUT_ONLY Activity,所以 outSequence 不会被命中。

    已编辑 -> 添加了代理以供参考

    请参考代理

    <proxy name="FlightStatusService"
                  transports="https http"
                  startOnLoad="true"
                  trace="enable">
              <description/>
              <target>
                 <inSequence>
                    <property name="TIME_1"
                              expression="get-property('SYSTEM_TIME')"
                              scope="default"
                              type="LONG"/>
                    <property xmlns:air="http://airline.services.esb.wso2.packt.com"
                              name="airlineInTransport"
                              expression="fn:concat('Airline Company - ', //air:updateStatus/air:airline)"
                              scope="transport"/>
                    <property name="airlineInDefault"
                              expression="get-property('transport','airlineInTransport')"
                              scope="default"/>
                    <switch xmlns:air="http://airline.services.esb.wso2.packt.com"
                            source="//air:updateStatus/air:airline">
                       <case regex="EK">
                          <event topic="flightStatus/emirates"/>
                       </case>
                       <case regex="AA">
                          <event topic="flightStatus/aa"/>
                       </case>
                       <case regex="DL">
                          <event topic="flightStatus/delta"/>
                       </case>
                       <default>
                          <log level="custom">
                             <property name="noAirline" value="There is no Airline with these letters"/>
                          </log>
                       </default>
                    </switch>
                    <loopback/>
                 </inSequence>
                 <outSequence>
                    <property name="TIME_2"
                              expression="get-property('SYSTEM_TIME')"
                              scope="default"
                              type="LONG"/>
                    <script language="js">var time1 = mc.getProperty("TIME_1");
        var time2 = mc.getProperty("TIME_2");
        var timeTaken = time2 - time1;
        print("--------------  " + timeTaken + " ms  -----------------");
        mc.setProperty("RESPONSE_TIME", timeTaken);</script>
                    <log level="full" category="DEBUG">
                       <property name="airlineInTransport"
                                 expression="get-property('default', 'airlineInDefault')"/>
                       <property name="Time Duration in ms: " expression="get-property('RESPONSE_TIME')"/>
                    </log>
                    <send/>
                 </outSequence>
            </proxy>
    

    【讨论】:

    • 非常感谢 Vanji。我开始使用一个示例,并对其进行了修改以实现功能,而无需关心以前的配置。
    • 嗨 Vanji,我觉得现在赞美我还为时过早 :( 尽管我删除了 OUT_ONLY 和 FORCE_SC_ACCEPTED 属性调解器,但我看不到外序列日志。还有其他提示或建议吗?跨度>
    • 嗨,Pymoo,中介的基本流程是客户端(发送请求)-> InSquence-> 后端->(收到响应)输出序列。在您的情况下,您没有后端。因此,Outsquecen 不会订婚。因此,使用 Loopback mediator[1] 来参与 outsquence。从 WSO2 ESB 480 开始支持此功能 [1]docs.wso2.com/display/ESB481/Loopback+Mediator
    • 对于环回调解器也不走运,我无法修复此示例以使输出序列正常工作,可能它有任何问题。也许我应该尝试一些不同的东西。还有什么建议吗?感谢您抽出时间 Vanji。
    • 嗨Pymoo,请参考添加的代理!在默认用例中,它将命中 Outsequence
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    相关资源
    最近更新 更多