In the article "Java and WCF interaction (I): using a Java client to call the WCF Service", I described the Java client proxy class generated by using an Eclipse control of axis2, later, a friend suggested using Xfire and CXF, but he never tried it. Today, a friend pointed out that JDK 6 could use a WSImport tool that comes with java. It was really nice to try it. This is an exe file, located in % JAVA_HOME % \ bin. For more information about its official usage, SEE region:
Option |
Description |
-d <directory> |
Specify where to place generated output files |
-b <path> |
Specify external JAX-WS or JAXB binding files (Each<file> Must have its own-b ) |
-B <jaxbOption> |
Pass this option to JAXB schema compiler |
-catalog |
Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and oasis xml Catalog format. Please read the documentation of catalog and seeCatalogSample. |
-extension |
Allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations |
-help |
Display help |
-httpproxy: |
Specify an HTTP proxy server (port defaults to 8080) |
-keep |
Keep generated files |
-p |
Specifying a target package via this command-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification |
-s <directory> |
Specify where to place generated source files |
-verbose |
Output messages about what the compiler is doing |
-version |
Print version information |
-wsdllocation <location> |
@WebServiceClient.wsdlLocation Value |
-target |
Generate code as per the given JAX-WS specification version. version 2.0 will generate compliant code for JAX-WS 2.0 spec. |
-quiet |
Suppress wsimport output |
Example:Wsimport-s extends RC http://stockquote.xyz/quote? Wsdl
Generate related Java classes under JavaSrc in the current path and copy them directly to the Src directory of the project.
Is the http: // localhost: 8000/HelloTimeService created later? Wsdl is a class. The test process is as follows:
Create a java Project,
Copy the java file generated above to the Src directory. Project Structure
The test code is also concise:
Summary: This method is similar to the Stub method generated by Axis2, except that the test code is not generated. The structure is clear.