You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Blue Diamond <gv...@gmail.com> on 2010/03/19 08:04:06 UTC

Username/Password in JMS Binding

Hi,

Is there a way to give username/password values to create a connection to a
JMS server while defining JMS binding type?

I am not able to see any credential specific property (element/attribute) in
<binding.jms/> that allows these values to be passed to the
initialContextFactory.

Is there any example available?

Thanks,
Anil

Re: Username/Password in JMS Binding

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Fri, Mar 19, 2010 at 6:34 PM, Blue Diamond <gv...@gmail.com> wrote:

> Caused by: javax.jms.JMSException: User name or password is invalid.
>
>       at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>
>       at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1244)
>
>       at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1339)
>
>       at
> org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:298)
>
>       at
> org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactoryImpl.createSession(JMSResourceFactoryImpl.java:86)
>
>       at
> org.apache.tuscany.sca.host.jms.asf.ASFListener.registerListerner(ASFListener.java:100)
>
>       at
> org.apache.tuscany.sca.host.jms.asf.ASFListener.start(ASFListener.java:76)
>
>       ... 12 more

Having looked at the source I don't think
JMSResourceFactoryImpl.createSession() supports username and password
properties. I'd say no properties are supported at all.

You need to register the factory resource under a JNDI name and while
registering provide additional properties like username and password.
That's the only way I could think of looking at the sources. So I
suggest that you place the properties within the queue definition not
the connection factory.

Jacek

-- 
Jacek Laskowski
Notatnik Projektanta Java EE - http://jaceklaskowski.pl
Kapituła Javarsovia 2010 - http://javarsovia.pl

Re: Username/Password in JMS Binding

Posted by Blue Diamond <gv...@gmail.com>.
Hi Naga,

Thanks for the help.
But when I tried what you mentioned, I got the following exception:

Exception in thread "main" *org.osoa.sca.ServiceRuntimeException*: *
org.apache.tuscany.sca.binding.jms.impl.JMSBindingException*: Error starting
JMSServiceBinding

      at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(*
SCADomain.java:220*)

      at org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(*
SCADomain.java:76*)

      at org.apache.tuscany.sca.binding.jms.ServerTestcase.init(*
ServerTestcase.java:51*)

      at org.apache.tuscany.sca.binding.jms.ServerTestcase.main(*
ServerTestcase.java:104*)

Caused by: *org.apache.tuscany.sca.binding.jms.impl.JMSBindingException*:
Error starting JMSServiceBinding

      at
org.apache.tuscany.sca.binding.jms.provider.JMSBindingServiceBindingProvider.start(
*JMSBindingServiceBindingProvider.java:152*)

      at org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl$3.run(*
CompositeActivatorImpl.java:630*)

      at java.security.AccessController.doPrivileged(*Native Method*)

      at org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(*
CompositeActivatorImpl.java:628*)

      at org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(*
CompositeActivatorImpl.java:560*)

      at org.apache.tuscany.sca.node.impl.NodeImpl.start(*NodeImpl.java:728*
)

      at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(*
DefaultSCADomain.java:187*)

      at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(*
DefaultSCADomain.java:100*)

      at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(*
SCADomain.java:182*)

      ... 3 more

Caused by: *org.apache.tuscany.sca.binding.jms.impl.JMSBindingException*:
Error starting JMSServiceBinding

      at org.apache.tuscany.sca.host.jms.asf.ASFListener.start(*
ASFListener.java:78*)

      at
org.apache.tuscany.sca.binding.jms.provider.JMSBindingServiceBindingProvider.start(
*JMSBindingServiceBindingProvider.java:149*)

      ... 11 more

Caused by: *javax.jms.JMSException*: User name or password is invalid.

      at org.apache.activemq.util.JMSExceptionSupport.create(*
JMSExceptionSupport.java:49*)

      at org.apache.activemq.ActiveMQConnection.syncSendPacket(*
ActiveMQConnection.java:1244*)

      at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(*
ActiveMQConnection.java:1339*)

      at org.apache.activemq.ActiveMQConnection.createSession(*
ActiveMQConnection.java:298*)

      at
org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactoryImpl.createSession(
*JMSResourceFactoryImpl.java:86*)

      at org.apache.tuscany.sca.host.jms.asf.ASFListener.registerListerner(*
ASFListener.java:100*)

      at org.apache.tuscany.sca.host.jms.asf.ASFListener.start(*
ASFListener.java:76*)

      ... 12 more

Caused by: *java.lang.SecurityException*: User name or password is invalid.

      at
org.apache.activemq.security.SimpleAuthenticationBroker.addConnection(*
SimpleAuthenticationBroker.java:52*)

      at org.apache.activemq.broker.BrokerFilter.addConnection(*
BrokerFilter.java:81*)

      at org.apache.activemq.broker.MutableBrokerFilter.addConnection(*
MutableBrokerFilter.java:88*)

      at
