wsimport ha acabat. La crida SOAP encara necessita un proxy.
Separeu la generació del WSDL, l'obtenció del WSDL en temps d'execució i la invocació SOAP en configurar l'accés JAX-WS a través d'un proxy.
El WSDL s'ha baixat, les classes Java s'han generat i la primera crida SOAP encara no pot sortir de la xarxa. L'opció de proxy que fa servir el generador pertany a l'operació del generador.
La referència de wsimport de l'Oracle JDK 8 documenta una opció de proxy HTTP per a aquesta eina. No és una instrucció portàtil incrustada a les classes de servei resultants. Una aplicació posterior pot executar-se en una altra JVM, amb un altre compte i amb una altra implementació de JAX-WS.
Esbrineu quina petició ha fallat
| Etapa | Procés o component a inspeccionar |
|---|---|
| Generar classes a partir del WSDL i les importacions | L'eina de compilació o la invocació de wsimport |
| Llegir el WSDL en construir el servei | La ubicació del WSDL de l'aplicació i el client en temps d'execució |
| Invocar el punt final SOAP | El transport escollit en temps d'execució i la seva configuració de proxy |
L'etapa intermèdia és fàcil de passar per alt. Un servei generat pot continuar referint-se a un WSDL remot. Si el temps d'execució l'ha d'obtenir durant la construcció, configurar un port només després arriba tard per a aquella baixada anterior. Empaquetar la descripció prevista com a recurs de l'aplicació pot eliminar aquesta dependència d'obtenció on la implementació ho admet.
Una classe anomenada ClientProxyFeature d'una implementació no forma part automàticament de tots els proveïdors JAX-WS.
Mantingueu les credencials del proxy separades de les del servei SOAP. Una baixada de WSDL correcta pot fins i tot ser anònima mentre el punt final de l'operació exigeix inici de sessió, o a l'inrevés.
Anoteu l'URL que ha fallat i el punt on s'han aturat la construcció o la invocació. Això sol identificar on va la configuració que falta sense tornar a generar exactament les mateixes classes.