骡子/ JMS的任意点和JBoss / Wildfly9之间的身份验证? [英] Authentication between Mule/Anypoint JMS and JBoss/Wildfly9?

查看:607
本文介绍了骡子/ JMS的任意点和JBoss / Wildfly9之间的身份验证?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我挣扎与概念,因为我们需要一个更大的项目设有小型的证明。

I'm struggling with a small proof of concept for a feature we need for a bigger project.

在我的本地机器我有一个Wildfly 9安装(与用户,密码和配置组)。我可以从一个小的Java程序通过HornetQ的发送邮件,我可以用&LT摆弄;&GT启用安全性; 和用户名/密码,并看到它的作品,还是不行,如我所料。太棒了!

On my local machine I have a Wildfly 9 installation (with a user, password, and group configured). I can send messages via HornetQ from a small Java program, and I can fiddle with <security-enabled> and the user/password and see that it works, or not, as I expect. Great!

不过,我也有尝试通过JMS出站端点发送消息的简单骡子流 - 但总是失败的 HQ119031:无法验证用户:空的即使我DO(尝试)提供一个名称。我根本无法弄清楚在何处以及如何指定要工作的用户名/密码,我知道(从Java程序)。

However, I also have a simple Mule flow that attempts to send a message via a JMS outbound endpoint -- but this always fails with "HQ119031: Unable to validate user: null" even though I do (try to) provide a name. I simply cannot figure out where and how to specify the user/password that I know (from the Java program) to be working.

我从一个同事,谁给我不是非常多的信息去了解,他已经一直在与MuleSoft支持,请联系谁说,他们没有Wildfly知识与骡子一起,忍不住

I know from a coworker, who gave me not very much info to go on, that he has already been in contact with MuleSoft support, who say that "they have no knowledge of Wildfly in conjunction with Mule" and could not help.

下面是我的连接器和流量:

Here's my connector and flow:

<jms:connector name="Wildfly9JMSConnector"
    jndiInitialFactory="org.jboss.naming.remote.client.InitialContextFactory"
    jndiProviderUrl="http-remoting://127.0.0.1:8085"
    connectionFactoryJndiName="jms/RemoteConnectionFactor"
    jndiDestinations="true" forceJndiDestinations="true"
    disableTemporaryReplyToDestinations="true"
    username="inara"
    password="whitefall"
    doc:name="JMS" validateConnections="true">
</jms:connector>

<flow name="jbossconnectiontestFlow">
    <http:listener config-ref="HTTP_Listener_Configuration"
        path="/jbosstest" doc:name="HTTP" />

    <set-payload value="Shiny!" doc:name="Set Payload" />

    <logger message="1. payload: #[payload]" level="INFO" doc:name="Logger" />
    <jms:outbound-endpoint exchange-pattern="request-response" queue="jms/queue/CoordReceive" connector-ref="Wildfly9JMSConnector" doc:name="JMS">
        <jms:transaction action="BEGIN_OR_JOIN"/>
    </jms:outbound-endpoint>
    <set-payload value="JMS message sent." doc:name="Set Payload"/>
    <logger message="2. payload: #[payload]" level="INFO" doc:name="Logger"/>

    <catch-exception-strategy doc:name="Catch Emdxception Strategy">
        <logger level="INFO" doc:name="Logger" />
    </catch-exception-strategy>
</flow>

部分堆栈跟踪:

ERROR 2015-10-20 16:53:01,948 [main] org.mule.retry.notifiers.ConnectNotifier: Failed to connect/reconnect: JmsConnector
{
  name=Wildfly9JMSConnector
  lifecycle=initialise
  this=6540cf1d
  numberOfConcurrentTransactedReceivers=4
  createMultipleTransactedReceivers=true
  connected=false
  supportedProtocols=[jms]
  serviceOverrides=<none>
}
. Root Exception was: HQ119031: Unable to validate user: null. Type: class org.hornetq.api.core.HornetQSecurityException
ERROR 2015-10-20 16:53:01,956 [main] org.mule.module.launcher.application.DefaultMuleApplication: null
org.hornetq.api.core.HornetQSecurityException: HQ119031: Unable to validate user: null

我想你会想要更多的信息,更多的细节,但我不想与错误的数据充斥你 - 这么问,你们应接受

I expect you'll want more info, more details, but I don't want to flood you with the wrong data -- so ask and ye shall receive.

更新:可悲的是,@ RyanCarter的建议不是它,或者只是没有足够的。如果我禁用启用安全性,那么它​​会成功地部署,但是当我尝试发送邮件会失败:

Update: Sadly, @RyanCarter's suggestions weren't "it", or perhaps just not "enough". If I disable "security-enabled", then it will deploy successfully, but will fail when I try to send a message:

堆栈跟踪报告的顶级的javax.jms.JMSException:没有队列名称JMS /队列/ CoordReceive。我目前搞清楚这​​是怎么回事 - 我的知道的队列中存在,因为Java程序工作。 应用于谷歌!

The top of the stack trace reports "javax.jms.JMSException: There is no queue with name jms/queue/CoordReceive". I'm currently figuring out what's going on -- I know the queue exists, because the Java program works. To the Google!

推荐答案

啊哈!目前在 C中的用户配置之间的不匹配(基本上是由于对我而言缺乏理解):\\ wildfly \\域\\ application-users.properties C:\\ wildfly \\独立\\配置\\ application-users.properties 。有一次,我已经配置了用户对于管理控制台(在)的以及的一个队列(以独立),我是启动和运行。

Aha! There was a mismatch (basically due to lack of understanding on my part) between the user configurations in C:\wildfly\domain\application-users.properties and C:\wildfly\standalone\configuration\application-users.properties. Once I had configured users for the management console (in domain) as well as for the queues (in standalone), I was up and running.

这篇关于骡子/ JMS的任意点和JBoss / Wildfly9之间的身份验证?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