SOAP Acceptors and ESB Processes Exposed as Web Services

Posted by nweddle on 07-Oct-2008 11:14

Hi everyone,

I am running ESB 7.01 and want to expose an ESB Process as a Web Service.

What is the relationship between the SOAP acceptor URL and the WSDL URL for the ESB Process?

Is there one SOAP Acceptor for all the ESB Process Web Services?

Can I use port 80 for my SOAP acceptor? I created a SOAP Acceptor on port 80 and the container failed to start, due to a port conflict.

Also, I would like to set up a Web Service "Gateway", where all Web Service clients have can use a single URL. The Acceptor would drop the message on a queue and then I would route the message to the correct Web Service enabled ESB Process. Not sure how to do this, or if this is even possible.

Thanks!

Nathan

All Replies

Posted by Bill Wood on 16-Nov-2009 13:31

nweddle wrote:

Hi everyone,

I am running ESB 7.01 and want to expose an ESB Process as a Web Service.

*What is the relationship between the SOAP acceptor URL and the WSDL URL for the ESB Process? *

You should be using the WS-Protocol acceptor.  The Acceptor definition will have a list of URLs.  Each URL can point to a Sonic ESB Process (1-to-1).  When you query:

    http://acceptor:port/?wsdl

then you will get the WSDL associated with the process, with the WSDL port address replaced by the 'correct' value.

*Is there one SOAP Acceptor for all the ESB Process Web Services?*

You can have one WS-Protocol acceptor that goes to many WSDLs and many ESB Processes.

Can I use port 80 for my SOAP acceptor? I created a SOAP Acceptor on port 80 and the container failed to start, due to a port conflict.**

Yes.  But not if port 80 is used by some other webserver on the same machine -- check that you don't have Tomcat or something else there.

Also, I would like to set up a Web Service "Gateway", where all Web Service clients have can use a single URL. The Acceptor would drop the message on a queue and then I would route the message to the correct Web Service enabled ESB Process. Not sure how to do this, or if this is even possible.

This is a little harder, but not impossible.  If you change the URL to point to a Queue, or a Process reading off a Queue, then the process could route this to any other ESB Process.

This thread is closed