3 Replies Latest reply on Jan 25, 2008 12:11 PM by Burr Sutter

    Proxy Services in JBossESB

    Bradley Crosby Jr. Newbie

      I apologize in advance if my understanding of JBossESB's architecture isn't correct. I've been reading through the various documents the past few days, and for someone that doesn't have a lot of development experience working with ESBs, it's a bit lacking.

      I'm trying to figure out how to set up a proxy service in JBossESB. By proxy service, I mean a SOAP endpoint that in turn invokes a web service hosted remotely. From http://jboss.com/index.html?module=bb&op=viewtopic&t=127364 I gather it's not as automated as it is with some ESBs. I'd like to do this (if possible) without coding any Java classes. If I do have to write some classes, I'd prefer to be able to write them generically enough to be able to use them for any SOAP service proxy.

      I've gathered thus far that part of the solution I'm looking for involves using soapui-client-action action in order to invoke the remote service. However I'm unsure what to use as a listener. The quickstart webservice_consumer1 example looks like exactly what I need, except that it listens for requests over JMS rather than SOAP. Does JBossESB have a SOAP listener? Is there a piece of JBossESB documentation that lists the listeners that come packaged with JBossESB by default? When I look at the XSD that jboss-esb.xml is validated against, it appears to me that the only listeners

      Thanks in advance!

        • 1. Re: Proxy Services in JBossESB
          JD Morgan Newbie

          I think you want to use the webservice_producer quickstart as your SOAP entry point reference. This will require JBossAS and JBossWS.

          I posted an example of this on a thread a week or 2 ago http://www.jboss.com/index.html?module=bb&op=viewtopic&t=127028 that does this using PHP as the client but can easily be changed to whatever you want.

          Hope this helps

          • 2. Re: Proxy Services in JBossESB
            Alex Horwitz Newbie

            I think that I'm having the same roadblock as the orig poster, and the response post didn't clear up my confusion.

            My requirement is to have a web service (for which we have a WSDL defined) exposed on the bus, which can then satisfy the request using one of a few legacy services. The web service is a proxy, hosted by the bus, for legacy functionality. The webservice producer quickstart appears to demonstrate transport mediation. Control leaves the bus when the JBossWS web service is called (thus the JBossWS service isn't 'fronting' for the Bus at all). The idea of web service proxying in the sense that I described is core in some other bus products, such as BEA's aqualogic.

            If I am misunderstanding the webservice producer action or am otherwise confused, please accept my apologies in advance. ;)



            • 3. Re: Proxy Services in JBossESB
              Burr Sutter Master

              Here is one general rule of thumb.

              If the WS in question is hosted in-vm, in-container on JBossWS then use SOAPProcessor as that also allows you to expose your ESB Service as a WS as well (seen in webservice_producer)

              If the WS in question is hosted on BEA, IBM, Tomcat, .NET, Coldfusion, etc. in other words on some 3rd party and you simply wish to interact with that WS endpoint somewhere in the action pipeline then use the SOAPClient action (seen in webservice_consumer)

              Here is the worst case scenario, use wsconsume.bat to build a proxy/client/stub for the remote WS and use those classes in side of your action.