Olá pessoal,
estou com o seguinte problema:
Possuo uma aplicação Web que faz uma chamada a um Web Service. Esta aplicação, quando está rodando em um Tomcat, sua requisição é feita corretamente e a resposta do serviço chega com sucesso. Porém quando esta mesma aplicação está rodando em um Weblogic, o SOAP Request está indo vazio, logo recebo um erro 500 do servidor.
O trecho que faz a requisição segue abaixo:
// Abre a conexão
URL url = new URL(env.get("url"));
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
// Seta headers
for ( String key : env.keySet() ) {
if ( key.startsWith("header:" )) {
conn.addRequestProperty(key.substring("header:".length()), env.get(key) );
System.out.println( key + ": " + env.get(key));
}
}
// Envia o conteudo
new XMLOutputter().output(me.getRequestMessage(), conn.getOutputStream());
conn.getOutputStream().flush();
conn.getOutputStream().close();
Ao debugar este código, percebi também que a instância que recebo para o objeto ‘conn’ é HttpURLConnection no Tomcat, como o esperado. Porém no Weblogic, recebo uma instância da classe SOAPHttpURLConnection.
Alguém saberia me dizer se é este o problema, e sabe como resolvê-lo?
Obrigado,
Tiago.