Consumir un Web service rest con java
Hola de nuevo a toda la comunidad,
Queria ver si alguien me puede ayudar a saber como consumir un servicio web rest, ya logro comunicarme con el servicio pero necesito mandar una autenticación y una body ( un xml que recibiré de algún lado) tengo el siguiente código
{
String uri ="direccion de webservice https";
URL url = new URL(uri);
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Authorization", "Basic "+ Base64.encode(("usuario" + ":" + "contraseña").getBytes()));
connection.setRequestProperty("content-type", "text/xml; charset=UTF-8");
// Aqui me gustaria mandarle el cuerpo pero no es correcto
connection.setRequestProperty("body", archivo);
connection.setConnectTimeout(10000);
connection.connect();
System.out.println("Codigo : " + connection.getResponseCode());
}
Use este modo por que alguna vez logre hacer algo parecido con python se que no es igual pero pensé en empezar por ahí o usar apache xcf
output
Necesitas indicar:
Y luego escribir al stream de salida de la conexión:
connection.getOutputStream().write(archivo); //suponiendo que archivo sea tipo byte[]
connection.getOutputStream().flush();
No necesitas invocar connect() en ningún momento cuando haces esto. Simplemente después de escribir al stream, empiezas a leer la respuesta del stream de entrada. Puedes checar la longitud de la misma, si te la devuelve el server, usando connection.getContentLength().
Gracias
Muchas gracias si tenias toda la razón