Estoy creando un primer servicio web WSDL con JAXB y CXF. No poseo el WSDL, así que no puedo hacer cambios en él. Estoy usando ftp://ftp.ihe.net/TF_Implementation_Material/ITI/wsdl/PIXManager.wsdl como mi WSDL. Usé CXF 2.3.0 para generar clases de Java.JAXB, CXF: No hay ObjectFactory con @XmlElementDecl para el elemento ... con
generación de la clase de Java fue bien, pero cuando estoy tratando de ejecutar esto en una aplicación web, me sale un error
com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 17 counts of IllegalAnnotationExceptions
Los 17 cargos son del formato
There's no ObjectFactory with an @XmlElementDecl for the element {urn:hl7-org:v3}assignedDevice.
this problem is related to the following location:
at protected javax.xml.bind.JAXBElement org.hl7.v3.QUQIMT021001UV01AuthorOrPerformer.assignedDevice
Cuando voy a la clase mencionada, es decir QUQIMT021001UV01AuthorOrPerformer y observe el assignedDevice campo, veo esto
@XmlElementRef(name = "assignedDevice", namespace = "urn:hl7-org:v3", type = JAXBElement.class)
protected JAXBElement<COCTMT090300UV01AssignedDevice> assignedDevice;
Cuando miro el ObjectFactory del paquete, veo esto
private final static QName _COCTMT090303UV01AssignedDeviceAssignedDevice_QNAME = new QName("urn:hl7-org:v3", "assignedDevice");
Todos mis 17 errores son similares. ¿Qué puedo hacer durante mi codegen o runtime para que mi servicio funcione?
que estaba usando múltiples WSDL en mi codegen, y que estaba causando un conflicto en estas definiciones. Lo reduje a un WSDL y funciona bien. Sin embargo, me gustaría ver cómo usar múltiples WSLD usados en codegen. – rahul