Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Swordfish Documentation: Creating JAX-WS Client

Creating the JAX-WS Client

This section contains instructions on creating the JAX-WS client for the JAX-WS service deployed into the NMR.

Prerequisites

Eclipse Galileo M7 build or later.
The target platform should contain the Apache CXF and the org.eclipse.swordfish.plugins.cxf.support bundles
The examples described here are based on Eclipse Galileo M7.

About JAX-WS Client

For general information on how to configure the JAX-WS client, see Configuring a Spring Client section.
It is used to create the java proxy based on the supplied interface class.
This proxy transforms method call into the SOAP request and sends it to the web service

Creating the Client

The sample that shows how to create the JAX-WS client is located at http://dev.eclipse.org/svnroot/rt/org.eclipse.swordfish/trunk/org.eclipse.swordfish.samples/org.eclipse.swordfish.samples.cxfendpoint/

To create the client:

  1. Create the spring XML configuration file
  2. Add the following spring imports:
        <import resource="classpath:META-INF/cxf/cxf.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
        <import resource="classpath:META-INF/org/eclipse/swordfish/plugins/cxf/support/nmr-transport.xml" />
       
    
  3. Add the JAX-WS client entry:
     <jaxws:client id="<<The name of the client>>"
                      serviceClass="<<The interface class of the web service deployed>>"
                      serviceName="<<The serviceName QName (service element in the wsdl)>>"
                      interfaceName="<<The interfaceName QName (portType element in the wsdl)>>"
                      address="nmr:<<The name of the webservice's nmr endpoint>>" />
    

    serviceName and interfaceName attributes are optional
    For example, for the JAX-WS endpoint:

     <jaxws:endpoint id="bookingService"
    	                implementor="org.eclipse.swordfish.samples.cxf.BookingServiceImpl"
    	                address="nmr:BookingService"/> 
    

    The client should look like this:
     xmlns:swordfishCxf="http://cxf.samples.swordfish.eclipse.org/"
     ....
    <jaxws:client id="bookingServiceClient"
                      serviceClass="org.eclipse.swordfish.samples.cxf.BookingService"
                      serviceName="swordfishCxf:BookingServiceImpl"
                      address="nmr:bookingService" />
    
  4. Provide the necessary ImportPackage and Require-Bundle statements in the MANIFEST.MF file as done in the http://dev.eclipse.org/svnroot/rt/org.eclipse.swordfish/trunk/org.eclipse.swordfish.samples/org.eclipse.swordfish.samples.cxfendpoint/META-INF/MANIFEST.MF



Swordfish Documentation Home
Swordfish Wiki Home

Back to the top