package com.ilink.whlsl.util; /** * Title: Wholesale XML API * Description: This project contains the classes necessary to receive an HTTP Post of an XML document. Parse that document and make calls to the Wholesale API in Oracle * Copyright: Copyright (c) 2001 * Company: I-Link Incorporated * @author John Muhlestein * @version 1.0 */ import java.io.File; import java.io.CharArrayReader; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.OutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.PrintWriter; import java.io.ByteArrayOutputStream; import java.net.HttpURLConnection; import java.net.URL; public class WhlslPostTest { public static void main(String[] args) { if (args.length != 2) { throw new IllegalArgumentException("Wrong number of arguments"); } try { WhlslPostTest whlslPostTest1 = new WhlslPostTest(); File infile = new File(args[0]); File outfile = new File(args[1]); String currentLine; //read the file into a byte array ByteArrayOutputStream bytebuf = new ByteArrayOutputStream(400); BufferedReader br = new BufferedReader(new FileReader(infile)); PrintWriter writer = new PrintWriter(bytebuf, true); String curline; while((curline = br.readLine()) != null) { writer.print(curline); } writer.flush(); br.close(); //clean up resources //Connect to the servlet URL url = new URL("http://devboard/xml/servlet/whlsl"); HttpURLConnection cxn = (HttpURLConnection)url.openConnection(); cxn.setRequestMethod("POST"); cxn.setUseCaches(false); cxn.setDoOutput(true); //send the post data cxn.setRequestProperty("Content-Length", String.valueOf(bytebuf.size())); cxn.setRequestProperty("Content-Type", "text/xml"); bytebuf.writeTo(cxn.getOutputStream()); bytebuf.flush(); //receive the results from the servlet BufferedReader in = new BufferedReader(new InputStreamReader(cxn.getInputStream())); //print to an output file FileWriter out = new FileWriter(outfile); while((currentLine = in.readLine()) != null) { out.write(currentLine); } out.flush(); cxn.disconnect(); } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace(System.out); } } }