Security Exception on JMS Queue

Discussions

EJB programming & troubleshooting: Security Exception on JMS Queue

  1. Security Exception on JMS Queue (1 messages)

    Hi,
     I'm trying to implement security features on my JMS Queue.I'm using WLS8.1 SP4.
     These are my DDs
    ejb-jar-xml:
    ..............................
       <!-- Assembly Descriptor -->
       <assembly-descriptor >

       <security-role>

                  <role-name>DS</role-name>
       
       </security-role>
       
         <method-permission>

    <role-name>DS</role-name>

    <method>

            <ejb-name>SampleMDB</ejb-name>

            <method-name>onMessage</method-name>

    <method-params>

              <method-param>javax.jms.Message</method-param>

    </method-params>

          </method>
       
            </method-permission>

         <container-transaction>

    <method>

    <ejb-name>SampleMDB</ejb-name>

    <method-name>onMessage</method-name>

    <method-params>

    <method-param>javax.jms.Message</method-param>

    </method-params>

    </method>

    <trans-attribute>Required</trans-attribute>

    </container-transaction>

       </assembly-descriptor>

    </ejb-jar>


    weblogic-ejb-jar.xml:
    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">

    <!-- This weblogic-ejb-jar.xml is for the example code SampleMDB.java that an application will write
         In this case,
        Application queue name = DS HeV/636/inbound
    Application deployed @ t3://vhaispapp6.vha.med.va.gov:7001
    -->
    <weblogic-ejb-jar>

     <weblogic-enterprise-bean>

        <ejb-name>SampleMDB</ejb-name>
        
            <message-driven-descriptor>
                   
            <!-- Listen to the Application queue for e.g. DS HeV/636/inbound -->
    <destination-jndi-name>DSTest/636/inbound</destination-jndi-name>
            
             <initial-context-factory>weblogic.jndi.WLInitialContextFactory
            </initial-context-factory>
            
            <!-- Provider URL where Application queue is deployed -->
    <provider-url>t3://localhost:7001</provider-url>
            
            <connection-factory-jndi-name>DeliveryService/QueueConnectionFactory
            </connection-factory-jndi-name>

            <jms-client-id>VHADS</jms-client-id>

       </message-driven-descriptor>

      </weblogic-enterprise-bean>

      
    <security-role-assignment>

      <role-name>DS</role-name>

      <principal-name>DeliveryServiceUser</principal-name>

    </security-role-assignment>
      
      <enable-bean-class-redeploy>True</enable-bean-class-redeploy>

    </weblogic-ejb-jar>


    Now,on my JMS Queue(DSTest/636/inbound), I did Right click and set Scoped Role and Security Policy on on "Receive" method.And now this is the error I'm getting:
    <Jan 24, 2005 2:51:54 PM EST> <Warning> <EJB> <BEA-010061> <The Message-Driven E
    JB: SampleMDB is unable to connect to the JMS destination: DSTest/636/inbound. T
    he Error was:
    weblogic.jms.common.JMSSecurityException: Access denied to resource: type=<jms>,
     application=, destinationType=queue, resource=DSTest-636-inbound, action=receiv
    e
    weblogic.jms.common.JMSSecurityException: Access denied to resource: type=<jms>,
     application=, destinationType=queue, resource=DSTest-636-inbound, action=receiv
    e
            at weblogic.jms.JMSService.checkPermission(JMSService.java:1154)
            at weblogic.jms.JMSService.checkRecvPermission(JMSService.java:1171)
            at weblogic.jms.frontend.FESession.consumerCreate(FESession.java:1049)
            at weblogic.jms.frontend.FESession.invoke(FESession.java:2552)
            at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.jav
    a:643)

    Any help would be highly appreciated.
    Thanks in advance
    -Ankur
  2. We are getting similar messages weblogic.jms.common.JMSSecurityException: Access denied to resource: type=, application=JMSModule-cl01, destinationType=queue, resource=JMSQueue-cl01, action=receive Feb 22, 2010 2:00:43 PM org.springframework.jms.listener.DefaultMessageListenerContainer refreshConnectionUntilSuccessful INFO: Successfully refreshed JMS Connection what is the workaround for this