Pregunta

Yo estaba tratando de agregar el esquema XML existentes en un proyecto EJB.JAXB se utiliza para enlazar el XML-Schema a una clase de Java.Como vamos a utilizar el motor de búsqueda para rastrear a través de DTO cuando EJB está en sesión.

No pude encontrar ningún acercamiento directo como para el mapa de clase de entidad de archivo de XML-Schema.

La única manera de lograr hasta ahora es crear los Servicios Web, generar el WSDL que genera el xml-schema (XSD) y, a continuación, analizar el archivo XSD través de JAXB (xjc de comandos) para crear archivos de clase java.Ahora, utilizando mapping-binding.xml se pueden asignar tanto XML y el archivo de clase Java.

Pero ahora de nuevo la cuestión es cómo este mapa a la clase de entidad.

Esto es lo que queremos lograr:

  • XML de un Objeto de Datos con XML Schema, (Esto ya está presente en el JAXB especificación).
  • Bean de entidad, a continuación, se Extiende o se tiene una interfaz para este JAXB objeto.
  • Todos Persistencia funciones son gestionadas por el Bean de Entidad...
  • El Bean de Entidad contendría el XML Marshalling y UnMarshalling características que se encuentran en JAXB..
  • Un Objeto de Valor que pudiera recuperar en binario o en formato XML desde el Bean de Entidad Objeto.
  • Un JSP podría extraer fácilmente el Esquema XML y XML de Datos desde el Objeto de Valor y realizar operaciones sobre él, como las transformaciones XSL.

Mi argumento es que los Beans de Entidad tienen ninguna forma estándar para la interfaz de JAXB objetos.

De ricino puede ser la solución, pero, de nuevo tenemos que implementar los servicios web o el uso de ricino del JDO.

He encontrado XStream a ser muy útil, ya que utiliza un convertidor de clase en el que se puede llamar el bean de entidad objetos de la clase y generar un archivo xml.Pero yo no estaba prefiriendo el uso de otra clase, sino que incorporan las funciones existentes en la clase de bean.

Me pueden ayudar en este sentido?


Voy a decirte lo que realmente estoy tratando de lograr.Estoy creando un motor de búsqueda que será evocado durante el EJB de sesión y el uso del rastreador a través del DTO y obtener la instantánea en formato XML.Búsqueda por diferentes criterios.

Lucene es uno de los motores de búsqueda herramientas, pero, a continuación, utiliza sus propias propiedades y archivos (actuará más como independiente)

Ya tengo DTO del que son utilizados por los webservices para la comunicación entre PHP y Java de la aplicación (EJB-capa).Yo quería volver a usar esos DTO en jaxb como un rastreador para obtener el resultado de las mesas en XML que yo no soy capaz de hacer como JAXB utiliza sus propias clases generadas través de xml-schema.Como usted dijo que yo aún no encontró la manera de instruir a los JAXB para las clases de bean.

¿Fue útil?

Solución

Muy acoplamiento de su modelo de datos (beans de entidad) a su interfaz XML podría no ser la mejor idea del mundo;se le impide cambiar uno sin cambiar el otro.

No estoy 100% seguro de que entiende lo que usted está tratando de hacer, pero creo que hay una manera de instruir a los JAXB para extender clases en lugar de crear otros nuevos.Usted puede crear su Beans de Entidad como normal, y su JAXB generado frijoles extender esas con la información extra.

Puedo decir que obtener los beans de Entidad instancias de algún lugar otros de su capa de persistencia (como deserializar desde XML) va a ser un enorme problema para usted.

También tenga en cuenta que el uso de XML para la comunicación entre aplicaciones Java (por ejemplo entre un JSP/Servlets y EJB capa) es una mala idea;el cálculo de referencias y añadió nivel de detalle de los datos XML se compran muy poco;serializar objetos a través de la RMI (que es lo EJB va a hacer por usted) sería mucho más fácil de implementar, probar y mantener.

Otros consejos

EclipseLink JAXB (MOXy) puede ser utilizado para el mapa de entidades JPA para XML.

Para obtener más información, consulte:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top