Expand my Community achievements bar.

Cannot authenticate with external JMS provider

Avatar

Level 1

Hello everyone -

I have a flex app that needs remote JMS access. I have configured my "messaging-config.xml" file w/ the proper JNDI settings, but I am unable to publish or subscribe JMS data from the webapp.

I know my content within messaging-config.xml is correct because if I change the JMS login username, password, or factory name, I get different errors. Plus I know for a fact I have to correct JNDI information.

Here is what I see on my tomcat log, could anybody help me out? Can lcds not find Context.SECURITY_PRINCIPAL name or does 'user' refer to something else?

[lcds]08/10/2010 00:24:51.478 JMS producer for JMS destination 'testDestination1' is starting.

[lcds]08/10/2010 00:24:51.490 Error invoking service 'message-service': flex.messaging.MessageException: JMS invocation caught exception: Could not authenticate user null.

  incomingMessage: Flex Message (flex.messaging.messages.AsyncMessageExt)

    clientId = 6438C6DB-3B08-06C1-7C19-38E316344E01

    correlationId =

    destination = testDestination1

    messageId = 7ABBA48E-1D0B-BF88-CA6B-59620D049536

    timestamp = 1281399891467

    timeToLive = 0

    body = <TESTJMSMSG/>

    hdr(CONN) = 4

    hdr(DSId) = 6438C116-2E0D-C1BB-4C57-A78FA5DFEEB8

    hdr(timeToLive) = 0

    hdr(DSEndpoint) = my-rtmp

  Exception: flex.messaging.MessageException: JMS invocation caught exception: Could not authenticate user null.

        at flex.messaging.services.messaging.adapters.JMSAdapter.constructMessageException(JMSAdapter.java:755)

        at flex.messaging.services.messaging.adapters.JMSAdapter.invoke(JMSAdapter.java:368)

        at flex.messaging.services.MessageService.serviceMessage(MessageService.java:318)

        at flex.messaging.services.MessageService.serviceMessage(MessageService.java:233)

        at flex.messaging.services.MessageService.serviceMessage(MessageService.java:224)

        at flex.messaging.AsyncMessageBroker.in(AsyncMessageBroker.java:435)

        at flex.messaging.MessageContext.doIn(MessageContext.java:296)

        at flex.messaging.filters.AsyncMessageFilterChain.in(AsyncMessageFilterChain.java:206)

        at flex.messaging.MessageContext.doIn(MessageContext.java:296)

        at flex.messaging.AsyncMessageBroker$EndpointSplitter.in(AsyncMessageBroker.java:829)

        at flex.messaging.MessageContext.doIn(MessageContext.java:296)

        at flex.messaging.endpoints.BaseSocketServerEndpoint.in(BaseSocketServerEndpoint.java:463)

        at flex.messaging.MessageContext.doIn(MessageContext.java:296)

        at flex.messaging.endpoints.RTMPConnection.handleTCCommandIn(RTMPConnection.java:835)

        at flex.messaging.endpoints.RTMPConnection.in(RTMPConnection.java:985)

        at flex.messaging.endpoints.RTMPConnection.serviceTCMessage(RTMPConnection.java:1072)

        at flex.messaging.endpoints.RTMPConnection.doRead(RTMPConnection.java:610)

        at flex.messaging.endpoints.RTMPProtocolHandler.doRead(RTMPProtocolHandler.java:125)

        at flex.messaging.socketserver.Connection$ConnectionReader.run(Connection.java:864)

        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

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

1 Reply

Avatar

Employee

The JMS exception is the best clue as to what is going wrong: "JMS invocation caught exception: Could not authenticate user null."

Sounds like the JMS destination does not have the correct authentication information.

See the LCDS JMS documentation here: http://help.adobe.com/en_US/LiveCycleDataServicesES/3.1/Developing/WSc3ff6d0ea77859461172e0811f00f7...