lunes, 22 de septiembre de 2014

Consultar WS mediante URLConection

El siguiente método muestra como podemos hacer colsulta de un WS usando la clase URLConection (en caso de que se requiera no usar Axis o Jax-WS para consultar Web Service).

Este ejemplo lo hice con Eclipse, por lo que es posible copiar y pegar en el Ide (debería devolver el resultado).

En esta direccion se encuentra el web se llama Calculator  el método que utilizamos de este WS es el Add.


//funcion que consulta un método de un WS via URLConection

private static Hashtable llamaWs(){

Hashtable resWS = new Hashtable();


//ponemos como resultado 1, esto significa que la consulta tuvo error
resWS.put("resultado""1");


//armamos el mensaje SOAP
String reqXML =

""+
    " "+
    " "+
       " "+
          " 5"+
          " 5"+
       "
"+    "
"+ "
";             

StringBuffer request = new StringBuffer();
request.append(reqXML);

String endPoint = "http://ws1.parasoft.com/glue/calculator";

try{
URL url = new URL(endPoint);
URLConnection connection = url.openConnection();



connection.setConnectTimeout(10000); //timeout
connection.setReadTimeout(10000); //timeout
connection.setDoOutput(true);
connection.addRequestProperty("SOAPAction""");
connection.addRequestProperty("Content-Type""text/xml; charset=utf-8");

OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(request.toString());
out.close();


BufferedReader bReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String decodedString;

StringBuffer resp = new StringBuffer();
while((decodedString = bReader.readLine()) != null)
{
resp.append(decodedString);
}
bReader.close();

String resXML = resp.toString();


System.out.println("resultado del envio:" + resXML);

}catch(Exception e){
System.out.println(" ERROR :" + e);
}

return resWS;

}

No hay comentarios:

Publicar un comentario