You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Florian Müller (JIRA)" <ji...@apache.org> on 2011/08/23 21:00:29 UTC

[jira] [Issue Comment Edited] (CMIS-423) Open CMIS Client Framework Not initializing after enabling security on web services

    [ https://issues.apache.org/jira/browse/CMIS-423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089664#comment-13089664 ] 

Florian Müller edited comment on CMIS-423 at 8/23/11 6:59 PM:
--------------------------------------------------------------

First of all, there is no good reason to hide the CMIS WSDLs. They are not containing any information that have to be protected and many CMIS Web Services clients cannot handle HTTP authentication.

The workaround for OpenCMIS is to install an Authenticator [1] before the first call is made.
A simple implementation of an Authenticator could look like this:

{code} 
public class BasicAuthenticator extends Authenticator {
    private PasswordAuthentication passwordAuthentication;

    public BasicAuthenticator(String user, String password) {
        passwordAuthentication = new PasswordAuthentication(user, password.toCharArray());
    }

    @Override
    protected synchronized PasswordAuthentication getPasswordAuthentication() {
        return passwordAuthentication;
    }
}
{code} 

[1] http://download.oracle.com/javase/6/docs/api/java/net/Authenticator.html


      was (Author: fmui):
    First of all, there is no good reason to hide the CMIS WSDLs. They are not containing any information that have to be protected and many CMIS Web Services clients cannot handle HTTP authentication.

The workaround for OpenCMIS is to install an Authenticator [1] before the first call is made.
A simple implementation of an Authenticator could look like this:

public class BasicAuthenticator extends Authenticator {
    private PasswordAuthentication passwordAuthentication;

    public BasicAuthenticator(String user, String password) {
        passwordAuthentication = new PasswordAuthentication(user, password.toCharArray());
    }

    @Override
    protected synchronized PasswordAuthentication getPasswordAuthentication() {
        return passwordAuthentication;
    }
}


[1] http://download.oracle.com/javase/6/docs/api/java/net/Authenticator.html

  
> Open CMIS Client Framework Not initializing after enabling security on web services
> -----------------------------------------------------------------------------------
>
>                 Key: CMIS-423
>                 URL: https://issues.apache.org/jira/browse/CMIS-423
>             Project: Chemistry
>          Issue Type: Bug
>          Components: opencmis-client
>    Affects Versions: OpenCMIS 0.4.0
>         Environment: IBM Websphere 7,0,13
>            Reporter: Krishna Penugonda
>            Priority: Critical
>   Original Estimate: 12h
>  Remaining Estimate: 12h
>
> After enabling HTTP Authentication on webservices opencmis client API not Initzializing. we are getting following Exception:
> Aug 23, 2011 9:32:42 AM com.thrivent.cmis.commons.logging.Logger error
> SEVERE: $1$  Current User Id :n050767
> Aug 23, 2011 9:32:42 AM com.thrivent.cmis.commons.logging.Logger error
> SEVERE: $1$ Query:SELECT this,DocumentTitle,amtPaid,acctNbr,doc_Typ_Code,cust_Id_Nbr_ FROM Document WHERE  DocumentTitle LIKE '%GCS%'
> Aug 23, 2011 9:32:42 AM com.thrivent.cmis.commons.logging.Logger error
> SEVERE: $1$ com.thrivent.cms.client.exception.ServiceClientException: org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Cannot initalize Web Services service object [org.apache.chemistry.opencmis.binding.webservices.RepositoryService]: Failed to access the WSDL at: http://10.83.4.223:9080/ThriventCmisServiceWeb/services/RepositoryService?wsdl. It failed with: 
> 	Server returned HTTP response code: 401 for URL: http://10.83.4.223:9080/ThriventCmisServiceWeb/services/RepositoryService?wsdl.
> 	at com.thrivent.cms.client.provider.ClientSessionProvider.intiialize(ClientSessionProvider.java:112)
> 	at com.thrivent.cms.client.provider.ClientSessionProvider.<init>(ClientSessionProvider.java:43)
> 	at com.thrivent.cms.client.provider.ClientSessionProvider.getInstance(ClientSessionProvider.java:54)
> 	at com.thrivent.cms.client.handler.ClientRequestHandler.query(ClientRequestHandler.java:88)
> 	at com.thrivent.cms.client.helper.ServiceClientHelper.invokeQuery(ServiceClientHelper.java:81)
> 	at TestApp.invokeQueryCall(TestApp.java:74)
> 	at TestApp.main(TestApp.java:328)
> Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: http://10.83.4.223:9080/ThriventCmisServiceWeb/services/RepositoryService?wsdl
> 	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1285)
> 	at java.net.URL.openStream(URL.java:1009)
> 	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:804)
> 	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:262)
> 	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:129)
> 	... 21 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira