/ / CXF JAXB JAXBEncoderDecoder error no llamativo: elemento inesperado al tener elementos calificados: servicios web, wsdl, jaxb, cxf

CXF JAXB JAXBEncoderDecoder error irrelevante: elemento inesperado al tener elementos calificados: servicios web, wsdl, jaxb, cxf

Tengo el siguiente problema y no puedo encontrar una solución:
El WSDL tiene elementFormDefault="qualified", en la respuesta que recibí en mi cliente CXF todos los elementos tienen un prefijo con el espacio de nombres pero JAXB lanza una excepción

org.apache.cxf.interceptor.Fallo: error irrelevante: elemento inesperado (uri: "unm: ENTSCWS", local: "searchReturn"). Los elementos esperados son en org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall (JAXBEncoderDecoder.java:661) en org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall (JAXBEncoderDecoder.java:533) en org.apache.cxf.jaxb.io.DataReaderImpl.read (DataReaderImpl.java:128) ...

Si cambio en el WSDL elementFormDefault="unqualified" está funcionando, pero no se me permite cambiar el WSDL, debe tener los elementos prefijados con el espacio de nombres.

El paquete-info.java contiene la anotación:

@javax.xml.bind.annotation.XmlSchema(namespace = "unm:ENTSCWS", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package entscws;

La clase de respuesta contiene la anotación:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"searchReturn"
})
@XmlRootElement(name = "searchResponse")
public class SearchResponse {

¿Tienes alguna idea de por qué me sale este error?

Respuestas

5 para la respuesta № 1

¿Estás ejecutando en OSGi? He visto algunos problemas similares con paquetes de información que no se han recogido correctamente allí.

Otra opción podría ser agregar el indicador -xjc-npa al comando wsdl2java para que no use la información del paquete y pegue los espacios de nombres en todos los otros lugares.