Feature
The SOAP component is a Binding Component (BC) which enables to interact with external Web Services and to expose JBI services as Web Services.
In provider role, when a JBI MessageExchange is sent to a ServiceEndpoint (mapped to a Web Service), it is transformed into a SOAP message and sent to the linked external web service. In consumer role, when a SOAP message is received on an exposed web service, transformed into a JBI MessageExchange and sent to the corresponding JBI ServiceEndpoint.
The SOAP component is based on Apache Axis2 v1.4.1 (http://ws.apache.org/axis2/) and Mortbay Jetty v6.1.9 (http://jetty.codehaus.org/jetty/). It provides the following features :
- Expose JBI Services as Web Services
- Expose Web Services as JBI Services
- Handle SOAP attachments. The attachments of the incoming SOAP message are placed into the JBI message as attachments; the JBI attachments are placed in the outgoing SOAP message as attachments.
| All attachment are processed by using XOP rules.(XML-binary Optimized Packaging : http://www.w3.org/TR/xop10/ ) |
Exposing an external web service as a JBI service endpoint
In provide mode, the component exposes an external web service in the JBI environment to send SOAP requests to the external web service.
Usage
Configuration
| Parameter | Description |
Default |
Required |
|---|---|---|---|
| provides | Describe the JBI service that will be exposed into the JBI bus. Interface (QName), Service (QName) and Endpoint (String) attributes are required. | - | Yes |
Service Unit attributes to provide services
| Attribute | Description | Default value | Required |
|---|---|---|---|
| soap-version | |||
| address | |||
| chunked-mode | |||
| synchronous-timeout | |||
| cleanup-transport | |||
| mode | |||
| enable-compatibility-for | |||
| proxy-host | |||
| proxy-port | |||
| proxy-user | |||
| proxy-password | |||
| proxy-domain | |||
| rest-http-method |
Service Unit descriptor
The service unit is configurable via its extensions in the jbi.xml file:
Service Unit content
The Service Unit has to contain the following elements, packaged in an archive:
- The META-INF/jbi.xml descriptor file, has described above,
- An optional imported WSDL file describing the partner service
Exposing an internal JBI service endpoint as a web service
In consumer mode, the component exposes an internal JBI service outside the bus to transfer incoming SOAP requests to the internal service.
Usage
Configuration
| Parameter | Description | Default | Required |
|---|---|---|---|
| consumes | Refer JBI service to invoke into the JBI bus. You can define an explicit endpoint: interface (QName) / Service (QName) / Endpoint (String) attributes. Or define implicit endpoint, to let the container routing according to QOS configurations (HA...): -by Interface attribute (QName) -by Service attribute (QName) |
- | Yes |
| Parameter | Description | Default | Required |
|---|---|---|---|
| mep | Message exchange pattern abbreviation. This parameter can be used in conjunction with the method of the CDK Listeners: createMessageExchange(Extensions extensions). This method returns a CDK Exchange corresponding to the type of the specified pattern. |
- | Yes |
| operation | Operation to call on a service. This parameter can be used in conjunction with the sending methods of the Listeners. If no operation is specified in the Message Exchange to send, this parameter will be used. | - | No |
| timeout | Timeout in milliseconds of a synchronous send. This parameter can be used in conjunction with the sendSync(Exchange exchange) method of the Listeners. Set 0 for an infinite timeout. | 30000 | No |
Service Unit attributes to consume services
| Attribute | Description | Default value | Required |
|---|---|---|---|
| service-name | |||
| soap-action | |||
| synchronous-timeout | |||
| mode | |||
| enable-compatibility-for | |||
| enable-http-transport | |||
| enable-jms-transport | |||
| http-services-redirection | |||
| service-parameters | |||
| modules | |||
| rest-add-namespace-uri | |||
| rest-add-namespace-prefix | |||
| rest-remove-prefix-on-response |
Service Unit descriptor
The service unit is configurable via its extensions in the jbi.xml file:
Service Unit content
The Service Unit has to contain the following elements, packaged in an archive:
- The META-INF/jbi.xml descriptor file, has described above