org.apache.activemq.broker.TransportConnection.processAddConnection(*
TransportConnection.java:662*)

      at
org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(
*ManagedTransportConnection.java:86*)

      at org.apache.activemq.command.ConnectionInfo.visit(*
ConnectionInfo.java:125*)

      at org.apache.activemq.broker.TransportConnection.service(*
TransportConnection.java:292*)

      at org.apache.activemq.broker.TransportConnection$1.onCommand(*
TransportConnection.java:180*)

      at org.apache.activemq.transport.TransportFilter.onCommand(*
TransportFilter.java:68*)

      at org.apache.activemq.transport.WireFormatNegotiator.onCommand(*
WireFormatNegotiator.java:143*)

     at org.apache.activemq.transport.InactivityMonitor.onCommand(*
InactivityMonitor.java:206*)

      at org.apache.activemq.transport.TransportSupport.doConsume(*
TransportSupport.java:84*)

      at org.apache.activemq.transport.tcp.TcpTransport.doRun(*
TcpTransport.java:196*)

      at org.apache.activemq.transport.tcp.TcpTransport.run(*
TcpTransport.java:183*)

      at java.lang.Thread.run(*Thread.java:619*)


Awaiting help, Thanks,
Anil



On Fri, Mar 19, 2010 at 8:51 PM, Koganti, Naga <Na...@ca.com> wrote:

>  I think you can solve this by having ConnectionFactory in binding like
> below
>
>
>
> <binding.jms name="jmsbinding"
> initialContextFactory="org.apache.activemq.jndi.ActiveMQInitialContextFactory"
>
>
>                  jndiURL="tcp://localhost:61616" >
>
>
>
>   <destination name="DestQueueA" />
>
>                <connectionFactory name="ConnectionFactory" create="always"
> >
>
>                  <property name="UserName"
> type="xsd:string">user</property>
>
>                  <property name="Password"
> type="xsd:string">pwd</property>
>
>                 </connectionFactory>
>
>
>
>                 <response>
>
>                   <destination name="ResQueueA" />
>
>                                 <connectionFactory name="ConnectionFactory"
> create="always" >
>
>                                                                 <property
> name="UserName" type="xsd:string"> user </property>
>
>                                                                 <property
> name="Password" type="xsd:string"> pwd </property>
>
>                                  </connectionFactory>
>
>                     </response>
>
> </binding.jms >
>
>
>
> Though I never tried the above example.
>
>
>
> Thanks,
>
> -Nagamohan
>
>
>
> *From:* Blue Diamond [mailto:gvnanils@gmail.com]
> *Sent:* Friday, March 19, 2010 12:34 PM
> *To:* user@tuscany.apache.org
> *Subject:* Username/Password in JMS Binding
>
>
>
> Hi,
>
>
>
> Is there a way to give username/password values to create a connection to a
> JMS server while defining JMS binding type?
>
>
>
> I am not able to see any credential specific property (element/attribute)
> in <binding.jms/> that allows these values to be passed to the
> initialContextFactory.
>
>
> Is there any example available?
>
>
>
> Thanks,
>
> Anil
>

RE: Username/Password in JMS Binding

Posted by "Koganti, Naga" <Na...@ca.com>.
I think you can solve this by having ConnectionFactory in binding like
below

 

<binding.jms name="jmsbinding"
initialContextFactory="org.apache.activemq.jndi.ActiveMQInitialContextFa
ctory" 

                 jndiURL="tcp://localhost:61616" >

               

  <destination name="DestQueueA" />

               <connectionFactory name="ConnectionFactory"
create="always" >      

                 <property name="UserName"
type="xsd:string">user</property>      

                 <property name="Password"
type="xsd:string">pwd</property>   

                </connectionFactory>

               

                <response>

                  <destination name="ResQueueA" />

                                <connectionFactory
name="ConnectionFactory" create="always" >      

 
<property name="UserName" type="xsd:string"> user </property>      

 
<property name="Password" type="xsd:string"> pwd </property>   

                                 </connectionFactory>                

                    </response>

</binding.jms >

 

Though I never tried the above example.

 

Thanks,

-Nagamohan

 

From: Blue Diamond [mailto:gvnanils@gmail.com] 
Sent: Friday, March 19, 2010 12:34 PM
To: user@tuscany.apache.org
Subject: Username/Password in JMS Binding

 

Hi,

 

Is there a way to give username/password values to create a connection
to a JMS server while defining JMS binding type?

 

I am not able to see any credential specific property
(element/attribute) in <binding.jms/> that allows these values to be
passed to the initialContextFactory.


Is there any example available?

 

Thanks,

Anil