I have attached two things, the code I used to connect with the http-commons library and the code which I am trying to use to connect with the webdav api.
I was using the HTTP Commons example code to connect...this works, but since it's not using the webdav api, I can't make requests like propfind etc....
import java.io.IOException;
import org.apache.commons.httpclient.Credentials; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpMethod; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.methods.GetMethod;
/** * * This is a simple text mode application that demonstrates * how to use the Jakarta HttpClient API. * * @author <a href="mailto:[EMAIL PROTECTED]">Jeff Dever</a> * @author Ortwin Gl�ck */ public class TrivialApp {
private static final void printUsage()
{
System.out.println();
System.out.println("Usage: java -classpath <classpath> [-Dorg.apache.commons.logging.simplelog.defaultlog=<loglevel>] TrivialApp <url> [<username> <password>]");
System.out.println("<classpath> - must contain the commons-httpclient.jar and commons-logging.jar");
System.out.println("<loglevel> - one of error, warn, info, debug, trace");
System.out.println("<url> - some valid URL");
System.out.println("<username> - username for protected page");
System.out.println("<password> - password for protected page");
System.out.println();
}
public static void main(String[] args)
{
if ((args.length != 1) && (args.length != 3)) {
printUsage();
System.exit(-1);
} Credentials creds = null;
if (args.length >= 3) {
creds = new UsernamePasswordCredentials(args[1], args[2]);
} //create a singular HttpClient object
HttpClient client = new HttpClient();//establish a connection within 5 seconds
// client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
//set the default credentials
if (creds != null) {
client.getState().setCredentials(null, null, creds);
} String url = args[0];
HttpMethod method = null;//create a method object
method = new GetMethod(url);
method.setFollowRedirects(true);
method.setRequestHeader("Content-Type","content=\"text/xml; charset=utf-8\"");
method.setRequestHeader("Accept","content=\"text/xml\"");
//execute the method
String responseBody = null;
try{
client.executeMethod(method);
responseBody = method.getResponseBodyAsString();
} catch (HttpException he) {
System.err.println("Http error connecting to '" + url + "'");
System.err.println(he.getMessage());
System.exit(-4);
} catch (IOException ioe){
System.err.println("Unable to connect to '" + url + "'");
System.exit(-3);
}
//write out the request headers System.out.println("*** Request ***"); System.out.println("Request Path: " + method.getPath()); System.out.println("Request Query: " + method.getQueryString()); Header[] requestHeaders = method.getRequestHeaders(); for (int i=0; i<requestHeaders.length; i++){ System.out.print(requestHeaders[i]); }
//write out the response headers
System.out.println("*** Response ***");
System.out.println("Status Line: " + method.getStatusLine());
Header[] responseHeaders = method.getResponseHeaders();
for (int i=0; i<responseHeaders.length; i++){
System.out.print(responseHeaders[i]);
} //write out the response body
System.out.println("*** Response Body ***");
System.out.println(responseBody);
//clean up the connection resources
method.releaseConnection();
method.recycle();System.exit(0); } }
//Simple test of slide webdav api
import org.apache.webdav.lib.WebdavResource; import org.apache.util.HttpURL;
class Webdav
{public static void main(String args[])
{try
{
WebdavResource temp=new WebdavResource(new HttpURL("http://qa004:8080/a1"));
temp.setUserInfo("Admin", "password");
temp.setHttpURL(new HttpURL("http://qa004:8080/a1"));
}catch (Exception e) { }
}
}
From: Ingo Brunberg <[EMAIL PROTECTED]> Reply-To: "Slide Users Mailing List" <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Subject: Re: Newbie Authentication Questions Date: Thu, 8 Jan 2004 17:43:09 +0100
In my understanding it should not matter if you use digest or basic authentication as these are handled transparently by httpclient.
How about posting your code that uses httpclient directly?
Ingo
> Hello all,
>
> I'm having a very difficult time understanding how to use authentication
> with the webdav/slide api. If anyone has ANY code they wouldn't mind
> sharing, it would be greatly appreciated!!! Or even a javadoc for the
> client in cvs. What I'm trying to do is connect to my webdav server with
> digest authentication...but I have created one with basic authentication as
> well that I can not connect to with the api. I am however able to connect
> to these servers with different applications and simple code I have written
> which uses http-commons directly, so I know they are working.
>
> THANKS!
> --Jeff
>
> _________________________________________________________________
> Check your PC for viruses with the FREE McAfee online computer scan.
> http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
_________________________________________________________________
Working moms: Find helpful tips here on managing kids, home, work � and yourself. http://special.msn.com/msnbc/workingmom.armx
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
