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 | No
|
||
| address | No
|
||
| chunked-mode | No
|
||
| synchronous-timeout | No
|
||
| cleanup-transport | No
|
||
| mode | No
|
||
| enable-compatibility-for | No
|
||
| proxy-host | No
|
||
| proxy-port | No
|
||
| proxy-user | No
|
||
| proxy-password | No
|
||
| proxy-domain | No
|
||
| rest-http-method | No
|
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 | No
|
||||
| soap-action | No
|
||||
| synchronous-timeout | No
|
||||
| mode | No
|
||||
| enable-compatibility-for | No
|
||||
| enable-http-transport | No
|
||||
| enable-jms-transport | No
|
||||
| http-services-redirection | No
|
||||
| service-parameters | No
|
||||
| modules | No
|
||||
| rest-add-namespace-uri | No
|
||||
| rest-add-namespace-prefix | No
|
||||
| rest-remove-prefix-on-response | No
|
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