WSO2 ESB work with MB



我试图将消息从本地客户机发送到ESB,并将其重定向到同一服务器上的MB。客户端正在等待响应,直到应用服务器抛出错误。

我的环境如下WSO2 ESB 4.8.0(端口偏移量1)WSO2 mb2.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>

jndi.properties

connectionfactory.QueueConnectionFactory = amqp://admin:admin@carbon/carbon?brokerlist='tcp://localhost:5674'
connectionfactory.TopicConnectionFactory = amqp://admin:admin@carbon/carbon?brokerlist='tcp://localhost:5674'
queue.SMSQ = SMSQ

wso2-esb-errors.log

2014-03-21 14:18:54,276 [-] [HTTP-Listener I/O dispatcher-1] WARN 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>

应用服务器错误日志

. io .Async IO操作失败(3),reason: RC: 55

谢谢你的建议。

添加<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>后,我得到另一个错误消息

2014-03-26 22:17:23,354 [-] [http-nio-9443-exec-15] WARN AuthenticationHandler[2014-03-26 22:17:23,0353]从IP地址null试图验证访问服务StatisticsAdmin时的非法访问尝试2014-03-26 22:17:23,354 [-] [http-nio-9443- exc -15] ERROR AUDIT_LOG[2014-03-26 22:17:23,0353]从IP地址null尝试非法访问StatisticsAdmin服务2014-03-26 22:17:23,355 [-] [http-nio-9443-exec-15] ERROR StatisticsAdminClient无法获取服务SMSQProdProxy的服务统计信息。后端服务器可能不可用。org.apache.axis2。AxisFault:传入消息的输入流为空。

有一个类似的问题https://wso2.org/jira/browse/WSAS-1214

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

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

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

当您将OUT_ONLY属性设置为true时,您正在说,您不等待代理结束后的响应。因此,在outSequence中去除send介质。

如果要强制代理向客户端发送响应,请删除Out_Only属性,并且在inSequence节中将此设置在endPoint中介人之后。

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

outSequence部分保留<send/> mediator

最新更新