2016-04-26 1 views
0

Пробовал создать незащищенную службу прокси-сервера WSO2 для отправки сообщения в очередь JMS ActiveMQ. Прокси-служба конфигурации XML-файл, как указано ниже,WSO2 Proxy отправить в ActiveMQ полученную ошибку JMSSecurityException: имя пользователя [null] или пароль недействителен

<?xml version="1.0" encoding="UTF-8"?> 
<proxy name="StockQuoteProxy" startOnLoad="true" trace="disable" 
    transports="http" xmlns="http://ws.apache.org/ns/synapse"> 
<target> 
<inSequence> 
    <property name="OUT_ONLY" scope="default" type="STRING" value="true"/> 
    <property name="FORCE_SC_ACCEPTED" scope="axis2" type="STRING" value="true"/> 
    <send> 
    <endpoint> 
     <address trace="disable" uri="jms:/JMSQueueConsumer?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://127.0.0.1:61616&amp;transport.jms.DestinationType=queue"/> 
    </endpoint> 
    </send> 
</inSequence> 
<outSequence/> 
<faultSequence/> 

Я также следовал WSO2 документ для включения ActiveMQ слушателем и Sender в axis2.xml. Я также создал очередь JMSQueueConsumer в activeMQ на локальном хосте. ActiveMQ является

up,  tcp  0  0 ::ffff:127.0.0.1:61616  :::*      LISTEN 

Однако, когда я попытался отправить сообщение ActiveMQ, я получил ошибку

[PassThroughMessageProcessor-47] ERROR JMSSender Unable to create a JMSMessageSender for : null 
javax.jms.JMSSecurityException: User name [null] or password is invalid. 

и ActiveMQ не проявляет активности. Где мне настроить имя пользователя и пароль?

ответ

0

В вашем случае вам необходимо указать имя пользователя и пароль для отправителя, используя свойства transport.jms.UserName и transport.jms.Password следующим

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
     name="StockQuoteProxy" 
     transports="http" 
     statistics="disable" 
     trace="disable" 
     startOnLoad="true"> 
    <target> 
     <inSequence> 
     <property name="OUT_ONLY" value="true" scope="default" type="STRING"/> 
     <property name="FORCE_SC_ACCEPTED" 
        value="true" 
        scope="axis2" 
        type="STRING"/> 
     <send> 
      <endpoint> 
       <address uri="jms:/JMSQueueConsumer?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://127.0.0.1:61616&amp;transport.jms.DestinationType=queue&amp;transport.jms.UserName=admin&amp;transport.jms.Password=secret" 
         trace="disable"/> 
      </endpoint> 
     </send> 
     </inSequence> 
     <outSequence/> 
     <faultSequence/> 
    </target> 
    <description/> 
</proxy> 
Смежные вопросы