wsgen无法忽略JAXB注释

wsgen无法忽略JAXB注释,jaxb,annotations,wsdl,wsgen,Jaxb,Annotations,Wsdl,Wsgen,我一直在使用Metro,遇到了一个问题,wsgen似乎忽略了我在web方法响应类上添加的任何JAXB注释 我试图返回一组我想通过web服务向外部客户机公开的实体类,但是我只想使某些类属性和方法对外部客户机可见,因此已将类访问类型设置为PROPERTY,并用@xmlement注释了我想要成为类的XML版本的一部分的所有属性 我可以使用schemagen ant任务为实体类创建XML模式,该任务正确地忽略了我没有用@XmlElement注释的任何属性或方法,但是当我运行wsgen为web服务创建ws

我一直在使用Metro,遇到了一个问题,wsgen似乎忽略了我在web方法响应类上添加的任何JAXB注释

我试图返回一组我想通过web服务向外部客户机公开的实体类,但是我只想使某些类属性和方法对外部客户机可见,因此已将类访问类型设置为PROPERTY,并用@xmlement注释了我想要成为类的XML版本的一部分的所有属性

我可以使用schemagen ant任务为实体类创建XML模式,该任务正确地忽略了我没有用@XmlElement注释的任何属性或方法,但是当我运行wsgen为web服务创建wsdl时,该web服务有一个返回一组实体类的方法,然后我得到一个java.lang.NoClassDefFoundError。这似乎是因为wsgen没有忽略实体类上它应该执行的公共方法,异常引用的类是该方法的参数


我试图用@xmltransive注释该方法,以便wsgen忽略它,但没有效果。如果有人能建议我应该做些什么来让wsgen注意我的注释,那就太好了。

无论访问器类型如何,都将始终处理带注释的字段/属性。如果只希望将带注释的字段/属性视为映射,则需要指定@xmlacessortypexmlacesstype.NONE

更多信息


感谢Blaise的建议,但是,即使我将访问器类型更改为NONE,那么运行wsgen仍然会抱怨某个类是一个方法的参数,该类应该被忽略,但由于某些原因不是。我有点困惑,因为运行schemagen会为实体类生成一个有效的xml模式,该模式关注我的注释,但wsgen似乎必须有自己的方法来创建模式,而该模式似乎忽略了我的注释