wsgen與wsimport命令簡單說明

【轉http://zhuchengzzcc.iteye.com/blog/1535066

wsgen 
wsgen 是在JDK的bin目錄下的一個exe文件(Windows版),該命 令的主要功能是用來生成合適的JAX-WS。它讀取Web Service的終端類文件,同時生成所有用於發佈Web Service所依賴的源代碼文件和經過編譯過的二進制類文件。這裏要特別說明的是,通常在Web Service Bean中用到的異常類會另外生成一個描述Bean,如果Web Service Bean中的方法有申明拋出異常,這一步是必需的,否則服務器無法綁定該對像。此外,wsgen 還能輔助生成WSDL和相關的xsd文件。wsgen 從資源文件生成一個完整的操作列表並驗證web service是否合法,可以完整發布。 
命令參數說明:

  •  -cp 定義classpath
  •  -r 生成 bean的wsdl文件的存放目錄
  •  -s 生成發佈Web Service的源代碼文件的存放目錄(如果方法有拋出異常,則會生成該異常的描述類源文件)
  •  -d 生成發佈Web Service的編譯過的二進制類文件的存放目錄(該異常的描述類的class文件)


命令範例: wsgen -cp ./bin -r ./wsdl -s ./src -d ./bin -wsdl org.jsoso.jws.server.Example 

 

 

 

 

 PS:如果發佈webservice的java類的方法中有異常聲明時,是不能直接發佈成webservice的,需要用wsgen命令生成相應的異常處理的類。

   wsgen 命令 可以爲我們生成wsdl 和異常處理的類

   如: class目錄結構如下:calsses\com\michael\MessageJws.class 
在執行下面的命令之前需要新建文件夾classes\wsdl\,用來存放生成wsdl文件
如果創建文件夾classes\bin\classes\src\:...\classes>執行下面的命令

 wsgen -cp . -r ./wsdl -s ./src -d ./bin -wsdl com.michael.MessageJws

 

如果不創建上面的src、bin文件夾則可以: ...\classes>執行下面的命令:

wsgen -cp . -r ./wsdl -s ./ -d ./ -wsdl com.michael.MessageJws 

 

   這時在 calsses\com\michael\ 下看到生成了新的文件夾jaxws,jaxws目錄下的文件如下:

  同時在剛纔新建的 classes\wsdl\ 下生成了兩個wsdl相關文件
MessageJwsService.wsdl 和 MessageJwsService_schema1.xsd

 

 

 

 

 


具體使用方式可以使用wsgen -help查看

 

