Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning
titleWarning

This component has been deprecated in favor to servicemix-http component.
If you want to invoke EJBs, use servicemix-jsr181 component.

Overview of the ServiceMix WSIF Example

...

Panel
borderColor#ccc
titleWSIF Logical Flow Diagram
borderStylesolid

 

...



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="838b32a752c8247c-f5a811e0-4fe44db8-879699c6-6e2baed38582cb7ea6051504"><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 classpath:org/servicemix/components/wsif/service.wsdl file, which is the WSDL file that will be used. The service.wsdl file can be found at [servicemix_src_install_dir]\servicemix-components\src\test\resources\org\apache\servicemix\components\wsif. In the init() method of the WSIFBinding class, service.wsdl is read to define the binding extension.

]]></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.

...

Wiki Markup
{snippet:id=wsif|lang=xml|url=http://svn.servicemix.codehaus.org/*checkout*/branches/servicemix-1.1/base/src/test/resources/org/servicemix/components/wsif/example.xml}

 

...

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:

Wiki Markup
{snippet:id=wsif|lang=xml|url=http://svn.servicemix.codehaus.org/*checkout*/branches/servicemix-1.1/base/src/test/resources/org/servicemix/components/wsif/service.wsdl}

 

...

Here are descriptions of the properties found in the service.wsdl file. The descriptions are quoted from the WSDL Bindings for JMS web page:

...

Wiki Markup
{snippet:id=wsif|lang=java|url=http://svn.servicemix.codehaus.org/*checkout*/branches/servicemix-1.1/base/src/test/java/org/servicemix/components/wsif/WsifTest.java}

 

...

The previous Java code works against the given WSDL 1.1 service.wsdl file using its named parts:

Wiki Markup
{snippet:id=wsdl|lang=xml|url=http://svn.servicemix.codehaus.org/*checkout*/branches/servicemix-1.1/base/src/test/resources/org/servicemix/components/wsif/service.wsdl}

 

...

Related Documentation

For more information, please see:

...