CXF JAXB JAXBEncoderDecoder解组错误:具有合格元素时出现意外元素

问题描述

| 我有以下问题,无法找到解决方案: WSDL具有“ 0”,作为响应,我在CXF客户端中收到的所有元素都以命名空间为前缀,但是JAXB抛出异常 org.apache.cxf.interceptor.Fault:编组错误:意外元素(uri:\“ unm:ENTSCWS \”,本地:\“ searchReturn \”)。预期元素是     在org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:661)     在org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)     在org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)... 如果我在WSDLѭ1中进行了更改,则它可以正常工作,但是我不允许更改WSDL,它应具有以命名空间为前缀的元素。 package-info.java包含注释:
@javax.xml.bind.annotation.XmlSchema(namespace = \"unm:ENTSCWS\",elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package entscws;
响应类包含注释:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = \"\",propOrder = {
    \"searchReturn\"
})
@XmlRootElement(name = \"searchResponse\")
public class SearchResponse {
您知道我为什么会收到此错误吗?     

解决方法

        您在OSGi中运行吗?我已经看到一些类似的问题,其中package-info \的信息没有被正确接收。 另一种选择是将-xjc-npa标志添加到wsdl2java命令中,以使其完全不使用package-info并将名称空间保留在所有其他位置。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...