Authentication [message #33418] |
Wed, 25 July 2007 11:15 |
Eclipse User |
|
|
|
Originally posted by: ebizot.yahoo.fr
Hi,
I have to make a BIRT report based on a "Web Services Data Source".
My web service is basic secured but the
org.eclipse.datatools.enablement.oda.ws connection does'nt support basic
authentication and so it does'nt work for me.
Rather than developping my own Connection or plugin I've tried to change
the plugin sources like this :
I have changed the
org.eclipse.datatools.enablement.oda.ws.RawMessageSender class adding :
=> a specific Authenticator :
static class SoapAuthenticator extends Authenticator {
private String username, password;
public SoapAuthenticator(String user, String pass) {
username = user;
password = pass;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,
password.toCharArray());
}
}
=> authentication in RawMessageSender::SOAPResponseCollector :
public void run() {
try {
URL url = new URL(spec);
if(url.getUserInfo() != null) {
String [] loginInfo = url.getUserInfo().split(":");
String user = (loginInfo.length > 0)? loginInfo[0] :
WSUtil.EMPTY_STRING;
String pwd = (loginInfo.length > 1)? loginInfo[1] :
WSUtil.EMPTY_STRING;
HttpURLConnection.setDefaultAllowUserInteraction(true);
Authenticator.setDefault(new SoapAuthenticator(user,
pwd));
}
connection = (HttpURLConnection) url.openConnection();
...
and I'm connecting my web service with thoose parameters :
WSDL URL : http://server:port/.../myService?wsdl
SOAP End Point : http://user:password@server:port/.../myService
I'm not sure it's the best solution but it's working.
Is it possible to integrate authentication in next versions ?
Thanks a lot,
Emmanuel BIZOT
|
|
|
Powered by
FUDForum. Page generated in 0.02690 seconds