Tenia algunos problemas con un cliente que consumía un servicio mío mandando XML por HTTP-POST, el IIS bloqueaba sus peticiones y no había manera de ver porque, así que me hice un cliente exacto al suyo para poder debugear el tema.
Por si os sirve, aquí os dejo el código Java:
import java.io.*; import java.net.*; import java.util.Properties; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; public static String POST(String sURL, String sData) { try { URL url = new URL(sURL); URLConnection urlc = url.openConnection(); urlc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); urlc.setDoOutput(true); OutputStream os = urlc.getOutputStream(); byte[] postData = sData.getBytes(); os.write(postData); os.flush(); os.close(); InputStream is = urlc.getInputStream(); return parseISToString(is); } catch(IOException ex) { return ex.getMessage(); } } public static String parseISToString(java.io.InputStream is) { java.io.DataInputStream din = new java.io.DataInputStream(is); StringBuffer sb = new StringBuffer(); try { String line = null; while((line=din.readLine()) != null) { sb.append(line+"\n"); } return sb.toString(); } catch(Exception ex) { return ex.getMessage(); } }
Categories: , Java


