Red Hat Training
A Red Hat training course is available for JBoss Enterprise SOA Platform
5.21. Exposing ESB Services via Web Service End-Points
5.21.1. Exposing ESB Services via Web Service End-points
When you declare your service contract schemas, the ESB service will automatically be exposed through a web service endpoint. (The contract for this web service end-point can be located through the Contract Web Application.) To modify this functionality, change the value for the 'webservice' attribute to one of the following:
Table 5.3. Web Service Attributes
Name | Description |
---|---|
false | No web service endpoint will be published. |
true | A web service endpoint will be published (default). |
By default the webservice endpoint does not support WS-Addressing but this can be enabled through use of the 'addressing' attribute.
Table 5.4. WS-Addressing Values
Value | Description |
---|---|
false | No support for WS-Addressing (default). |
true | Require WS-Addressing support. |
When support for addressing is enabled, the WS-Addressing Message Id, Relates To URIs and relationship types will be added as properties of the incoming messages.
Table 5.5. WS-Addressing Properties
Property | Description |
---|---|
org.jboss.soa.esb.gateway.ebws.messageID | The WS-Addressing message id. |
org.jboss.soa.esb.gateway.ebws.relatesTo | A String array containing the WS-Addressing RelatesTo URIs. |
org.jboss.soa.esb.gateway.ebws.relationshipType | A String array containing the WS-Addressing Relationship Types corresponding to the RelatesTo URIs. |
The following example illustrates the declaration of a service which wishes to validate the request/response messages but without exposing the service through a webservice endpoint.
<service category="ServiceCat" name="ServiceName" description="Test Service"> <actions mep="RequestResponse" inXsd="/request.xsd" outXsd="/response.xsd" webservice="false" validate="true"> <!-- .... > </actions> </service>
The following example illustrates the declaration of a service which wishes to validate the request/response messages and expose the service through a webservice endpoint. In addition the service expects the request to be provided in the named body location 'REQUEST' and will return its response in the named body location 'RESPONSE'.
<service category="ServiceCat" name="ServiceName" description="Test Service"> <actions mep="RequestResponse" inXsd="/request.xsd" outXsd="/response.xsd" validate="true" requestLocation="REQUEST" responseLocation="RESPONSE"> <!-- .... --> </actions> </service>