error generating JAXB model

前几天因项目需要使用eclipse的XFire插件来自动生成webservice客户端代码,在生成代码的时候总是报error generating JAXB model,但是使用axis2的插件生成时却能正常生成。这个错误字面翻译为:错误的生成JAXB模型。JAXB是一项可以根据XML Schema产生Java类的技术。

后经查找,发现是由于命名规则引起的。服务器实体中一个字段的命名为_ADD_RESS,但是实体中有另一字段为ADDRESS,客户端使用的是XFire插件生成时,自动命名会将_ADD_RESS下划线全部去除,命名变为ADDRESS,就和原本的ADDRESS冲突了,而axis2的命名不会把下划线去除,俩字段命名不冲突,所以能正常生成。
解决方法就是在使用XFire的时候修改掉服务器实体中一个字段名称,或删掉一个。

对于这种错误的排查,可以试着将服务端实体类中的属性全部删除,只留一个,如果这样能正常生成就能确定是服务端的实体类中属性命名冲突问题了,接下去。。。大家都懂了。。。

希望对遇到同样错误的朋友有帮助!

猜你喜欢

转载自link1987330.iteye.com/blog/1773084