/* * $HeadURL$ * $Revision$ * $Date$ * ==================================================================== * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * . */ import java.io.File; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.FileRequestEntity; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.RequestEntity; /** * * This is a sample application that demonstrates * how to use the Jakarta HttpClient API. * * This application sends an XML document * to a remote web server using HTTP POST * * @author Sean C. Sullivan * @author Ortwin Glueck * @author Oleg Kalnichevski * @author Paul King */ public class PostSOAP { /** * * Usage: * java PostSOAP http://mywebserver:80/ SOAPAction c:\foo.xml * * @param args command line arguments * Argument 0 is a URL to a web server * Argument 1 is the SOAP Action * Argument 2 is a local filename * */ public static void main(String[] args) throws Exception { if (args.length != 3) { System.out.println("Usage: java -classpath [-Dorg.apache.commons.logging.simplelog.defaultlog=] PostSOAP ]"); System.out.println(" - must contain the commons-httpclient.jar and commons-logging.jar"); System.out.println(" - one of error, warn, info, debug, trace"); System.out.println(" - the URL to post the file to"); System.out.println(" - the SOAP action header value"); System.out.println(" - file to post to the URL"); System.out.println(); System.exit(1); } // Get target URL String strURL = args[0]; // Get SOAP action String strSoapAction = args[1]; // Get file to be posted String strXMLFilename = args[2]; File input = new File(strXMLFilename); // Prepare HTTP post PostMethod post = new PostMethod(strURL); // Request content will be retrieved directly // from the input stream RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1"); post.setRequestEntity(entity); // consult documentation for your web service post.setRequestHeader("SOAPAction", strSoapAction); // Get HTTP client HttpClient httpclient = new HttpClient(); // Execute request try { int result = httpclient.executeMethod(post); // Display status code System.out.println("Response status code: " + result); // Display response System.out.println("Response body: "); System.out.println(post.getResponseBodyAsString()); } finally { // Release current connection to the connection pool once you are done post.releaseConnection(); } } }