WSO2 ESB与MB协同工作

WSO2 ESB与MB协同工作,wso2,wso2esb,Wso2,Wso2esb,我正在尝试将一条消息从本地客户端发送到ESB,并将其重定向到同一服务器上的MB。 这条消息被删除了。客户端正在等待响应,直到应用程序服务器抛出错误 我的环境如下 WSO2 ESB 4.8.0(端口偏移量1) WSO2 MB 2.1.1(端口偏移量2) IBM WebSphere Application Server 8.5.5.1 ESB的代理服务配置 <proxy name="SMSQProdProxy" transports="http" startOnLoad="true" trac

我正在尝试将一条消息从本地客户端发送到ESB,并将其重定向到同一服务器上的MB。 这条消息被删除了。客户端正在等待响应,直到应用程序服务器抛出错误

我的环境如下 WSO2 ESB 4.8.0(端口偏移量1) WSO2 MB 2.1.1(端口偏移量2) IBM WebSphere Application Server 8.5.5.1

ESB的代理服务配置

<proxy name="SMSQProdProxy" transports="http" startOnLoad="true" trace="enable">
    <target>
        <inSequence>
            <property name="OUT_ONLY" value="true"/>
            <send>
                <endpoint>
                    <address uri="jms:/SMSQ?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&amp;java.naming.provider.url=repository/conf/jndi.properties&amp;transport.jms.DestinationType=queue"/>
                </endpoint>
            </send>
         </inSequence>
         <outSequence>
            <send/>
         </outSequence>
    </target>
    <publishWSDL key="gov:/trunk/services/SendToSMSQProxy.wsdl">
       <resource location="SMSWSService_schema1.xsd"
               key="gov:/trunk/services/SMSWSService_schema1.xsd"/>
    </publishWSDL>
</proxy>
wso2-esb-errors.log

2014-03-21 14:18:54276[-][HTTP侦听器I/O dispatcher-1]读取请求后警告SourceHandler连接超时:HTTP-incoming-3

wso2-esb-trage.log

INFO TRACE_LOGGER Proxy Service SMSQProdProxy 
received a new message from : xx.xx.xx.xx
INFO TRACE_LOGGER Message To: /services/SMSQProdProxy
INFO TRACE_LOGGER SOAPAction:
INFO TRACE_LOGGER WSA-Action:
INFO TRACE_LOGGER Using the anonymous in-sequence of the proxy service for mediation
INFO TRACE_LOGGER Start : Sequence <anonymous>
INFO TRACE_LOGGER Sequence <SequenceMediator> :: mediate()
INFO TRACE_LOGGER Mediation started from mediator position : 0
INFO TRACE_LOGGER Start : Property mediator
INFO TRACE_LOGGER Setting property : OUT_ONLY at scope : default to : true (i.e. constant : true)
INFO TRACE_LOGGER End : Property mediator
INFO TRACE_LOGGER Start : Send mediator
INFO TRACE_LOGGER Sending message through endpoint : null resolving to address = jms:/SMSQ?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties&transport.jms.DestinationType=queue
INFO TRACE_LOGGER SOAPAction:
INFO TRACE_LOGGER WSA-Action:
INFO TRACE_LOGGER End : Send mediator
INFO TRACE_LOGGER End : Sequence <anonymous>
INFO TRACE\u记录器代理服务SMSQProdProxy
收到来自以下地址的新消息:xx.xx.xx.xx
信息跟踪\记录器消息发送至:/services/SMSQProdProxy
信息跟踪记录程序操作:
信息跟踪记录器WSA操作:
INFO TRACE_记录器按代理服务的顺序使用匿名进行调解

INFO TRACE_LOGGER Start:Sequence

您可以在in Sequence的OUT_ONLY属性之后添加以下内容,以返回到客户端。此属性将强制ESB使用HTTP 202响应客户端

<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>

Yohan,
您遇到的新错误似乎与MB集成流无关。会话超时后您是否访问了管理控制台?你能不停地重复这个问题吗?或者这只是一次发生?

当您将
OUT\u ONLY
属性设置为true时,您的意思是,您没有在代理结束后等待响应。因此,在
outSequence
中删除
send
中介

如果要强制代理向客户端发送响应,请删除
Out\u仅
属性,并在
insesequence
部分中,在
endPoint
mediator之后设置此属性

property name="FORCE_SC_ACCEPTED"  value="true"  scope="axis2"  type="STRING"

outSequence
部分保留
mediator
..

您确定repository/conf/jndi.properties配置正确吗?亲爱的Jean,我在这篇文章中添加了jndi.properties。谢谢。Yohan,我不知道你想解决什么问题。消息是否没有发送到MB?您需要知道如何解决客户端超时问题吗?亲爱的Chris。MB确实收到了客户机发出的消息,但客户机不知道该过程已完成,并且仍在等待ESB的响应,直到超时。我不确定是否缺少任何内容,因此响应没有从MB发送到ESB或从ESB发送到客户端?Chris,感谢您的回复。它起作用了。我收到了新的错误信息,并将其粘贴到问题上。查莉莎,我可以不断地重现这个问题。是的,我在超时之前/之后访问了管理控制台。如果你需要,我可以提供这个问题的任何细节。
property name="FORCE_SC_ACCEPTED"  value="true"  scope="axis2"  type="STRING"