Estamos desarrollando una plataforma MDA que tiene soporte para servicios web. El usuario puede proporcionar un WSDL en tiempo de ejecución y generamos todos los artefactos (interfaz de servicio e implementación para el servidor y consumidor para el cliente) usando JAX-WS internamente.Validación en tiempo de ejecución WSDL con JAX-WS
Queremos agregar la validación en el documento WSDL proporcionado por el usuario. En este momento el usuario tiene que validar eso con una herramienta externa como Oxygen, XMLSpy o una herramienta web, pero queremos agregar eso como parte de nuestro sistema. Una característica agradable también sería la validación de esquemas, incluidos los esquemas integrados de los WSDL.
En JAX-WS (RI) existe soporte para la validación de esquema en tiempo de ejecución (utilizando la anotación @SchemaValidation) pero no hemos encontrado ningún soporte para la validación de WSDL.
Hemos tratado de integrar Eclipse's WSDL validator pero parece que no funciona para nosotros.
¿Hay alguna forma de hacerlo con JAX-WS? Si no, ¿hay algún otro marco de validación que podamos integrar?
Gracias
Mencioné @SchemaValidation solo para evitar la confusión entre la validación de la instancia y el esquema/wsdl. Preguntaba, como dijiste, sobre la validación de los artefactos en tiempo de diseño. Acerca del sitio WS-I, eché un vistazo a las herramientas y eso podría funcionar, pero no estoy seguro acerca de la licencia. Acerca de los XSD, ya los estamos separando del WSDL y admitimos varios esquemas incrustados. Investigaré cómo validar ésos con XSOM. Y sobre su último punto, también generamos servidores, y validar esos encabezados podría ser interesante. ¡Gracias por su respuesta! – Denian
Por alguna razón, y después de un rápido vistazo al archivo de licencia, me parece que la pila de herramientas WS-I no es amigable con herramientas cerradas o comerciales. Quería señalarlo para asegurarme de que también mires estos aspectos. Para validar los encabezados, he visto casos en los que el cliente envía el cuerpo de jabón correcto sin la SOAPAction correcta. Además, gracias por aclarar, así lo pensé sobre @SchemaValidation. –
Sí, tiene razón: http://netzooid.com/blog/2006/11/26/is-ws-i-open-look-at-their-test-license/ Creo que tendremos que encontrar otra solución o marco. Acerca de validar los XSD, lo he intentado con XSOMParser creando un ErrorHandler y funciona bien. Creo que debería dejar esta pregunta abierta ya que la preocupación principal era la validación WSDL, pero de todos modos muchas gracias por sus respuestas. – Denian