import java.io.*;
import java.net.*;

public class gsearch {
    public static void main(String[] args) throws Exception {
/* Uso: java gsearch serviceurl xmlinput xmloutput */
        FileInputStream data;
        data = new FileInputStream(new File(args[1]));
        ByteArrayOutputStream bout = new ByteArrayOutputStream();

        copy(data,bout);
        byte[] b = bout.toByteArray();

        String line;

        URL url = new URL(args[0]);
        URLConnection connection = url.openConnection();
        connection.setDoOutput(true);

        connection.setRequestProperty( "Content-Length",
                                  String.valueOf( b.length ) );
        

       connection.setRequestProperty("Content-Type","text/xml; charset=utf-8");
       String SOAPAction="";   
       connection.setRequestProperty("SOAPAction",SOAPAction);
//       connection.setRequestMethod( "POST" );


        OutputStream out = connection.getOutputStream();
        out.write(b);
        System.out.println(b);
        System.out.println( b.length);

        out.close();

        BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                connection.getInputStream()));
        BufferedWriter outxml = new BufferedWriter(
                                new FileWriter(
                                args[2]));
        String inputLine;

        while ((inputLine = in.readLine()) != null)
            outxml.write(inputLine+"\n");

        in.close();
        outxml.close();
      }

public static void copy(InputStream in, OutputStream out) 
   throws IOException {


    synchronized (in) {
      synchronized (out) {

        byte[] buffer = new byte[256];
        while (true) {
          int bytesRead = in.read(buffer);
          if (bytesRead == -1) break;
          out.write(buffer, 0, bytesRead);
        }
      }
      }
      }


}


