apache > ws.apache
Apache Muse
 

Apache Muse - WSDLMerge Tool

Introduction

This utility exists because it is easier to develop WSDL files separately and then combine them before passing them to code generation. However, because of the way WSDL is currently defined, it is impossible to declare portTypes that combine operations from other portTypes. More specifically the tool will:

  • combine the portType element of each WSDL file into one portType (this will also incorporate all of the necessary messages and schema types).
  • combine the WS-RF Document schema from each WSDL (if present) into a one merged WS-RF Document schema.
  • create a binding based on the new portType using conventions needed for wsdl2java and Muse.
  • create a service element that attaches to the new binding and portType.
  • optionally combine all of the referenced .rmd (WS-ResourceMetadataDescriptor) files referenced from the gathered WSDLs into one metadata descriptor.

Usage

Run without any parameters the program will print the following usage message to standard out:

Usage: wsdlmerge.[bat|sh] -uri URI -address URL -output FILE [OPTIONS] FILES

The following arguments are required:
  -uri URI              The target namespace of the generated WSDL file
  -address URL          The address of the generated service
  -output FILE          The file where the merged wsdl will be written

FILES must be at least one WSDL file

The following arguments are optional:
  -rmdoutput            The file where the merged metadata will be written
  -overwrite            Overwrite files that exist
  -version              Print out the version
  -help                 Display this message

  • -uri - the targetNamespace of the newly created WSDL

  • -address - the address at which to create the service element

  • -output - the file name of the new WSDL

  • -rmdoutput - the file name of the combined RMD

  • -overwrite - tells the program to overwrite existing files

  • -version - prints the version information and exits.

  • -help - prints the help message (same as running with no arguments)

For example a typical usage would be as follows:
wsdlmerge 
   -address "http://localhost:8080/myEndpoint/services/myServiceName"
   -uri "http://tempuri.og/myEndpoint.wsdl" 
   -output myEndpoint.wsdl 
   wsdl1.wsdl wsdl2.wsdl
The above should be executed on one line.