6 Replies Latest reply on Jan 6, 2004 7:45 AM by adrian.brock

    http messaging

    xs2iop

      Hello, I have a mdb on a jboss 3.2.3 call by a java simple client.the client ask to mdb a download of crl.it's work 's fine in default configuration but i dont know default protocol or default layer. I would like implement an http transport because, the client and the mdb will be separate by a firewall. I have change my code like this in client :

      iniCtx.lookup("HTTPConnectionFactory");
      instead of....iniCtx.lookup("ConnectionFactory");
      a posteriori the client send the message but mdb don't receive it.

      the server log tarce are :
      12:09:48,407 INFO [JaasSecurityManagerService] Created securityMgr=org.jboss.security.plugins.JaasSecurityManager@14920f8
      12:09:48,407 INFO [JaasSecurityManagerService] setCachePolicy, c=org.jboss.util.TimedCachePolicy@1387c6
      12:09:48,407 INFO [JaasSecurityManagerService] Added jbossmq-httpil, org.jboss.security.plugins.SecurityDomainContext@37086a to map

      but the onMessage callback of mdb did not work....


      I have seen the different topic on forum but i didn't found how to configure http layer really.

      regards
      xs2iop

        • 1. Curious: Why Spy?


          Just a passing question - why is 'Spy' all over the class names in the JBoss messaging?

          History? meaning? joke?

          ... or have I just *really* missed something!! ;-)

          • 2. Re: http messaging
            mkprim

            Why don't you first try connecting through a normall connection like UIL2?
            If your MDB onMessage does work, then you know it's a HTTP problem.
            Have you configured de MDB descriptor to process the messages from the Queue/Topìc?

            • 3. Re: http messaging
              xs2iop

              thanks mkprim for your interest of my problems and happy new year...

              in fact, I don't know which of one protocol is use by default jms transport and how choose one of them, RMI is default, isn't it?

              you ask why i don't use an uil2 layer, only because i write my code , that is to say a client and an mdb in point to point mode.and it work fine (the client give a object message to mdb, some parameters in java class, like date, int ...and mdb get an certificate revocation list , update received object message and forward to client this message which contains the crl ), it's only after after discussion, we have seen that the mdb is on a server and the client on other server, behind a firewall,so i must use an http protocol??? but I don't understand how to configure layer on jboss, for exemple if all are active and it's just on code, i must indicate the connexion factory (in fact HTTPConnexion is ok, it seems to work...) but if you have somme information to configure properly layer ...it will be very nice , thanks.

              • 4. Re: http messaging

                Lets take it in smaller steps.

                The default "ConnectionFactory" is OIL (two tcp/ip sockets).

                Can you send a message to a queue from the client using OIL.
                Look at http://localhost:8080/jmx-console then at
                jboss.mq.destination for the queue.
                You can then see the queue size (make sure the MDB is not deployed).

                If it works with OIL, can you do the same with HTTPConnectionFactory.

                Regards,
                Adrian

                • 5. Re: http messaging
                  xs2iop

                  Hi Adrian,

                  you mean that if the code run ok in default conf (so in OIL) It will fine with any change in http.

                  indeed the client send successfully message which are consume by mdb in default conf...so i have just few question adrian.my code look like jboss doc point to point mdb exemple, you know (a client send on queue B a message and wait the response on queue A).

                  1-i have just change argument on lookup
                  Object tmp = iniCtx.lookup("ConnectionFactory");

                  in
                  Object tmp = iniCtx.lookup"HTTPConnectionFactory");

                  (i):it's the only change to run in http mode??
                  (ii):I believe it work fine but it appears slowly , isn't it?

                  2-how to choose the layer, it's only on code because jboss started all layer.How choose this one and configure the layer.It's in code or conf file?

                  for exemple, how choose rmi layer?


                  best regards
                  Sébastien

                  • 6. Re: http messaging
                    mkprim

                    look in the server/default/deploy/jms
                    there you have all the xmls for the connectionFactories like xxx-service.xml