【问题标题】:Callout mediator doe'snot giving any response in WSO2 ESB 4.7.0标注调解器在 WSO2 ESB 4.7.0 中没有给出任何响应
【发布时间】:2013-11-13 05:35:40
【问题描述】:

当我在 wso2 esb 中使用调用调解器时,我使用的是 DSS Endpoint 只收到请求,我没有得到回应,即使我把登录 出序列。我在这里发送我的代理服务。

 <proxy xmlns="http://ws.apache.org/ns/synapse"
           name="Binaryformat"
           transports="https http"
           startOnLoad="true"
           trace="disable">
       <description/>
       <target>
          <inSequence>
    <property name="messageType" value="application/json" scope="axis2"/>
             <property name="ContentType" value="application/json" scope="axis2"/>
             <log level="full">
                <property name="M1" value="*************Callout  PROXY*************"/>
             </log>

             <callout serviceURL="http://192.168.1.201:9769/services/emp_DataService/">
                <source type="envelope"/>
                <target key="response"/>
             </callout>
             <log level="full">
                <property name="Status" expression="get-property('response')"/>
             </log>
             <header name="To" action="remove"/>
             <property name="RESPONSE" value="true"/>
             <!--<property name="OUT_ONLY" value="true"/>-->
             <send/>
          </inSequence>
          <outSequence>
            <log level="full">
                <property name="Status" expression="get-property('response')"/>
             </log>
    <payloadFactory media-type="xml">
                <format>
    <response>outonly</response>
                </format>
                <args/>
             </payloadFactory>
             <property name="OUT_ONLY" value="true"/>
             <send/>
          </outSequence>
       </target>
    </proxy>

【问题讨论】:

    标签: wso2 wso2esb wso2carbon synapse


    【解决方案1】:

    我认为您错误地配置了调用中介。在此处检查标注调解器示例

    http://docs.wso2.org/display/ESB470/Sample+430%3A+Simple+Callout+Mediator+for+Synchronized+Web+Service+Invocation

    除了将 OUT-ONLY 设置为“true”外,还意味着在消息上表示一旦从 ESB 转发消息,就不会期望它有响应消息。您可以从这里http://docs.wso2.org/display/ESB470/Generic+Properties 阅读更多关于 OUT_ONLY 和其他属性的信息

    【讨论】:

      【解决方案2】:

      callout mediator 是同步的,它将以相同的顺序返回响应(您的 inSequence,通过执行阻塞调用):您的 outSequence 是不必要的。

      但是,您应该添加一个 faultSequence 来记录任何错误

      您应该在 ESB 和您的端点之间使用 tcpmon(在 ESB_HOME/bin 中启动 tcpmon)来验证发送到您的服务的请求内容并验证您是否从您的服务获得响应。

      【讨论】:

      • 我的请求进展顺利,也得到了响应,问题是我无法将响应发送给客户,请您帮忙。
      • 尝试在你的序列中添加这个属性,在 之前:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 2015-02-27
      相关资源
      最近更新 更多