...
This component has been deprecated in favor to servicemix-http component.
If you want to invoke EJBs, use servicemix-jsr181 component.
...
The diagram below illustrates the example program's logical flow:
...
...
...
Following, are the details of example program's logic flow:
...
Component or Bean ID | Description | ||
---|---|---|---|
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="f74be939-780f-45b6-bc39-8e1e9d332282"><ac:plain-text-body><![CDATA[ | checkAvailability | This component uses the WSIFBinding class to integrate WSIF to ServiceMix as specified in the class property. Its definitionResource property is set to read the | ]]></ac:plain-text-body></ac:structured-macro> |
MDB | This MDB is the actual implementation of the service. It acts like a message listener on the queue specified in the config files. When a message is delivered, it extracts the body which is a ZIP Code. It then applies some logic to determine whether DSL service is available at this ZIP Code or not. For simplicity, it just returns true for all ZIP Codes < 50000 and false otherwise. The return message is sent to the queue specified in the replyTo field of the request message. NOTE: The MDB must encode the correct JMSCorrelationID in the return message in order for it to be picked up by WSIF. |
...
The following snippet is from the servicemix.xml
file. Note: that the WSIFBinding class has the service.wsdl
file as a property.
...
...
Following is an example of how to enable a service to be exposed over a JMS topic or queue. This is a snippet of code from the service.wsdl
file. It shows how to configure the JMS binding:
...
...
Here are descriptions of the properties found in the service.wsdl
file. The descriptions are quoted from the WSDL Bindings for JMS web page:
- <jms:address> describes a target port that is accessible via JMS.
- destinationStyle must either be queue or topic, although only queue is supported at this time.
- jndiDestinationName is the JNDI name of the JMS queue that WSIF will send requests to.
- jndiConnectionFactoryName is the JNDI name of the connection factory that WSIF will be used.
- jndiProviderURL and initialContextFactory specify which JNDI database to use. If they are not present, WSIF uses the default JNDI.
- jms:binding specifies that this binding is for Native JMS. The type is the type of the JMS message that will be sent. In this case it will be a text message.
Working with XML versus properties
...
A Java client can be programmed as an alternative way of invoking the web service, in lieu of a web form. The following is a Java client example using the ServiceMix Client API in a WSIF approach, passing in and fetching out named parameters. This Java client is performing the role originally assigned to the HTTP Client above. It also needs to be configured (not shown) to communicate to the "checkAvailability" service via the ServiceMix NMR. In other words, it needs to have "checkAvailability" set as its "destination" for the NMR messages it sends.
...
...
The previous Java code works against the given WSDL 1.1 service.wsdl
file using its named parts:
...
Related Documentation
For more information, please see:
...