Hello, You need to encode your URL because the space are not valid character for a URL. (space needs to become %20), I think their is an existing helper class that can help you in the restlety API or check jakarta commons-net. Regards, Loïc
________________________________ From: Stephane Fellah [mailto:[EMAIL PROTECTED] Sent: 03 June 2008 17:06 To: [email protected] Subject: Handling of file path with space in Reference Hi, I am trying to create a Directory using a path with some space character in it. Here a sample code: public static void main(String[] args) throws MalformedURLException { String path = "C:\\Program Files\\Apache Software Foundation\\Tomcat 5.5\\webapps\\mywebapp\\"; System.out.println("Path: "+path); URL url = new File(path).toURL(); System.out.println("File URL: "+url); Directory d = new Directory(new Context(),url.toString()); System.out.println(d); } Here the output and exception I get: Path: C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\mywebapp\ File URL: file:/C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/mywebapp Exception in thread "main" java.lang.IllegalArgumentException: Invalid character detected in URI reference at index '16': " " at org.restlet.data.Reference.checkValidity(Reference.java:666) at org.restlet.data.Reference.<init>(Reference.java:531) at org.restlet.data.Reference.<init>(Reference.java:562) at org.restlet.Directory.<init>(Directory.java:142) at com.usersmarts.ksb.services.servlet.TestReference.main(TestReference.java:27) I tried to encode the URL by doing using the Reference.encode or URLEncoder public static void main(String[] args) throws MalformedURLException { String path = "C:\\Program Files\\Apache Software Foundation\\Tomcat 5.5\\webapps\\mywebapp\\"; System.out.println("Path"+path); URL url = new File(path).toURL(); System.out.println("File URL"+url); System.out.println("Encoded reference:"+Reference.encode(url.toString())); Directory d = new Directory(new Context(),Reference.encode(url.toString())); System.out.println(d); } Path: C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\mywebapp\ File URL: file:/C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/mywebapp Encoded reference: file%3A%2FC%3A%2FProgram+Files%2FApache+Software+Foundation%2FTomcat+5.5%2Fwebapps%2Fmywebapp Exception in thread "main" java.lang.IllegalArgumentException: Relative references are only usable when a base reference is set. at org.restlet.data.Reference.getTargetRef(Reference.java:1674) at org.restlet.Directory.<init>(Directory.java:104) at org.restlet.Directory.<init>(Directory.java:142) at com.usersmarts.ksb.services.servlet.TestReference.main(TestReference.java:23) I cannot see what is wrong here. Could you help. Thanks in advance. Stephane Fellah Senior Software Engineer Image Matters LLC **** DISCLAIMER **** http://www.belgacom.be/maildisclaimer