Java代碼 複製代碼 收藏代碼
  1. Usage: wsgen [options] <SEI>   
  2.   
  3. where [options] include:   
  4.   -classpath <path>          specify where to find input class files   
  5.   -cp <path>                 same as -classpath <path>   
  6.   -d <directory>             specify where to place generated output files   
  7.   -extension                 allow vendor extensions - functionality not specifi   
  8. ed   
  9.                              by the specification.  Use of extensions may   
  10.                              result in applications that are not portable or   
  11.                              may not interoperate with other implementations   
  12.   -help                      display help   
  13.   -keep                      keep generated files   
  14.   -r <directory>             resource destination directory, specify where to   
  15.                              place resouce files such as WSDLs   
  16.   -s <directory>             specify where to place generated source files   
  17.   -verbose                   output messages about what the compiler is doing   
  18.   -version                   print version information   
  19.   -wsdl[:protocol]           generate a WSDL file.  The protocol is optional.   
  20.                              Valid protocols are soap1.1 and Xsoap1.2, the defau   
  21. lt   
  22.                              is soap1.1.  Xsoap1.2 is not standard and can only   
  23. be   
  24.                              used in conjunction with the -extension option   
  25.   -servicename <name>        specify the Service name to use in the generated WS   
  26. DL   
  27.                              Used in conjunction with the -wsdl option.   
  28.   -portname <name>           specify the Port name to use in the generated WSDL   
  29.                              Used in conjunction with the -wsdl option.   
  30.   
  31. Examples:   
  32.   wsgen -cp . example.Stock   
  33.   wsgen -cp . example.Stock -wsdl -servicename {http://mynamespace}MyService  
Usage: wsgen [options] <SEI>

where [options] include:
  -classpath <path>          specify where to find input class files
  -cp <path>                 same as -classpath <path>
  -d <directory>             specify where to place generated output files
  -extension                 allow vendor extensions - functionality not specifi
ed
                             by the specification.  Use of extensions may
                             result in applications that are not portable or
                             may not interoperate with other implementations
  -help                      display help
  -keep                      keep generated files
  -r <directory>             resource destination directory, specify where to
                             place resouce files such as WSDLs
  -s <directory>             specify where to place generated source files
  -verbose                   output messages about what the compiler is doing
  -version                   print version information
  -wsdl[:protocol]           generate a WSDL file.  The protocol is optional.
                             Valid protocols are soap1.1 and Xsoap1.2, the defau
lt
                             is soap1.1.  Xsoap1.2 is not standard and can only
be
                             used in conjunction with the -extension option
  -servicename <name>        specify the Service name to use in the generated WS
DL
                             Used in conjunction with the -wsdl option.
  -portname <name>           specify the Port name to use in the generated WSDL
                             Used in conjunction with the -wsdl option.

Examples:
  wsgen -cp . example.Stock
  wsgen -cp . example.Stock -wsdl -servicename {http://mynamespace}MyService

 

 

 

 

 

 

 


wsimport 
wsimport也是在JDK的bin目錄下的一個exe文件(Windows版),主要功能是根據服務端發佈的wsdl文件生成客戶端存根及框架,負責 與Web Service 服務器通信,並在將其封裝成實例,客戶端可以直接使用,就像使用本地實例一樣。對Java而言,wsimport幫助程序員生存調用web service所需要的客戶端類文件.java和.class。要提醒指出的是,wsimport可以用於非Java的服務器端,如:服務器端也許是C# 編寫的web service,通過wsimport則生成Java的客戶端實現。 
命令參數說明:

  •  -d 生成客戶端執行類的class文件的存放目錄
  •  -s 生成客戶端執行類的源文件的存放目錄
  •  -p 定義生成類的包名


命令範例: wsimport -d ./bin -s ./src -p org.jsoso.jws.client.ref http://localhost:8080/hello?wsdl

 

下面2種方式都是正確的。

wsimport -d ./bin -s ./src -p com.michael.messageclient http://localhost:8088/messagejws?wsdl    

wsimport -d ./bin -s ./src -p com.michael.messageclient ./wsdl/MessageJwsService.wsdl

 

 

 

具體使用方式可以使用wsimport -help查看

 

Java代碼 複製代碼 收藏代碼
  1. Usage: wsimport [options] <WSDL_URI>   
  2.   
  3. where [options] include:   
  4.   -b <path>                 specify external jaxws or jaxb binding files   
  5.                             (Each <file> must have its own -b)   
  6.   -catalog <file>           specify catalog file to resolve external entity refe   
  7. rences   
  8.                             supports TR9401, XCatalog, and OASIS XML Catalog for  
  9. mat.   
  10.   -d <directory>            specify where to place generated output files   
  11.   -extension                allow vendor extensions - functionality not specifie   
  12. d   
  13.                             by the specification.  Use of extensions may   
  14.                             result in applications that are not portable or   
  15.                             may not interoperate with other implementations   
  16.   -help                     display help   
  17.   -httpproxy:<host>:<port>  specify a HTTP proxy server (port defaults to 8080)   
  18.   -keep                     keep generated files   
  19.   -p <pkg>                  specifies the target package  
  20.   -s <directory>            specify where to place generated source files   
  21.   -verbose                  output messages about what the compiler is doing   
  22.   -version                  print version information   
  23.   -wsdllocation <location>  @WebService.wsdlLocation and @WebServiceClient.wsdlL   
  24. ocation value   
  25.   
  26. Examples:   
  27.   wsimport stock.wsdl -b stock.xml -b stock.xjb   
  28.   wsimport -d generated http://example.org/stock?wsdl  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章