Chamada Web Service por aplicação Weblogic

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.

Meu caro amigo…

Nesta sua linha 2 do código : URL url = new URL(env.get(“url”));

Vc teria que colocar o caminho completo da url, para abrir a conexão…

Att,

Sim, este objeto eh uma Map cuja chave “url” contém como valor a url completa do serviço.

Att,