O wsimport terminou. A chamada SOAP continua a precisar de um proxy.
Separe a geração do WSDL, a obtenção do WSDL em tempo de execução e a invocação SOAP ao configurar o acesso JAX-WS por proxy.
O WSDL foi descarregado, as classes Java foram geradas e a primeira chamada SOAP continua sem conseguir sair da rede. A opção de proxy usada pelo gerador pertence ao funcionamento do próprio gerador.
A referência do wsimport no Oracle JDK 8 documenta uma opção de proxy HTTP para essa ferramenta. Não é uma instrução portável incorporada nas classes de serviço resultantes. Uma aplicação posterior pode correr noutra JVM, com outra conta e com outra implementação de JAX-WS.
Identifique o pedido que falhou
| Etapa | Processo ou componente a inspecionar |
|---|---|
| Gerar classes a partir do WSDL e das importações | A ferramenta de compilação ou a invocação de wsimport |
| Ler o WSDL ao construir o serviço | A localização do WSDL da aplicação e o cliente em tempo de execução |
| Invocar o ponto de extremidade SOAP | O transporte escolhido em tempo de execução e a sua configuração de proxy |
A etapa intermédia passa facilmente despercebida. Um serviço gerado pode continuar a remeter para um WSDL remoto. Se o tempo de execução tiver de o obter durante a construção, configurar uma porta só depois chega tarde para esse descarregamento anterior. Empacotar a descrição pretendida como recurso da aplicação pode eliminar essa dependência de obtenção onde a implementação o permitir.
Uma classe chamada ClientProxyFeature de uma implementação não faz automaticamente parte de todos os fornecedores JAX-WS.
Mantenha as credenciais do proxy separadas das credenciais do serviço SOAP. Um descarregamento de WSDL bem-sucedido pode até ser anónimo enquanto o ponto de extremidade da operação exige início de sessão, ou o contrário.
Registe o URL que falhou e o ponto em que a construção ou a invocação pararam. Isso costuma indicar onde se coloca a definição em falta, sem nova tentativa de gerar exatamente as mesmas classes.