11 Replies Latest reply on Mar 29, 2006 4:31 PM by paulkennethdickson

    how to tunneling jms to 80 port?

    dragon_jdh

      Does jboss supports http tunneling so I can s/r message by port 80?

      I am new to http tunneling, please help me, thanks

        • 1. Re: how to tunneling jms to 80 port?
          wallace

          Refere to the "JBoss tutorials" which can be found in "Documents"!

          • 2. Re: how to tunneling jms to 80 port?
            justkeys

            The way to get JMS over HTTP(S) working (tested on jboss-4.0.1sp1):

            1) download jboss4guide = the examples sources

            You get there by clicking the first icon next to JBoss AS, and then the code link under jboss 4 - JBoss 4 Application Server Guide (v2) HTML code

            2) make an .../jboss4guide/examples/ant.properties file where you define

             jboss.dist=your-jboss-install-folder (use forward slashes)
            


            3) compile the examples by running

            .../jboss4guide/examples>ant
            


            4) setup the chap3-example-jboss config by running
            .../jboss4guide/examples>ant -Dchap=chap3 config
            


            What happens here = a new jboss deployment setup is created (next to default, all and minimal). To make this chap3-deployment, ant will start by taking a copy of the server/default folder, so make sure this one is "clean" = untouched = like it was when you installed jboss.

            Now you can run this jboss setup by doing
            jboss4/bin>run -c chap3


            5) To make JMS go over HTTP, all you have to do is make sure you look up "HTTPConnectionFactory" in the jndi of jboss.

            6) You probably want to do JNDI over HTTP(S) as well.

            This is your jndi.properties file if you need HTTPS:

            java.naming.factory.initial org.jboss.naming.HttpNamingContextFactory
            java.naming.provider.url https://[some ip or localhost]:8443/invoker/JNDIFactorySSL
            java.naming.factory.url.pkgs org.jboss.naming:org.jnp.interfaces;java.protocol.handler.pkgs
            


            I don't know how to specify you need jndi over http, but it probably is the same, except for the second line:

            java.naming.provider.url http://[some ip or localhost]:8443/invoker/JNDIFactory
            


            If you have this one on your classpath, new InitialContext() will use these properties, to make a Context implementation that uses HTTPS to do it's job.

            When you run a client, that uses HTTPS to do jndi lookups, you must make sure that this client trusts the server. This means the client must be aware of a keystore, when you start it. Therefore, when you run your jms client, make sure to pass these parameters into java:

            -Djavax.net.ssl.trustStore=d:/jboss-4.0.1sp1/server/chap3/conf/chap8.keystore -Dorg.jboss.security.ignoreHttpsHost=true
            


            As you can see, i refer to chap8.keystore inside my jboss. By using the same keystore, the client trusts the server. This trick is used in the examples chap3.

            7) If you want JMS to talk over HTTPS as well, you'll make sure that this file chap3\deploy\jms\jbossmq-httpil.sar\META-INF\jboss-service.xml contains these attributes:

            <mbean code="org.jboss.mq.il.http.HTTPServerILService">
             ...
             <attribute name="URLPrefix">https://</attribute>
             <attribute name="URLPort">8443</attribute>
             ...
            </mbean>
            


            8) Other attributes in that file, that are important when you do JMS over HTTP(S):

            This means "every 10 seconds, a consumer will poll the jms server, to see if there's a message for him:

             <attribute name="TimeOut">0</attribute>
             <attribute name="RestInterval">10</attribute>
            


            This means "every 60 seconds, a consumer will poll the jms server and spend at most 10 seconds of waiting there, if no message was available:

             <attribute name="TimeOut">10</attribute>
             <attribute name="RestInterval">60</attribute>
            


            Since HTTP is has no session notion, the implementation must use ping-messages to find out wheter our not some connection is still valid. You can determine, that every 10 seconds, such a ping should occur.

             <attribute name="PingPeriod">10000</attribute>
            


            To see this in action, enable logging in a log4j.properties at your classpath:

            log4j.rootCategory=INFO, Default
            
            # Dumps logging into jbossmq.log
            # log4j.appender.Default=org.apache.log4j.FileAppender
            log4j.appender.Default=org.apache.log4j.ConsoleAppender
            log4j.appender.Default.File=jbossmq.log
            log4j.appender.Default.layout=org.apache.log4j.PatternLayout
            log4j.appender.Default.layout.ConversionPattern=%d %-5p [%c(1)] {%t} %m%n
            log4j.appender.Default.Append=false
            
            # TRACE level logging
            log4j.category.org.jboss.mq=TRACE#org.jboss.logging.XLevel
            
            # Uncomment to filter invocation layer (transport) logging
            # log4j.category.org.jboss.mq.il=INFO
            


            9) Now read the ant script that set up server/chap3 for you, to see which config files are used for what purpose.

            • 3. Re: how to tunneling jms to 80 port?
              dragon_jdh

              thanks a lot, I will try it immediately.

              BTW: is there a way to do RMI tunneling on JBoss?
              I know JProxy can do it, but I want to find other ways. thanks

              • 4. Re: how to tunneling jms to 80 port?
                justkeys
                • 5. Re: how to tunneling jms to 80 port?

                  justkeys

                  Can you write this up on the WIKI?
                  It will get lost in a forums post - nobody uses search :-(

                  Thanks,
                  Adrian

                  • 6. Re: how to tunneling jms to 80 port?
                    dragon_jdh

                    Hi, justkeys

                    I tried & it works. but I am still confusing, since it is just JNDI over http, how message send between server & client side? would you please explain the communication a bit detail?

                    thanks a lot

                    Regards
                    Dragon

                    • 7. Re: how to tunneling jms to 80 port?
                      justkeys

                      You shouldn't care: if you know JMS, you know enough. Behind the scenes, a servlet on each jboss (the server), is present.

                      The client uses a special InitialContext. When you lookup something in that context, the client jboss code marshalls the lookup name into a http request and sends it to the servlet on the jboss machine.

                      The servlet decodes this, and understands "aha somemone looks for object x". It then looks in it's real jndi for that object, and it returns (in the http respone) something like "okay, i have this object, it has this interface" if it's there.

                      The jboss client code receives the okay, and makes a proxy, that implements this interface.

                      Next, your app code calls some method on that proxy. That proxy also marshalls this method invocation into a http request, and sends it to the servlet.

                      The servlet receives that request and understands "aha someone wants to call method y on jndi-object z". It invokes that method on the real object z, and marshalls the return value into the http response.

                      • 8. Re: how to tunneling jms to 80 port?
                        dinesh_pandey2003

                        How to run jms example in jboss + eclipse?

                        • 9. Re: how to tunneling jms to 80 port?
                          gbalbastro

                          I did all the steps of the configuration, but it didn't work
                          I'm using Jboss 402.
                          Here are my archives.
                          In the server:

                          jboss-service.xml


                          <depends optional-attribute-name="Invoker">jboss.mq:service=Invoker
                          jboss.web:service=WebServer
                          HTTPConnectionFactory
                          HTTPXAConnectionFactory
                          https://
                          8443
                          10
                          10
                          60



                          The client is another jboss 402 that jave an mdb remote.


                          serverJMSProvider
                          org.jboss.jms.jndi.JNDIProviderAdapter
                          <!-- The queue connection factory -->
                          HTTPConnectionFactory
                          <!-- The topic factory -->
                          HTTPConnectionFactory
                          <!-- Connect to JNDI on the host "queuehost" port 1099-->

                          java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory
                          java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces;java.protocol.handler.pkgs
                          java.naming.provider.url=https://serverJMS:8443/invoker/JNDIFactorySSL



                          the exception in the client is:

                          2005-09-01 12:18:49,460 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Reconnected to JMS provider
                          2005-09-01 12:18:49,480 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] innerStop
                          2005-09-01 12:18:49,480 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] destroyService
                          2005-09-01 12:18:49,480 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Waiting for reconnect internal 10000 ms
                          2005-09-01 12:18:59,484 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Trying to reconnect to JMS provider
                          2005-09-01 12:18:59,484 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing
                          2005-09-01 12:18:59,484 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/serverJMSProvider
                          2005-09-01 12:18:59,484 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JNDIProviderAdapter@9a6bbb
                          2005-09-01 12:19:20,454 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:
                          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:30)
                          at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:668)
                          at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:922)
                          at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.run(JMSContainerInvoker.java:1492)
                          at java.lang.Thread.run(Thread.java:534)
                          Caused by: java.io.IOException
                          at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:602)
                          at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(DashoA12275)
                          at org.jboss.naming.HttpNamingContextFactory.getNamingServer(HttpNamingContextFactory.java:118)
                          at org.jboss.naming.HttpNamingContextFactory.getInitialContext(HttpNamingContextFactory.java:65)
                          ... 9 more
                          Caused by: java.net.ConnectException: Connection timed out: connect
                          at java.net.PlainSocketImpl.socketConnect(Native Method)
                          at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
                          at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
                          at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
                          at java.net.Socket.connect(Socket.java:452)
                          at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(DashoA12275)
                          at com.sun.net.ssl.internal.ssl.SSLSocketImpl.(DashoA12275)
                          at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
                          at sun.net.www.protocol.https.HttpsClient.doConnect(DashoA12275)
                          at sun.net.www.http.HttpClient.openServer(HttpClient.java:402)
                          at sun.net.www.http.HttpClient.openServer(HttpClient.java:618)
                          at sun.net.www.protocol.https.HttpsClient.(DashoA12275)
                          at sun.net.www.protocol.https.HttpsClient.a(DashoA12275)
                          at sun.net.www.protocol.https.HttpsClient.a(DashoA12275)
                          at sun.net.www.protocol.https.HttpsClient.a(DashoA12275)
                          at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.plainConnect(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:113)
                          ... 10 more

                          • 10. Re: how to tunneling jms to 80 port?
                            paulkennethdickson

                            I did exactly these steps, but got the following error:

                            18:15:04,359 INFO [NamingService] Started jndi bootstrap jnpPort=1099, rmiPort=1098, backlog=50, bindAddress=/0.0.0.0, Client SocketFactory=null, Server SocketFactory=org.jboss.net.sockets.DefaultSocketFactory@ad093076
                            18:15:05,468 WARN [ServiceController] Problem starting service jboss:service=Naming
                            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:175)
                            at org.jboss.naming.NamingService.startService(NamingService.java:227)
                            at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
                            at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
                            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.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
                            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
                            at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
                            at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
                            at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
                            at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
                            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
                            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
                            at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
                            at $Proxy0.start(Unknown Source)
                            at org.jboss.system.ServiceController.start(ServiceController.java:428)
                            at org.jboss.system.ServiceController.start(ServiceController.java:446)
                            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                            at java.lang.reflect.Method.invoke(Method.java:324)
                            at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
                            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
                            at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
                            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
                            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
                            at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
                            at $Proxy4.start(Unknown Source)
                            at org.jboss.deployment.SARDeployer.start(SARDeployer.java:285)
                            at org.jboss.deployment.MainDeployer.start(MainDeployer.java:989)
                            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:790)
                            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:753)
                            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:737)
                            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                            at java.lang.reflect.Method.invoke(Method.java:324)
                            at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
                            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
                            at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
                            at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
                            at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
                            at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
                            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
                            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
                            at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
                            at $Proxy5.deploy(Unknown Source)
                            at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:453)
                            at org.jboss.system.server.ServerImpl.start(ServerImpl.java:330)
                            at org.jboss.Main.boot(Main.java:187)
                            at org.jboss.Main$1.run(Main.java:438)
                            at java.lang.Thread.run(Thread.java:534)
                            Caused by: java.io.IOException
                            at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:591)
                            at org.jboss.naming.HttpNamingContextFactory.getNamingServer(HttpNamingContextFactory.java:118)
                            at org.jboss.naming.HttpNamingContextFactory.getInitialContext(HttpNamingContextFactory.java:65)
                            ... 57 more
                            Caused by: java.net.ConnectException: Connection refused: connect
                            at java.net.PlainSocketImpl.socketConnect(Native Method)
                            at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
                            at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
                            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
                            at java.net.Socket.connect(Socket.java:452)
                            at java.net.Socket.connect(Socket.java:402)
                            at sun.net.NetworkClient.doConnect(NetworkClient.java:139)
                            at sun.net.www.http.HttpClient.openServer(HttpClient.java:402)
                            at sun.net.www.http.HttpClient.openServer(HttpClient.java:618)
                            at sun.net.www.http.HttpClient.(HttpClient.java:306)
                            at sun.net.www.http.HttpClient.(HttpClient.java:267)
                            at sun.net.www.http.HttpClient.New(HttpClient.java:339)
                            at sun.net.www.http.HttpClient.New(HttpClient.java:320)
                            at sun.net.www.http.HttpClient.New(HttpClient.java:315)
                            at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:510)
                            at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:487)
                            at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:615)
                            at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:1446)
                            at java.net.URLConnection.getHeaderFieldInt(URLConnection.java:476)
                            at java.net.URLConnection.getContentLength(URLConnection.java:371)
                            at org.jboss.naming.HttpNamingContextFactory.getNamingServer(HttpNamingContextFactory.java:113)
                            ... 58 more
                            18:15:06,781 WARN [ServiceController] Problem starting service jboss.security:service=JaasSecurityManager
                            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:175)
                            at org.jboss.security.plugins.JaasSecurityManagerService.startService(JaasSecurityManagerService.java:377)
                            at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
                            at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
                            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.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
                            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
                            at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
                            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
                            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
                            at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
                            at $Proxy0.start(Unknown Source)
                            at org.jboss.system.ServiceController.start(ServiceController.java:428)
                            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                            at java.lang.reflect.Method.invoke(Method.java:324)
                            at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
                            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
                            at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
                            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
                            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
                            at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
                            at $Proxy4.start(Unknown Source)
                            at org.jboss.deployment.SARDeployer.start(SARDeployer.java:285)
                            at org.jboss.deployment.MainDeployer.start(MainDeployer.java:989)
                            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:790)
                            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:753)
                            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:737)
                            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                            at java.lang.reflect.Method.invoke(Method.java:324)
                            at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
                            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
                            at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
                            at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
                            at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
                            at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
                            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
                            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
                            at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
                            at $Proxy5.deploy(Unknown Source)
                            at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:453)
                            at org.jboss.system.server.ServerImpl.start(ServerImpl.java:330)
                            at org.jboss.Main.boot(Main.java:187)
                            at org.jboss.Main$1.run(Main.java:438)
                            at java.lang.Thread.run(Thread.java:534)
                            Caused by: java.io.IOException
                            at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:591)
                            at org.jboss.naming.HttpNamingContextFactory.getNamingServer(HttpNamingContextFactory.java:118)
                            at org.jboss.naming.HttpNamingContextFactory.getInitialContext(HttpNamingContextFactory.java:65)
                            ... 53 more
                            Caused by: java.net.ConnectException: Connection refused: connect
                            at java.net.PlainSocketImpl.socketConnect(Native Method)
                            at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
                            at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
                            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
                            at java.net.Socket.connect(Socket.java:452)
                            at java.net.Socket.connect(Socket.java:402)
                            at sun.net.NetworkClient.doConnect(NetworkClient.java:139)
                            at sun.net.www.http.HttpClient.openServer(HttpClient.java:402)
                            at sun.net.www.http.HttpClient.openServer(HttpClient.java:618)
                            at sun.net.www.http.HttpClient.(HttpClient.java:306)
                            at sun.net.www.http.HttpClient.(HttpClient.java:267)
                            at sun.net.www.http.HttpClient.New(HttpClient.java:339)
                            at sun.net.www.http.HttpClient.New(HttpClient.java:320)
                            at sun.net.www.http.HttpClient.New(HttpClient.java:315)
                            at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:510)
                            at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:487)
                            at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:615)
                            at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:1446)
                            at java.net.URLConnection.getHeaderFieldInt(URLConnection.java:476)
                            at java.net.URLConnection.getContentLength(URLConnection.java:371)
                            at org.jboss.naming.HttpNamingContextFactory.getNamingServer(HttpNamingContextFactory.java:113)
                            ... 54 more

                            I have no idea of what to do :(

                            • 11. Re: how to tunneling jms to 80 port?
                              paulkennethdickson


                              This was right after step 6