1 2 Previous Next 19 Replies Latest reply on Sep 2, 2004 10:26 PM by Todd Gould

    JMS and HTTPServerILService

    Todd Gould Novice

      Hello:

      I am trying to get JMS working across the HTTPServerILService. I have
      been reading the Admin and Devel Guide as well as the "Messaging, JMS
      and JBossMQ" forum and http://jboss.org/wiki/Wiki.jsp?page=ConfigHTTPIL
      as references. I feel that I am fairly close to getting this to work,
      but I am also still not successful. My JMS client pubs successfully,
      but I get the following exception on the server side:

      17:25:43,743 ERROR [JMSContainerInvoker] Exception in JMSCI message
      listener
      java.lang.NullPointerException
      at
      org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:446)
      at
      org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:372)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at
      org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:914)
      at
      org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1208)
      at
      org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:276)
      at
      org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:871)
      at
      org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
      at org.jboss.mq.SpySession.run(SpySession.java:347)
      at
      org.jboss.jms.asf.StdServerSession.run0(StdServerSession.java:200)
      at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
      at
      EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
      at java.lang.Thread.run(Thread.java:534)

      I have added the following additional loggers to the
      $JBOSS_DIST/server/default/conf.log4j.xml:

      <category name="org.jboss.mq">
       <priority value="DEBUG"/>
       </category>
       <category name="org.jboss.jms">
       <priority value="DEBUG"/>
       </category>
       <category name="org.jboss.ejb.plugins.jms">
       <priority value="DEBUG"/>
       </category>
       <category name="org.jboss.ejb.MessageDrivenContainer">
       <priority value="DEBUG"/>
       </category>


      However, they did not seem to produce any additional output relative to
      the above exception.

      The other relevant files are as follows:

      $JBOSS_DIST/server/default/deploy/jms/jbossmq-httpil.sar/META-INF/jboss-service.xml:

      <server>
       <mbean code="org.jboss.mq.il.http.HTTPServerILService"
       name="jboss.mq:service=InvocationLayer,type=HTTP">
       <depends
      optional-attribute-name="Invoker">jboss.mq:service=Invoker</depends>
       <depends>jboss.web:service=WebServer</depends>
       <attribute
      name="ConnectionFactoryJNDIRef">HTTPConnectionFactory</attribute>
       <attribute
      name="XAConnectionFactoryJNDIRef">HTTPXAConnectionFactory</attribute>
       <attribute name="PingPeriod">0</attribute>
       <attribute name="TimeOut">60</attribute>
       <attribute name="RestInterval">0</attribute>
       <attribute name="URLPrefix">https://</attribute>
       <attribute name="URLSuffix">:8433/HTTPServerILServlet</attribute>
       <!-- <attribute name="UseHostName">true</attribute> -->
       <attribute name="UseHostName">false</attribute>
       </mbean>
      </server>


      $JBOSS_DIST/server/default/conf/standardjboss.xml additions:

      <!-- A custom invoker for JMS/HTTPs -->
       <invoker-proxy-binding>
       <name>message-driven-bean-https</name>
       <invoker-mbean>
       jboss.mq:service=InvocationLayer,type=HTTP
       </invoker-mbean>
       <!-- <invoker-mbean>default</invoker-mbean> -->
      
      <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
       <proxy-factory-config>
      
      <JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>
      
      <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
       <!-- WARN: Don't set this to zero until a bug in the pooled
      executor is fixed -->
       <MinimumSize>1</MinimumSize>
       <MaximumSize>15</MaximumSize>
       <KeepAliveMillis>30000</KeepAliveMillis>
       <MaxMessages>1</MaxMessages>
       <MDBConfig>
       <ReconnectIntervalSec>10</ReconnectIntervalSec>
       <DLQConfig>
       <DestinationQueue>queue/DLQ</DestinationQueue>
       <MaxTimesRedelivered>10</MaxTimesRedelivered>
       <TimeToLive>0</TimeToLive>
       </DLQConfig>
       </MDBConfig>
       </proxy-factory-config>
       </invoker-proxy-binding>
      
       <container-configuration>
       <container-name>HTTPS Message Driven Bean</container-name>
       <call-logging>true</call-logging>
      
      <invoker-proxy-binding-name>message-driven-bean-https</invoker-proxy-binding-name>
      
      <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
       <instance-cache></instance-cache>
       <persistence-manager></persistence-manager>
       <container-pool-conf>
       <MaximumSize>100</MaximumSize>
       </container-pool-conf>
       </container-configuration>
      
      
      The MDB entry in the ejb-jar.xml deployment descriptor is:
      
       <message-driven>
       <ejb-name>ResultsBean</ejb-name>
      
      <ejb-class>com.ensuren.ose.server.results.DiscoveryResultsBean</ejb-class>
       <transaction-type>Container</transaction-type>
       <message-selector></message-selector>
       <message-driven-destination>
       <destination-type>javax.jms.Topic</destination-type>
      
      <subscription-durability>NonDurable</subscription-durability>
       </message-driven-destination>
       </message-driven>


      The MDB entry in the jboss.xml deployment descriptor is:

      <message-driven>
       <ejb-name>ResultsBean</ejb-name>
       <configuration-name>HTTPS Message Driven
      Bean</configuration-name>
      
      <destination-jndi-name>topic/discoveryResults</destination-jndi-name>
       </message-driven>
      

      I am using jboss-3.2.5_tomcat-5.0.26 and the MDB in question works
      perfectly until I attempt to change to using the HTTPIL - then the pub
      client is still fine (i.e. no exceptions), but I get the previously
      mentioned exception on the server side.

      Finally, the :8443 context is defined correctly in the Tomcat instance
      and is functioning just fine for other https:// requests including the
      JNDI and EJB invokers. I'm sure I am missing something simple or making
      a silly mistake somewhere, but I cannot seem to locate it from any of
      the documentation that I have been reading. I'd appreciate any and all
      help that you can provide.

      Thanks!


        • 1. Re: JMS and HTTPServerILService
          Adrian Brock Master

          Your container-configuration is totally broken. There are no interceptors.
          No pooling => no bean instance => NPE.

          • 2. Re: JMS and HTTPServerILService
            Todd Gould Novice

             

            "adrian@jboss.org" wrote:
            Your container-configuration is totally broken. There are no interceptors.
            No pooling => no bean instance => NPE.


            Adrian:

            Thanks for your assistance. I have modified the container to now be as follows:
             <container-configuration>
             <container-name>HTTPS Message Driven Bean</container-name>
             <call-logging>true</call-logging>
             <invoker-proxy-binding-name>message-driven-bean-https</invoker-proxy-binding-name>
             <container-interceptors>
             <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
             <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
             <interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
             <!-- CMT -->
             <interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
             <interceptor transaction="Container" metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
             <interceptor transaction="Container">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
             <!-- BMT -->
             <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
             <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT</interceptor>
             <interceptor transaction="Bean" metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
             <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
             </container-interceptors>
             <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
             <instance-cache></instance-cache>
             <persistence-manager></persistence-manager>
             <container-pool-conf>
             <MaximumSize>100</MaximumSize>
             </container-pool-conf>
             </container-configuration>


            The good news is that this has removed the NPE. In fact, I get no exceptions on the client or server side. The bad news is that this does not appear to work either. If I firewall port 8093 (the UIL2) port, I don't get through to the server - the pub client just hangs indefinately. My goal is to have everything go over the HTTPServerILServer port (8443) and firewall all else.

            What is the correct way to make this container reference the jboss.mq:service=InvocationLayer,type=HTTP invoker MBean? I seem to be missing this critical piece of information in the docs. What else am I missing/do I need to do?

            Thanks again for your help!


            • 3. Re: JMS and HTTPServerILService
              Todd Gould Novice

              Help please!!!

              I have poured over Chapter 6 of the Admin Guide, this forum, Google and have tried everything I can think of. I am still not able to coerce this to work (or even attempt to work) across HTTP. No matter what I do, it still uses the default UIL connection and port -successfully yes, but my desire is to avoid the need for that port. I have posted the contents of all of the relevant files (that I am aware of) in this thread and would greatly appreciate someone either pointing out what I am obviously missing or pointing me to some working samples. I'm spinning my wheels and need some assistance in order to proceed. Finally, as mentioned earlier, I have both JNDI and EJBs working over HTTPS, so I must be missing some fundamental and very critical dfference here.

              Thanks again in advance for any and all assistance!

              • 4. Re: JMS and HTTPServerILService
                Adrian Brock Master

                 

                <JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>

                uses jnp not https by default when accessing jndi.

                • 5. Re: JMS and HTTPServerILService
                  Todd Gould Novice

                   

                  "adrian@jboss.org" wrote:
                  <JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>

                  uses jnp not https by default when accessing jndi.


                  I had suspected this may be part of the problem. However, despite significant searching, I cannot seem to find any documentation or example that would suggest what this (or anything else that needs to be changed) should be changed to. What does it need to be changed to? I would greatly appreciate it if you would be able to let me know what this needs to be changed to and/or point me to a working sample so that I can figure it out myself. I'm perfectly happy to dig into this; however, despite significant digging (perhaps in the wrong places) I'm coming up totally empty handed with regards to how to make this work. Once I get this working, I will be happy to add my config mods to Wiki for all else to benefit from.

                  • 6. Re: JMS and HTTPServerILService
                    Adrian Brock Master

                    Change the "properties" on the jms provider to use jndi over https.

                    • 7. Re: JMS and HTTPServerILService - still having problems
                      Todd Gould Novice

                       

                      "adrian@jboss.org" wrote:
                      Change the "properties" on the jms provider to use jndi over https.


                      Adrian:

                      Unfortunately, I am still not there yet. I'm sorry for the apparently simple questions, but I have been reading everything I can find and digging into this as hard as I can for well over a week now and am still not making much progress. Based on your suggestions to date, I am now getting the following exception whenever I try to deploy my MDB.

                      javax.naming.NamingException: Failed to retrieve Naming interface [Root exception is java.io.IOException]
                      at org.jboss.naming.HttpNamingContextFactory.getInitialContext(HttpNamingContextFactory.java:69)
                      at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
                      at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
                      at javax.naming.InitialContext.init(InitialContext.java:219)
                      at javax.naming.InitialContext.(InitialContext.java:195)
                      at org.jboss.jms.jndi.JNDIProviderAdapter.getInitialContext(JNDIProviderAdapter.java:49)
                      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:148)
                      at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:237)
                      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:164)
                      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:542)
                      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:764)
                      at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
                      at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
                      at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                      at java.lang.reflect.Method.invoke(Method.java:324)
                      at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                      at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:837)

                      ....

                      The base of this stack trace shows the following:

                      Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
                      at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA12275)
                      at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
                      at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
                      at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA12275)
                      at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA12275)
                      at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA12275)
                      at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
                      at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA12275)
                      at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(DashoA12275)
                      at sun.net.www.protocol.https.HttpsClient.afterConnect(DashoA12275)
                      at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(DashoA12275)
                      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:626)
                      at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:1465)
                      at java.net.URLConnection.getHeaderFieldInt(URLConnection.java:476)
                      at java.net.URLConnection.getContentLength(URLConnection.java:371)
                      at sun.net.www.protocol.https.HttpsURLConnectionImpl.getContentLength(DashoA12275)
                      at org.jboss.naming.HttpNamingContextFactory.getNamingServer(HttpNamingContextFactory.java:112)
                      ... 107 more
                      Caused by: sun.security.validator.ValidatorException: No trusted certificate found
                      at sun.security.validator.SimpleValidator.buildTrustedChain(SimpleValidator.java:304)
                      at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:107)
                      at sun.security.validator.Validator.validate(Validator.java:202)
                      at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(DashoA12275)
                      at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(DashoA12275)
                      ... 121 more

                      This obviously indicates an SSL problem and I suspect it is because the Provider is not configured in the correct domain? I cannot seem to figure out how to do this correctly through any of the docs or examples so far. However, there may be other problems as well. Please note that SSL and HTTP using the SSL domain work flawlessly on this JBoss instance for other applications including JNDI/HTTPS EJB/HTTPS/RMI/SSL, HTTPS.

                      The relevant files as they now stand are listed below:

                      MDB jboss.xml deployment descriptor contains:

                      <message-driven>
                       <ejb-name>ResultsBean</ejb-name>
                       <destination-jndi-name>topic/discoveryResults</destination-jndi-name>
                       <!--
                       Use the following to tunnel over HTTPS
                       -->
                       <invoker-bindings>
                       <invoker>
                       <invoker-proxy-binding-name>
                       message-driven-bean-https</invoker-proxy-binding-name>
                       </invoker>
                       </invoker-bindings>
                       </message-driven>


                      $JBOSS_DIST/server/default/conf/standardjboss.xml contains:

                       <invoker-proxy-binding>
                       <name>message-driven-bean-https</name>
                       <invoker-mbean>
                       jboss.mq:service=JMSProviderLoader,name=HTTPSJMSProvider,socketType
                      =SSL
                       </invoker-mbean>
                       <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-fac>
                       <proxy-factory-config>
                       <JMSProviderAdapterJNDI>HTTPSJMSProvider</JMSProviderAdapterJNDI>
                       <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJN>
                       <!-- WARN: Don't set this to zero until a bug in the pooled executor
                       is fixed -->
                       <MinimumSize>1</MinimumSize>
                       <MaximumSize>15</MaximumSize>
                       <KeepAliveMillis>30000</KeepAliveMillis>
                       <MaxMessages>1</MaxMessages>
                       <MDBConfig>
                       <ReconnectIntervalSec>10</ReconnectIntervalSec>
                       <DLQConfig>
                       <DestinationQueue>queue/DLQ</DestinationQueue>
                       <MaxTimesRedelivered>10</MaxTimesRedelivered>
                       <TimeToLive>0</TimeToLive>
                       </DLQConfig>
                       </MDBConfig>
                       </proxy-factory-config>
                       </invoker-proxy-binding>


                      AND

                      <container-configuration>
                       <container-name>HTTPS Message Driven Bean</container-name>
                       <call-logging>true</call-logging>
                       <invoker-proxy-binding-name>message-driven-bean-https</invoker-proxy-binding-name>
                       <container-interceptors>
                       <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
                       <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                       <interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
                       <!-- CMT -->
                       <interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                       <interceptor transaction="Container" metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                       <interceptor transaction="Container">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
                       <!-- BMT -->
                       <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
                       <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT</interceptor>
                       <interceptor transaction="Bean" metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                       <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                       </container-interceptors>
                       <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
                       <instance-cache></instance-cache>
                       <persistence-manager></persistence-manager>
                       <container-pool-conf>
                       <MaximumSize>100</MaximumSize>
                       </container-pool-conf>
                       </container-configuration>


                      $JBOSS_DIST/server/default/deploy/jms/jms-ds.xml was modified to include:

                      <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
                       name="jboss.mq:service=JMSProviderLoader,name=HTTPSJMSProvider">
                       <depends>jboss:service=invoker,type=https,target=Naming</depends>
                       <depends>jboss.mq:service=InvocationLayer,type=HTTP</depends>
                      
                       <attribute name="ProviderName">HTTPSJMSProvider</attribute>
                       <attribute name="ProviderAdapterClass">
                       org.jboss.jms.jndi.JNDIProviderAdapter
                       </attribute>
                       <!-- The queue connection factory -->
                       <attribute name="QueueFactoryRef">java:/XAConnectionFactory</attribute>
                       <!-- The topic factory -->
                       <attribute name="TopicFactoryRef">java:/XAConnectionFactory</attribute>
                       <attribute name="Properties">
                       java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory
                       java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
                       java.naming.provider.url=https://192.168.123.200:8633/invoker/JMXInvokerServlet
                       javax.net.ssl.trustStore=${env.JBOSS_DIST}/server/default/conf/ose.keystore
                      
                       </attribute>
                       </mbean>
                      


                      $JBOSS_DIST/server/default/deploy/jms/jbossmq-httpil.sar/META-INF/jboss-service.xml looks like:

                      <?xml version="1.0" encoding="UTF-8"?>
                      
                      <server>
                       <mbean code="org.jboss.mq.il.http.HTTPServerILService"
                       name="jboss.mq:service=InvocationLayer,type=HTTP">
                       <depends optional-attribute-name="Invoker">jboss.mq:service=Invoker</depends>
                      
                       <depends>jboss.web:service=WebServer</depends>
                       <attribute name="ConnectionFactoryJNDIRef">HTTPConnectionFactory</attribute>
                       <attribute name="XAConnectionFactoryJNDIRef">HTTPXAConnectionFactory</attrib
                      ute>
                       <attribute name="PingPeriod">0</attribute>
                       <attribute name="TimeOut">60</attribute>
                       <attribute name="RestInterval">0</attribute>
                       <attribute name="URLPrefix">https://</attribute>
                       <attribute name="URLPort">8633</attribute>
                       <attribute name="URLSuffix">jbossmq-httpil/HTTPServerILServlet</attribute>
                       <!-- <attribute name="UseHostName">true</attribute> -->
                       <attribute name="UseHostName">false</attribute>
                       </mbean>
                      
                       <!-- JAAS security config for RMI/SSL -->
                       <mbean code="org.jboss.security.plugins.JaasSecurityDomain"
                       name="jboss.security:service=JaasSecurityDomain,domain=JMS+SSL">
                       <constructor>
                       <arg type="java.lang.String" value="JMS+SSL"/>
                       </constructor>
                       <attribute name="KeyStoreURL">my.keystore</attribute>
                       <attribute name="KeyStorePass">pw</attribute>
                       </mbean>
                      
                      </server>


                      Once again, I greatly appreciate any and all assistance in getting this going successfully! Are there no working samples for HTTPServerILService using SSL anywhere that I might reference? Thanks again in advance for your assistance!

                      Todd






                      • 8. Re: JMS and HTTPServerILService
                        Adrian Brock Master

                         


                        Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found


                        Looks obvious to me:
                        The server running the mdb doesn't trust the server running jndi.

                        I suggest you research how ssl works.
                        In particular key stores, trust stores and certificate chains.
                        http://java.sun.com/products/jsse/reference/docs/index.html
                        or chapter 8 of the admin docs.





                        • 9. Re: JMS and HTTPServerILService
                          Todd Gould Novice

                          I figured it would look obvious - however it's apparently not really that simple.

                          The server running the MDB and the server running JNDI are one and the same. I want to stress again that I have SSL correctly working for everything BUT this case. I use SSL for HTTP, RMI/SSL, RMI/HTTPS and JNDI/HTTPS without any problems. What might the mssing piece be relative to JMS? Where is the trust for JMS configured as it does NOT appear to recognizing the container trust as specified as a JVM arg at startup?

                          Thanks again.

                          • 10. Re: JMS and HTTPServerILService
                            Adrian Brock Master

                            You clearly aren't making an effort to read the docs. Your response is too quick.
                            If you had read the docs, you would have discovered the troubleshooting
                            section for jsse.

                            Nor have you used search, otherwise you would have found a previous
                            discussion about trust stores in this forum:
                            http://www.jboss.org/index.html?module=bb&op=viewtopic&t=39049
                            But, you'll probably find the security forum more enlightening.

                            Nor is the question JBoss or JMS related. It is "basic" jdk configuration.

                            If you would like me to "hold your hand", buy a support contract:
                            http://www.jboss.org/services/index

                            • 11. Re: JMS and HTTPServerILService
                              Todd Gould Novice

                              Adrian:

                              I have to very respectfully disagree.

                              I have read and re-read the JBoss admin docs including Chapters 6 and 8 concerning JMS and Security - no not between my last two posts, but over the last week or so. Through that docuementation, there are some very helpful samples relative to getting SSL connections up and running for RMI and JNDI. This is what appears to be lacking for JMS - and what I expect many would greatly benefit from. I will continue to read, re-read and work this issue - as I have been for well over a week. As this thread indicates, I have repeatedly offered to dig into this myself, however some directional assistance and/or working samples as exist throughout the JBoss docs would be most helfpful. I'm not looking for you to hold my hand, just help guide me in the right direction with a little bit of your insight and experience, please.

                              Thanks again,

                              Todd

                              • 12. Re: JMS and HTTPServerILService
                                Adrian Brock Master

                                You don't appear to understand how it works.

                                If you can't find documentation on how to do it, that is because either:
                                1) Nobody has done it before
                                2) Somebody has done it before, but not contributed it back to the community.

                                There are two options:
                                A) You can work it out for yourself (and contribute it back to the community)
                                B) You can get somebody else to trail blaze for you, but that involves somebody
                                else's *time* which costs money.

                                If it is important to you, you will spend the money.
                                Either on your own time, on my time, or somebody else that has the knowledge.

                                We give you the code and free docs and provide free help in the forums
                                for people who are prepared to do the majority of the work themselves.
                                Anything beyond that, you pay for, we are not a charity.

                                • 13. JMS and HTTPServerILService - GenericConnectionFactory
                                  Todd Gould Novice

                                  I am still working this issue and think I have boiled it down to a central issue.

                                  What configuration file(s) must be modified to cause the GenericeConnectionFactory to return and org.jboss.mq.il.http.HTTPServerIL instead of the default org.jboss.mq.il.uil2.UILServerIL?

                                  Thanks in advance!

                                  • 14. Re: JMS and HTTPServerILService
                                    Adrian Brock Master

                                    What is the "GenericeConnectionFactory"?

                                    If you mean the connection factory used by the mdb, the jndi name is specified
                                    on the jms provider in jms-ds.xml

                                    1 2 Previous Next