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

Difference between revisions of "Swordfish Documentation: Generating Dynamic WSDL"

Line 35: Line 35:
 
</ol>
 
</ol>
 
To leverage the use of the Swordfish Dynamic WSDL Generation feature the org.eclipse.swordfish.plugins.ws.wsdlgenerator project should be added to the target platform.
 
To leverage the use of the Swordfish Dynamic WSDL Generation feature the org.eclipse.swordfish.plugins.ws.wsdlgenerator project should be added to the target platform.
To access the generated wsdl document for the http endpoint just add the "?wsdl" to the locationURI. For example httpConsumerEndpoint publishes its wsdl document on the address
+
To access the generated wsdl document for the http endpoint just add the "?wsdl" to the locationURI. For example httpConsumerEndpoint publishes its wsdl document on the address
 
http://localhost:8192/cxfsample/?wsdl
 
http://localhost:8192/cxfsample/?wsdl
  

Revision as of 05:09, 29 May 2009

Generating Dynamic WSDL

This section contains instructions on implementing the dynamic WSDL generation feature.

Prerequisites

Eclipse Galileo M7 build or later. The examples described here are based on Eclipse Galileo M7.

About Dynamic WSDL Generation

This feature allows users to access dynamically generated WSDLs for JAX-WS endpoints deployed within the Swordfish.
Let's consider the following example:
The jaxws endpoint is deployed with the descriptor:

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

The http endpoint is used to access the jax-ws service externally:

   <http:endpoint                  
                 endpoint="httpConsumerEndpoint"                 
                 service="httpConsumerEndpoint"
                 targetService="swordfishCxf:BookingServiceImpl"
                 soap="true"
                 role="consumer"                  
                 locationURI="http://0.0.0.0:8192/cxfsample/"
                 defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
 

The http endpoint points to swordfishCxf:BookingServiceImpl service and it is managed and deployed by the JBI ServiceMix HTTP binding component. The problem is that there is no default mechanism to access dynamically generated booking service WSDL document via the Http Endpoint facilities. In order to overcome this issue the [1] project was created. It performs the following steps:

  1. Tracks all deployed http endpoionts
  2. Searches for the targeted jax-ws services. Please note that the http endpoint's deployment descriptor should contain targetService or targetEndpoint or targetInterface attributes, otherwise wsdlgenerator will not be able the find the corresponding jax-ws service
  3. Generates the wsdl for the service and injects it in the http endpoint

To leverage the use of the Swordfish Dynamic WSDL Generation feature the org.eclipse.swordfish.plugins.ws.wsdlgenerator project should be added to the target platform. To access the generated wsdl document for the http endpoint just add the "?wsdl" to the locationURI. For example httpConsumerEndpoint publishes its wsdl document on the address http://localhost:8192/cxfsample/?wsdl


Swordfish Documentation Home
Swordfish Wiki Home

Back to the top