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

EtapaProcesso ou componente a inspecionar
Gerar classes a partir do WSDL e das importaçõesA ferramenta de compilação ou a invocação de wsimport
Ler o WSDL ao construir o serviçoA localização do WSDL da aplicação e o cliente em tempo de execução
Invocar o ponto de extremidade SOAPO 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.

Artigos relacionados