Develop Java artifacts for JAX-RPC applications from a WSDL file
We can develop Java artifacts from a WSDL file for JAX-RPC applications from a WSDL file using the WSDL2Java command-line tool to create Java implementation templates and bindings.
To develop the JavaBeans implementation templates and bindings from a WSDL file, obtain the Uniform Resource Locator (URL) of the WSDL file.
(zos) If the WSDL file is a local file, the URL looks like this example: file:drive:\path\file_name.wsdl.
(iseries) If the WSDL file is a local file, the URL looks like this example: file:/path/file_name.wsdl.
We can also specify local files using the absolute or relative file system path.
Implementation templates are generated using the -role develop-server option of the WSDL2Java command. The WSDL2Java command also generates bindings and deployment descriptors.
(zos) The WSDL2Java command-line tool is not supported on the z/OS platform. This functionality is provided by the assembly tools provided with the z/OS version of the product. Read about the WSDL2Java command-line tool for Java API for XML-based Remote Procedure Call (JAX-RPC) applications to learn more about this tool.
Develop JavaBeans implementation templates and bindings from a WSDL file by issuing the proper command.
Best practice: It is a best practice to use absolute namespaces within the WSDL or schema. By default, the WSDL2Java tool does not permit the use of relative namespaces. Relative namespaces have been deprecated by the XML Plenary Interest Group and the use of relative namespaces causes the XML Digital Signature to fail as required by the Canonical XML Version 1.0 specification. We can convert any relative namespaces to absolute namespaces. To learn more about the use of namespaces with the WSDL2Java tool, see the WSDL2Java command for JAX-RPC applications documentation. bprac
Run the WSDL2Java -verbose -role develop-server -container web wsdlURL command. Since the -verbose option is specified, a list of all the generated files is displayed when the command runs.
Results
You have templates for the implementation and deployment descriptors required to implement a web service, as well as bindings files. These templates are partially filled with information from the WSDL file.
Example
The following example uses the AddressBook JavaBeans implementation and the AddressBook.wsdl WSDL file. After generating the template files from the WSDL2Java -verbose -role develop-server -container web AddressBook.wsdl command, the following files are generated:
Parsing XML file: file:e:/example/app/topdown/step1/AddressBook.wsdl WSWS3185I: Info: Parsing XML file: AddressBook.wsdl WSWS3282I: Info: Generating addr\Address.java. WSWS3282I: Info: Generating addr\Phone.java. WSWS3282I: Info: Generating addr\StateType.java. WSWS3282I: Info: Generating addr\AddressBook.java. WSWS3282I: Info: Generating addr\AddressBookSoapBindingImpl.java.. WSWS3282I: Info: Generating WEB-INF\webservices.xml. WSWS3282I: Info: Generating WEB-INF\ibm-webservices-bnd.xmi. WSWS3282I: Info: Generating WEB-INF\AddressBook_mapping.xml. WSWS3282I: Info: Generating WEB-INF\ibm-webservices-ext.xmi.The AddressBookSOAPBindingImpl.java file is the template for the implementation bean. It is named after the port in the WSDL file. Generally, this class is renamed to a more meaningful name.
What to do next
Complete the JavaBeans implementation for JAX-RPC applications.
Related concepts
Development and assembly tools
Related tasks
Implement web services applications with JAX-RPC Implement web services applications from existing WSDL files with JAX-RPC Complete the JavaBeans implementation for JAX-RPC applications
WSDL2Java command for JAX-RPC applications