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)
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.