找回密码
 欢迎注册
搜索
热搜: 活动 交友 discuz
查看: 3482|回复: 0

[zt]Web Service CXF 实战2-代码生成

[复制链接]
发表于 2008-1-29 09:02:03 | 显示全部楼层 |阅读模式
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.bat的语法
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>
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

快速回复 返回顶部 返回列表