我使用cxf-codegen maven插件.The,当我第一次安装mvn时,它生成一组文件,它们被放置在目标/生成源/cxf文件夹中,所有生成的文件都被maven编译并打包到最终的jar中。
现在,我发现由于某种原因,在创建rest响应时,名称空间属性并不是从包info.java中获取的。所以我的服务器抛出了一个错误
javax.xml.bind.UnmarshalException:
unexpected element (uri:"", local:"com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse").
Expected elements are
\lt{http://www.collab.net/teamforge/integratedapp}CreateProjectConfigurationRequest\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersRequest\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersResponse\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetPageComponentParametersRequest> 因此,我计划做的是将生成的文件(GetConfigurationParametersResponse.java)中的命名空间属性设置为
@XmlRootElement(name = "GetConfigurationParametersResponse“,命名空间=”http://..."“)
。目前,我进行了更改并安装了maven,但似乎什么也没有发生。也就是说,maven忽略了生成文件中的更改,因此没有编译.It。
所以我的问题是
如何在生成的文件中进行此更改以在maven安装期间进行反射和编译?
发布于 2013-07-31 15:51:13
如果将“-xjc”标志添加到wsdl2java中,它应该为您填充所有的命名空间属性,而不是生成包-info.java内容。这可能会解决问题,如果这是真正的问题。也就是说,如果它仍然生成namespace="“属性,这很可能意味着wsdl中的模式是错误的,并且其中没有elementFormDefault=”限定“属性。
https://stackoverflow.com/questions/17970041
复制相似问题