2011-02-14 37 views
7

Cuando trato de publicar mi Workspace en RAD, aparece este error "Dos clases tienen el mismo nombre de tipo xml", probablemente porque existe el mismo nombre de clase en el mismo paquete, pero en dos jarras diferentes Y parece que la anotación @XmlType necesita tener valores distintos para su nombre de atributos y espacio de nombres en las fuentes de estas clases. Intenté wsdl2java disponible en Apache CXF, pero no puedo hacer que genere este atributo de espacio de nombres. Intenté jugar con la opción del paquete -p, pero eso es solo para ubicar las fuentes generadas en el paquete especificado.Dos clases tienen el mismo nombre de tipo xml

¿Alguna idea de cómo generar este atributo de espacio de nombres para cada elemento encontrado en el wsdl? TIA.

Respuesta

1

Me encontré con esto para un objeto llamado "SubmitDataResponse" que estaba utilizando como objeto de devolución desde mi método de servicio web llamado "submitData". Cuando traté de cambiar el nombre del objeto, el error desapareció. Me parece que CXF está creando su propio objeto de devolución basado en el nombre del método (en este caso, submitData() -> "SubmitDataResponse"). Es posible que desee intentar cambiar el nombre de la clase y ver si tiene el mismo problema. Tal vez alguien pueda hablar con una manera de mantener a nuestra clase nombrada de la manera que queremos (probablemente con alguna anotación).

Espero que esto ayude.

+0

Seguimiento: Agregué @XmlType (namespace = "com .company.example ") a mi clase de objeto de devolución original y funcionó. Así que no necesité cambiar el nombre de mi clase de objeto de devolución siempre que use la anotación XmlType.namespace. – HawkeyeFan

+0

HawkeyeFan, gracias por su respuesta, pero, no, este no es el problema al que me enfrentaba. Se trataba de dos clases que estaban allí en dos jarras con los mismos nombres de paquete. Finalmente, tuve que eliminar uno de ellos y vivir con él. Sí, el atributo de espacio de nombres parece arreglar esto, pero ¿puede wsdl2java generarlo? tal vez necesito especificar/configurar algo? – asgs

+0

Además, había muchas otras clases duplicadas en esos dos jarrones (probablemente debido a que dos WSDL son muy similares). Así que obtuve un WSDL actualizado y, por lo tanto, el contenedor generado no contenía ningún duplicado. – asgs

Cuestiones relacionadas