tutorial online example español xml web-services wsdl

online - Herramienta de comparación XML/WSDL



wsdl tutorial español (2)

Esto puede ser solo una solución parcial, pero podría analizar el WSDL anterior y el nuevo en SOAPui .

Debería poder decir a partir de los métodos generados y las solicitudes de ejemplo qué ha cambiado, ya sean tipos o métodos.

espero que sea algo de ayuda

No es de extrañar que quienes trabajan con servicios web se actualicen de vez en cuando. Y siempre necesita realizar un seguimiento de los cambios de estas actualizaciones.

En mi caso particular, trato con el servicio web definido por WSDL y obtengo las clases generadas en base a este WSDL.

Pero antes de la regeneración de las clases desde WSDL actualizado, me gustaría ver qué se cambió en WSDL y determinar la cantidad de cambios, para ver para qué debería estar preparado.

Desafortunadamente, si comparo solo archivos .wsdl de versiones nueva y anterior, no siempre funciona muy bien por una razón: los contenidos de wsdl pueden reordenarse (refactorizarse internamente). Esa es la razón para encontrar más herramienta semántica.

He probado la herramienta Oxygen XML Diff pero tampoco funciona bien para mí.

Estoy buscando una herramienta que tome dos XML y me brinde solo diferencias semánticas, por ejemplo:

  • Elemento A agregado
  • Se agregó el subelemento b7 al elemento B

Para que esto funcione, supongo que la herramienta debe cargar y analizar profundamente la estructura. Oxygen XML Diff afirmaba hacerlo bien, pero solo es una versión mejorada de la comparación de archivos de texto.

¿Podría recomendar un trabajo para eso, en particular para ver actualizaciones en servicios web basados ​​en WSDL?

ACTUALIZACIÓN 1 : Nueva Idea es para comparar fuentes generadas en lugar de WSDL.

Gracias.


http://membrane-soa.org tiene una API de Java para comparar WSDL en su Modelo SOA .

package sample.wsdl; import java.util.List; import com.predic8.wsdl.*; import com.predic8.wsdl.diff.WsdlDiffGenerator; import com.predic8.soamodel.Difference; public class CompareWSDL { public static void main(String[] args) { compare(); } private static void compare(){ WSDLParser parser = new WSDLParser(); Definitions wsdl1 = parser.parse("resources/diff/1/article.wsdl"); Definitions wsdl2 = parser.parse("resources/diff/2/article.wsdl"); WsdlDiffGenerator diffGen = new WsdlDiffGenerator(wsdl1, wsdl2); List<Difference> lst = diffGen.compare(); for (Difference diff : lst) { dumpDiff(diff, ""); } } private static void dumpDiff(Difference diff, String level) { System.out.println(level + diff.getDescription()); for (Difference localDiff : diff.getDiffs()){ dumpDiff(localDiff, level + " "); } } }

Después de ejecutar, obtienes la salida que se muestra en el listado 2. Es una lista de diferencias entre los dos documentos WSDL.

Port ArticleServicePTPort removed. Port ArticleServicePTPort2 added. Operation create removed. Operation create2 added. Schema http://predic8.com/wsdl/material/ArticleService/1/ has changed: Element createResponse has changed: ComplexType has changed: Sequence has changed: Element NewElementForTest added.

Para obtener un ejemplo de la salida de la herramienta, http://www.service-repository.com/ ofrece una herramienta de comparación WSDL en línea que devuelve un informe de las diferencias entre dos WSDL. El informe no es una simple diferencia XML.