Sorry I have to split this mail in 2 since apache.org mail server wont' 
allow large messages.
The code:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.Security;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.ParserConfigurationException;

import org.apache.commons.httpclient.Credentials;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpVersion;
import org.apache.commons.httpclient.NTCredentials;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthPolicy;
import org.apache.commons.httpclient.auth.AuthScheme;
import org.apache.commons.httpclient.auth.AuthScope;
import 
org.apache.commons.httpclient.auth.CredentialsNotAvailableException;
import org.apache.commons.httpclient.auth.CredentialsProvider;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.httpclient.params.HttpMethodParams;

/**
 *
 * 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 Glück
 * @author Oleg Kalnichevski
 */
public class PostXML {
        private Object password;

    /**
     *
     * Usage:
     *          java PostXML http://mywebserver:80/ c:\foo.xml
     *
     *  @param args command line arguments
     *                 Argument 0 is a URL to a web server
     *                 Argument 1 is a local filename
     *
     */
    public static void main(String[] args) throws Exception {
        System.setProperty("org.apache.commons.logging.Log", 
"org.apache.commons.logging.impl.SimpleLog");
        System.setProperty(
"org.apache.commons.logging.simplelog.showdatetime", "true");
        System.setProperty(
"org.apache.commons.logging.simplelog.log.httpclient.wire", "debug");
        System.setProperty(
"org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient", 
"debug"); 
        postWithSupportedAuth(); 
   }
    public static void postWithSupportedAuth() throws IOException, 
HttpException, IllegalAccessException, InstantiationException, 
ClassNotFoundException, ParserConfigurationException {
        String secProviderName = "com.sun.crypto.provider.SunJCE";
        java.security.Provider secProvider = 
(java.security.Provider)Class.forName(secProviderName).newInstance();
        Security.addProvider(secProvider);
        String strURL = "
http://driman8.cgsh.com/worksite/services/factory.asmx";;
        String strXMLFilename = "C:/project/junk/Test/Java 
Source/request.xml";
                String requestDoc = 
ImanageCreateWorkspaceSOAP.getTestDoc(); 
        // Prepare HTTP post
        PostMethod post = new PostMethod(strURL);
          post.setRequestEntity(new StringRequestEntity(requestDoc,
"text/xml; charset=UTF-8","UTF-8"));
        post.setRequestHeader("Content-type", "text/xml; charset=UTF-8");
        post.setRequestHeader("SOAPAction",
                        "\"http://worksite.imanage.com/CreateWorkspace\"";
); 
        HttpClient httpclient = new HttpClient(); 
          post.getParams().setVersion(HttpVersion.HTTP_1_1);
 httpclient.getParams().setParameter(CredentialsProvider.PROVIDER,
                new PostXML.MyCredentialsProvider()); 
        try {
            int result = httpclient.executeMethod(post);
            System.out.println("Response status code: " + result);
            System.out.println("Response body: ");
        } finally {
            post.releaseConnection();
        }
     }
    public static void getWithBasicAuth(String url, String username, 
String password, String host, int port, String domain) throws 
HttpException, IOException {
        //http://www.developer.ibm.com/partnerworld/mem/index.html
                GetMethod get = new GetMethod(url);
                HttpClient httpclient = new HttpClient();
        httpclient.getState().setCredentials(
            new AuthScope(host, port,domain), new 
NTCredentials(username,password,host,domain));
            int result = httpclient.executeMethod(get);
            // Display status code
            System.out.println("Response status code: " + result);
            // Display response
            System.out.println("Response body: ");
            System.out.println(get.getResponseBodyAsString());
 
 
    }
    public static class MyCredentialsProvider implements 
CredentialsProvider {
 
                /**
                 * @see 
org.apache.commons.httpclient.auth.CredentialsProvider#getCredentials(AuthScheme,
 
String, int, boolean)
                 */
                public Credentials getCredentials(
                        AuthScheme scheme,
                        String host,
                        int port,
                        boolean proxy)
                        throws CredentialsNotAvailableException {
                                return new UsernamePasswordCredentials(
"myusername","mypassword");
                }

        }
}

This message is being sent from a law firm and may contain confidential or 
privileged information.  If you are not the intended recipient, please advise 
the sender immediately by reply e-mail and delete this message and any 
attachments without retaining a copy.

Reply via email to