Zhaohua,
I'll look into it. I can expect to get a response from me by the end of
the week the latest.
Oleg
On Wed, 2005-08-03 at 15:36 -0400, Zhaohua Meng wrote:
> 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.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]