怎么对付恶心的@WebParam



怎么对付恶心的@WebParam

提问者: trydotry     发布时间:2014-07-30     浏览:21     回复:0     悬赏:0.0希赛币
请点击下面回答中的"采纳为答案"按钮,选择贡献(希赛币)比率后,点击"确认结算"按钮。
   
合计00% 
2016下半年软考辅导培训,强化班、面授班,全面招生!
如何对付恶心的@WebParam


在@WebService发布成wsdl时候, 方法的参数名称被自动的映射成arg0, arg1, 解决方法如下:

  public User create( @WebParam(name = "user") User user);


在wsimport自动生成的代码中也是这个样子. 这个馊主意丑陋无比. 如果参数多了,代码会惨不忍睹,而且这个工作会很无聊.
这个问题的主要原因还是java, 参数名称在编译后被抹掉了. 这个问题据说要在Java7才能解决.


几个solution:
1. 用插件来干这无聊的活,有人写吗 但是写好后的代码依然惨不忍睹.
2. 用-g编译, 调试方式编译会包含很多其它信息. ParaNamer的BytecodeReadingParanamer是干这个事情用的.
3. 用[url=它会在meta-inf下面加上点描述, 用它的api可以拿到参数名字. 这个对@WebParam没用.
4. 利用字节码工程和source, 直接对生成的代码加上@WebParam标记, 或者用debug的方法加上名字. 貌似还没人这个玩.

参数名称的重要性:
除了jaxb之外, ooweb现在的解决方法很无奈, 一些自动化验证框架如果有了参数名称,会正确的给出提示信息.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值