WSO2 ESB代理基本服务链接



我认为这是一个相当直接的服务链接场景。

我所想做的就是将一些数据转发给代理服务,然后该代理服务将对数据进行迭代,并使用该数据中的ID("entity_ID")(它可以成功检索)来查找WSO2数据服务服务器中的资源。一旦它得到了该请求的结果,我想将其转发到另一个应用程序(在本例中为RequestBin)。

请看下面我的代理配置:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="pollService"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full"/>   
         <iterate id="iter1"
                  expression="//*[local-name()='Change']"
                  sequential="true">
            <target sequence="anon">
               <sequence>
                  <log level="full"/>
                  <property name="uri.var.entityid" expression="//*[local-name()='entity_id']"/>
                  <call>
                     <endpoint>
                        <http method="get"
                              uri-template="http://54.66.155.36:9764/services/civicrm/activity/{uri.var.entityid}"/>
                     </endpoint>
                  </call>
                  <log level="full"/>
                  <call>
                     <endpoint>
                        <http method="post" uri-template="http://requestb.in/1c79v711"/>
                     </endpoint>
                  </call>
                  <log level="full"/>
               </sequence>
            </target>
         </iterate>
      </inSequence>
   </target>
   <description/>
</proxy>

我目前没有得到任何迹象表明这两个电话已经响起。

如有任何协助,我们将不胜感激。

谢谢。

您可以启用wirelog并验证调用是否已触发。请参阅下面的博客文章来了解wirelog。

1http://mytecheye.blogspot.in/2013/09/wso2-esb-all-about-wire-logs.html

您是否还可以提供一个示例消息(进入代理的内容),并查看代理中发生的内容的更详细信息,请进入[esb home]/repository/conf/并打开log4j.properties文件,然后设置log4j.category.org.apache.synapse=DEBUG,也可以按照@robin的建议进行。尝试放置

 <log level="full" category="DEBUG" separator="-----:-----"/>

在您的代理中,您希望在其中查看此时的消息状态。

最新更新