Hi Oli,
Thanks for opening the issue. It's a bug in the platform (in
org.apache.clerezza.triaxrs) and it is fixed now.
The reason for this server error (500) response is that the java.net
implementation sends a malformed ACCEPT-header. It contains "*;.2",
which is wrong. But the Clerezza platform should only write a warning in
the console (which it does), but at one point we missed to catch the
exception, which lead to the server error.
You could have also modified your code to send a proper ACCEPT-header.
Following is your modified code that should work with the platform
containing the bug (pre revision 908057).
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Authenticator;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.PasswordAuthentication;
import java.net.URL;
/**
*
* @author osr
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("Starting request");
// TODO code application logic here
// Access the page
try {
Authenticator.setDefault(new MyAuthenticator());
// Create a URL for the desired page
URL url = new
URL("http://localhost:8080/admin/user-manager/");
HttpURLConnection con = (HttpURLConnection)
url.openConnection();
con.setRequestProperty("Accept",
"application/rdf+xml"); // set a
proper Accept-header
// Read all the text returned by the server
BufferedReader in = new BufferedReader(new
InputStreamReader(con.getInputStream()));
String str;
while ((str = in.readLine()) != null) {
// str is one line of text; readLine() strips the
newline character(s)
System.out.println(str);
}
in.close();
} catch (MalformedURLException e) {
System.out.println("MalformedURLException");
} catch (IOException e) {
System.out.println("IOException: " + e.getMessage());
}
}
public static class MyAuthenticator extends Authenticator {
// This method is called when a password-protected URL is
accessed
@Override
protected PasswordAuthentication getPasswordAuthentication() {
System.out.println("getPasswordAuthentication");
// Get information about the request
String promptString = getRequestingPrompt();
String hostname = getRequestingHost();
InetAddress ipaddr = getRequestingSite();
int port = getRequestingPort();
// Get the username from the user...
String username = "admin";
// Get the password from the user...
String password = "admin";
// Return the information
return new PasswordAuthentication(username,
password.toCharArray());
}
}
}
Cheers,
Manuel
On Mon, 2010-02-08 at 08:36 -0500, Oliver Strässer wrote:
> I try to connect to the Trialox and have problems with the redirecting
to the login screen.
> I tried the following code to connect to the Trialox system.
>
> if I deactivate the Clerezza - Platform Security Cookie Authentication
Bundle, the code worked correctly and the authentication is successful.
> if I activate the bundle my response is: Server returned HTTP response
code: 500 for URL:
http://localhost:8080/login?referer=%2Fmacc%2Fcontent%2Forg.greenpeace.ch&cause=1
>
> is that an error on my side or at the cookie bundle
>
> How is the correct way ?
>
> /*
> * To change this template, choose Tools | Templates
> * and open the template in the editor.
> */
> package test;
>
> import java.io.BufferedReader;
> import java.io.IOException;
> import java.io.InputStreamReader;
> import java.net.Authenticator;
> import java.net.InetAddress;
> import java.net.MalformedURLException;
> import java.net.PasswordAuthentication;
> import java.net.URL;
>
> /**
> *
> * @author osr
> */
> public class Main {
>
> /**
> * @param args the command line arguments
> */
> public static void main(String[] args) {
> System.out.println("Starting request");
>
> // TODO code application logic here
>
>
> // Access the page
> try {
> Authenticator.setDefault(new MyAuthenticator());
>
> // Create a URL for the desired page
> URL url = new
URL("http://localhost:8080/macc/content/org.greenpeace.ch");
> // Read all the text returned by the server
> BufferedReader in = new BufferedReader(new
InputStreamReader(url.openStream()));
> String str;
> while ((str = in.readLine()) != null) {
> // str is one line of text; readLine() strips the
newline character(s)
> System.out.println(str);
> }
> in.close();
> } catch (MalformedURLException e) {
> System.out.println("MalformedURLException");
> } catch (IOException e) {
> System.out.println("IOException: " + e.getMessage());
> }
> }
>
> public static class MyAuthenticator extends Authenticator {
> // This method is called when a password-protected URL is accessed
>
> @Override
> protected PasswordAuthentication getPasswordAuthentication() {
> System.out.println("getPasswordAuthentication");
> // Get information about the request
> String promptString = getRequestingPrompt();
> String hostname = getRequestingHost();
> InetAddress ipaddr = getRequestingSite();
> int port = getRequestingPort();
> // Get the username from the user...
> String username = "admin";
> // Get the password from the user...
> String password = "admin";
> // Return the information
> return new PasswordAuthentication(username,
password.toCharArray());
> }
> }
> }
>
>
>
>
>
> --getunik ag-------------------------------------------
> oliver straesser
[email protected]<mailto:[email protected]>
> hardturmstrasse 101 fon: +41 (0)44 388 55 88
> ch-8005 zuerich fax: +41 (0)44 388 55 89
>
> --aktuelles getunik projekt-------------------------
> Agieren Sie lokal! Geo Marketing für Ihre E-Mail Kampagne:
www.geomarketing.com<http://www.geomarketing.com/>
>
> --best of swiss web awards 2009------------------
> Gold & Silber für Connect2Earth / Bronze für WWF UK
>
> we make the web a better place - www.getunik.com<http://www.getunik.com/>
>
>
>
>
> *****************************************************************
> P Bitte drucken Sie dieses E-Mail nur bei Bedarf aus. Die Umwelt dankt
es Ihnen.
> *****************************************************************
>