|
Web Service CXF 实战2-代码生成
版权声明:转载时请务必以超链接形式标明文章原文出处和作者信息
个人声明:文章中的内容如果引用了您的原创,给您带来了负面的影响,请联系我
技术支持:如果有任何文章相关的技术问题,请联系bldmickey@gmail.com
Eclipse Apache CXF集成 参见<<Eclipse Apache CXF集成>>的相关文档
创建JAX-WS项目- 运行Eclipse
- 菜单选择New->Project...->选择SOA-Tools->JAX-WS WSDL First Project后选择继续
- 在Project Name中输入:cxfstp04,选择Next
- 选择准备好的wsdl文件cxfstp04.wsdl,选择Next
- 选择创建Implementation,Server和Client,可选创建Ant脚本和Verbose输出.选择Finish
程序代码架构
文件名
| 分类
| 描述
| Address.java
| -impl
| schema对应的Address数据类
| Book.java
| -impl
| schema对应的Book数据类
| BookOrder.java
| -impl
| schema对应的BookOrder数据类
| BookOrderResponse.java
| -impl
| schema对应的BookOrderResponse数据类
| BriefUSAddress.java
| -impl
| schema对应的BriefUSAddress数据类
| Cxfstp04Service.java
| -impl
|
| ObjectFactory.java
| -impl
|
| OrderBook.java
| -impl
|
| OrderBook_OrderBookPort_Client.java
| -client
| 客户端测试代码
| OrderBook_OrderBookPort_Server.java
| -server
| 服务器端测试代码
| OrderBookImpl.java
| -impl
|
| package-info.java
| -impl
|
| UKAddress.java
| -impl
| schema对应的UKAddress数据类
| USAddress.java
| -impl
| schema对应的USAddress数据类
|
代码生成注意事项 如果WSDL文档格式不正确,创建的代码可能有问题(代码没有创建成功或者创建的文件不全),建议在创建代码之前可以用命令行做测试:
C:\apps\apache-cxf-2.1\bin>.\wsdlvalidator.bat cxfstp04.wsdl
C:\apps\apache-cxf-2.1\bin>.\wsdl2java.bat -compile -classdir C:\apps\apache-cxf-2.1\lib -impl -server -client -d D: -verbose cxfstp04.wsdl
这里输出的目录是D:, 其中-verbose表示详细的输出,因为Eclipse集成的过程中,Verbose output的输出不容易发现, 所以通过命令行比较容易debug
输出结果:
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -compile -classdir C:\apps\apache-cxf-2.1\lib -impl -server -client -d D: -verbose cxfstp04.wsdl
wsdl2java - 2.1-incubator-SNAPSHOT
|
wsdl2java -fe <frontend name>* -db <data binding name>* -wv <[wsdl version]>* -p <[wsdl namespace =]Package Name>* -sn <[wsdl namespace =]Package Name> -b <binding-name>* -catalog <catalog-file-name> -d <output-directory> -compile -classdir <compile-classes-directory> -impl -server -client -all -defaultValues<=class name for DefaultValueProvider> -ant -nexclude <schema namespace [= java packagename]>* -exsh <enable extended soap header message binding (true, false)> -dns <Default value is true> -dex <Default value is true> -validate -wsdlLocation <wsdlLocation attribute> -xjc<xjc arguments> -h -v -verbose -quiet <wsdlurl>
|
|
|