wsimport rematou. A chamada SOAP segue necesitando un proxy.
Separe a xeración do WSDL, a obtención do WSDL en tempo de execución e a invocación SOAP ao configurar o acceso JAX-WS mediante proxy.
O WSDL descargouse, as clases Java xeráronse e a primeira chamada SOAP segue sen poder saír da rede. A opción de proxy que usa o xerador pertence ao funcionamento do propio xerador.
A referencia de wsimport de Oracle JDK 8 documenta unha opción de proxy HTTP para esa ferramenta. Non é unha instrución portátil incorporada ás clases de servizo resultantes. Unha aplicación posterior pode executarse noutra JVM, con outra conta e con outra implementación de JAX-WS.
Identifique que solicitude fallou
| Etapa | Proceso ou compoñente que inspeccionar |
|---|---|
| Xerar clases a partir do WSDL e das importacións | A ferramenta de compilación ou a invocación de wsimport |
| Ler o WSDL ao construír o servizo | A localización do WSDL da aplicación e o cliente en tempo de execución |
| Invocar o punto de conexión SOAP | O transporte elixido en tempo de execución e a súa configuración de proxy |
A etapa intermedia pasa facilmente desapercibida. Un servizo xerado pode seguir referíndose a un WSDL remoto. Se o tempo de execución debe obtelo durante a construción, configurar un porto só despois chega tarde para esa descarga anterior. Empaquetar a descrición prevista como recurso da aplicación pode eliminar esa dependencia de obtención onde a implementación o admite.
Unha clase chamada ClientProxyFeature dunha implementación non forma parte automaticamente de todos os provedores JAX-WS.
Manteña as credenciais do proxy separadas das do servizo SOAP. Unha descarga de WSDL correcta pode ser mesmo anónima mentres o punto de conexión da operación esixe inicio de sesión, ou á inversa.
Anote o URL que fallou e o punto no que se detiveron a construción ou a invocación. Iso adoita indicar onde corresponde o axuste que falta sen tentar xerar de novo exactamente as mesmas clases.