Necesito el analizador para WSDL para obtener los mensajes, portTypes, operaciones, enlaces, servicios, ... Espero que algún analizador ya exista. Entonces, ¿alguna guía?Cómo analizar WSDL en Java?
Respuesta
Hay varias pilas de servicios web disponibles.
Eche un vistazo a la pila de Metro. Fuente abierta y directamente en Java 6.
uso http://sourceforge.net/projects/wsdl4j/
public Definition readWSDLFile(String location) throws WSDLException {
WSDLReader reader = getWsdlFactoryInstance().newWSDLReader();
reader.setFeature("javax.wsdl.importDocuments", true);
return reader.readWSDL(location);
}
Esperanza este enlace será útil para que usted elija un analizador WSDL, Parse WSDL Effectively
(mira el archivo de este enlace: Web Archive
).
He intentado usar Apache Woden
, WSDL4J
y Membrane SOA
. Apache Woden o Membrane SOA harían bien.
El enlace "Parse WSDL Effectively" está ahora muerto. Apache Woden solo es compatible con WSDL 2.0, no con WSDL 1.1. –
f wsdl = '''
<definitions name="AgencyManagementService"
xmlns:ns1="http://www.example.org/NS1"
xmlns:ns2="http://www.example.org/NS2">
<ns1:message name="SomeRequest">
<ns1:part name="parameters" element="SomeReq" />
</ns1:message>
<ns2:message name="SomeRequest">
<ns2:part name="parameters" element="SomeReq" />
</ns2:message>
</definitions>
'''
def xml = new XmlSlurper().parseText(wsdl).declareNamespace(ns1: 'http://www.example.org/NS1', ns2: 'http://www.example.org/NS2')
println xml.'ns1:message'.'ns1:part'.size()
println xml.'ns2:message'.'ns2:part'.size()
Espero que esto ayude. Se puede llamar a la clase Groovy desde cualquier otra clase de Java. Mueva todo el trabajo XML a Groovy :)
Eche un vistazo a la documentación de la herramienta wsimport
en http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html. Es una herramienta JDK estándar que genera artefactos Java basados en JAXB para las interacciones con el servicio web.
puede usar membrane-soa para analizar archivos wsdl. agregar dependencia desde http://mvnrepository.com/artifact/com.predic8/soa-model-core.
puede encontrar documentaciones en http://membrane-soa.org/soa-model/.
- 1. Excepción al analizar WSDL
- 2. Forma simple de analizar un WSDL
- 3. Cómo analizar una solicitud HTTP en Java?
- 4. Cómo analizar XML mal formado en Java?
- 5. Java ClassCastException al generar WSDL en Eclipse?
- 6. Java: cómo analizar doble de expresiones regulares
- 7. generador Eclipse WSDL (de la clase Java)?
- 8. Generar WSDL de la clase java \ source
- 9. ¿Cómo escribir un cliente Java para acceder al archivo WSDL?
- 10. ¿Cómo se autogeneran dinámicamente Java Beans a partir de WSDL?
- 11. Trabaja con WSDL. ¿Cómo?
- 12. Cómo usar un WSDL
- 13. svcutil.exe - Cómo obtener WSDL
- 14. Cómo probar wsdl localmente
- 15. java: RPC/WSDL codificados no se admiten en JAXWS 2.0
- 16. analizar una cadena xml en java?
- 17. Analizar dependencias JAR en un proyecto Java
- 18. Java analizar un número en notación exponencial
- 19. cadenas enteros al analizar en Java
- 20. Java: ¿formas de analizar XML en E4X?
- 21. Primer acercamiento de WSDL: ¿Cómo especificar diferentes nombres para wsdl: port y wsdl: binding?
- 22. ¿Cómo usar expresiones regulares para analizar HTML en Java?
- 23. Cómo analizar un URI como esta en Java
- 24. ¿Cómo puedo analizar el código REXX en Java?
- 25. Cómo analizar y modificar un archivo HTML en Java
- 26. ¿Cómo puedo analizar una cadena HTML en Java?
- 27. Cómo analizar Negative Long in Hex en Java
- 28. Cómo analizar la fragmentación de memoria en Java?
- 29. ¿Qué es analizar/analizar?
- 30. La mejor manera de analizar Java en Java
Tengo que hacer el servicio dinámico invocador basado en el WSDL. ¿Alguna dirección sobre cómo hacerlo con Metro? – Milan
Bueno, necesito hacer una forma dinámica (invocador de servicio), basado en WSDL. Imagine que recibe WSDL y debe generar formulario a partir de él (campos de entrada) y también la posibilidad de invocar esa operación. Tengo un repositorio de WSDL. Debería ser dinámico que pueda funcionar para cualquier WSDL. Espero haber sido claro enaugh. – Milan
¿No hace la misma pregunta que http://stackoverflow.com/questions/2491598/create-on-the-fly-web-service-dynamic-web-service-invoker? – nzpcmad