Skip to main content

JAX-WS: wsimport tip

Posted by kohlert on November 9, 2005 at 3:59 PM EST
The wsimport tool of JAX-WS has added a -p option. This option is used to specify the package that the generated artifacts should be generated into. This option eliminates the need to write a customization to do the same task. For example, two customization files to specify that the package for a WSDL would be similar to the following:
custSchema - customizes the package that generated artifacts from schema use. 
<bindings 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    wsdlLocation="http://localhost:8080/jaxws-external-customize/addnumbers?wsdl"
    xmlns="http://java.sun.com/xml/ns/jaxws">
    <package name="external_customize.client"/>
</binding>

custWsdl - customizes the package that artifacts generated from the WSDL use.
<bindings 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://java.sun.com/xml/ns/jaxb"
    version="1.0">
    <bindings schemaLocation="http://localhost:8080/jaxws-external-customize/addnumbers?xsd=1" node="/xsd:schema">
        <schemaBindings>
            <package name="external_customize.client"/>
        </schemaBindings>
    </bindings>
</bindings>
This would be passed to wsimport using the -b option: For example:
wsimport -b custSchema -b custWsdl http://localhost:8080/jaxws-external-customize/addnumbers?wsdl"

With the new -p option, the same thing can be accomplished with: wsimport -p externa_customize.client http://localhost:8080/jaxws-external-customize/addnumbers?wsdl"

You can see a working sample code using both of these approaches in the external-customize and wsimport_catalog samples included in the nightly build of JAX-WS available here.
Related Topics >>