Eighty percent of the time users might not need the features of the wizard's third page. The other twenty percent the third page will come in handy.
Customizations on the page can be as simple as updating the package name of the generated JAR class files to overriding the type hierarchy specified in the XSD (or types node in the WSDL) through binding customizations using XPath expressions.
Below is a screenshot of the 3rd page:
Options on the page get more complex from top to bottom.
If the user decides they don't like the default package naming of the generated classes using the target namespace they can type in a valid package name in the text field next to the Package label.
WSDLs are normally copied into the JAR file for ease of reference during runtime. The user can disable this if needed. If the user types a package location (including the filename) then the wizard will warn the user if the Copy WSDL into Client Jar is not enabled. WSDL Location is optional, though, if Copy WSDL is selected. Then the WSDL should be copied over to the JAR using the original WSDL name.
A neat feature, and possible time saver , is when the user is offline yet the WSDL refers to an online XSD document. Using an XML Catalog file (most typical naming of the catalog is: jax-ws-catalog.xml) the user can override the online URI location by specifying the local path (making sure to have a local copy) to the same schema so the ClientGen wizard can actually create the JAR file.
The XML Catalog entry will be added to the ANT build file when it's run and also added to the JAR file if the user selects Generate Runtime Catalog.
Select Bindings is quite complex for this blog entry (I may add some more detail next week) but if need be, more advanced users can customize the types using XPath expressions where the XML type hierarchy in the schema might not be to their taste.