olá!
Estou tentando conectar em um webservice que utiliza autenticação preemptiva, com usuário e senha.
Cheguei até esse código abaixo mas sempre retorna o erro informando que a conexão precisa de autenticação.
Alguma dica de como resolver esse problema?
[code]StringBuilder soapMessage = new StringBuilder();
soapMessage.append("<?xml version="1.0" encoding="utf-8"?>")
.append("<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=“http://www.agrotis.com.br/ReceitaAgrowin/xsd/">")
.append(”<soapenv:Header/>")
.append("<soapenv:Body>")
.append("<xsd:atualizarClienteEnvio/>")
.append("</soapenv:Body>")
.append("</soapenv:Envelope>");
org.apache.axis.soap.MessageFactoryImpl impl = new org.apache.axis.soap.MessageFactoryImpl();
MimeHeaders header = new MimeHeaders();
header.addHeader("Content-Type", "application/soap+xml");
String authorization = Base64Coder.encodeString("usuario:senha");
header.addHeader("Authorization", "Basic " + authorization);
SOAPMessage message = impl.createMessage(header,
new ByteArrayInputStream(soapMessage.toString().getBytes()));
SOAPConnectionImpl conn = new SOAPConnectionImpl();
URL url = new URL("http://servidor:porta/WS/Utilitarios");
SOAPMessage response = conn.call(message, url);
conn.close();
StringWriter sw = new StringWriter();
Source source = new DOMSource(
response.getSOAPPart().getEnvelope().getBody().getFirstChild().getFirstChild());
TransformerFactory.newInstance().newTransformer().transform(
source, new StreamResult(sw));
System.out.println("========================================================");
System.out.println(response.getSOAPBody().getFault().getFaultString());
System.out.println(sw.toString());
System.out.println("========================================================");[/code]
Retorna o erro:
[quote]========================================================
(407)Proxy Authentication Required
<?xml version="1.0" encoding="UTF-8"?><faultcode/>
========================================================[/quote]
Obs.: esto usando o framework Axis1.4