How can I expose an ESB service as a webservice?

Solution Unverified - Updated -

Environment

  • JBoss SOA Platform (SOA-P) 4.x
  • JBoss SOA Platform (SOA-P) 5.x

Issue

  • How can I expose my ESB service as a webservice?

Resolution

There are two main choices, you can either write a standard webservice (typically JSR-181 style) that calls your ESB service, or you can use EBWS.
* If you write a standard webservice, it's a little more effort but you get full manual control in case you want features that are not in EBWS.  See the JBossWS documentation for how to write a JSR-181 annotated service.
* If you use EBWS, you specify an inxsd, outxsd, and errorxsd for your service and a webservice wrapper will be automatically generated for you on deployment.  Some limits of this is that your webservice will only have one method and there is no way to override the generated wsdl file.  See the publish_as_webservice quickstart for an example of this.

If a customer wants to expose multiple ESB operations it is also possible to split their ESB service into multiple services and use EBWS on each one, but generally this is not a preferred solution and it will result in separate webservices for each operation.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments