标注调解员doe没有在WSO2 ESB 4.7.0中给出任何响应

时间:2013-11-13 05:35:41

标签: wso2 wso2esb wso2carbon synapse

当我在wso2 esb中使用call out mediator时,我使用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>

2 个答案:

答案 0 :(得分:5)

我认为你错误地配置了callout mediator。检查这里的标注调解员样本

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和其他属性的更多信息

答案 1 :(得分:0)

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

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

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