2025-05-23

在《Java與WCF交互(一):Java客戶端調用WCF服務》 一文中,我描述瞭用axis2的一個Eclipse控件生成WCF的Java客戶端代理類,後來有朋友建議用Xfire、CXF,一直沒有嘗試,今天有朋友指出JDK6可以用java自帶的一個WSImport工具,試瞭下,果然很爽,這是一個exe文件,位於%JAVA_HOME%in下,它的官方使用說明,見:http://download-llnw.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html ,主要參數:


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 see catalog sample.
 
-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:<host>:<port>                                   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


示例:wsimport -s JavaSrc http://stockquote.xyz/quote?wsdl


將在當前路徑的JavaSrc下生成相關的Java類,直接復制到項目的Src目錄下即可使用。
下面還是以上次創建的http://localhost:8000/HelloTimeService?wsdl為例,測試過程如下:
邀月工作室


邀月工作室


新建一java Project,如圖:
邀月工作室


將上面生成的java文件復制到Src目錄下,項目結構如圖:
<IMG style="WIDTH: 381px; HEIGHT: 592px" height=641 alt=邀月工作室 src="[InstallDir_Chann

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *