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

Florian Müller commented on CMIS-294:
-------------------------------------

Unfortunately, JAX-WS doesn't provide a way to specify credentials for the WSDL.

There are two workarounds:

1. Download the WSDL with a web browser and refer to the local copy with a 
file://... URL.
2. Set up a java.net.Authenticator with the required credentials. This may have 
side effects because the Authenticator will be used for all HttpURLConnections 
in the JVM.

We could implement the second workaround in OpenCMIS but I'm a bit reluctant 
because of the side effect.

Best solution: Don't protect the WSDL. It doesn't contain any secrets anyway 
and should be the same for all users.


> Cmis WebServices connector can not manage WSDL in protected URLs (HttpBasic 
> for instance)
> -----------------------------------------------------------------------------------------
>
>                 Key: CMIS-294
>                 URL: https://issues.apache.org/jira/browse/CMIS-294
>             Project: Chemistry
>          Issue Type: Improvement
>          Components: opencmis-client-bindings
>    Affects Versions: 0.3.0-incubating 
>         Environment: Ubuntu Linux, JDK 1.6, Tomcat 6
>            Reporter: Galo Gimenez
>            Priority: Trivial
>             Fix For: 1.0.0-incubating
>
>
> When connecting using SOAP services, when those are behind protected URLs (ie 
> http basic) WSDL can not be retrieved.. Would be good that this scenario is 
> supported, as WSDL is usually protected on the servers. I think this is very 
> low priority.
> Stack trace:
> Exception in thread "main" 
> 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://ggimenez.emea.hpqcorp.net:8080//cmis/RepositoryService?wsdl. It failed 
> with: 
>       Server returned HTTP response code: 401 for URL: 
> http://ggimenez.emea.hpqcorp.net:8080/cmis/RepositoryService?wsdl.
>       at 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.AbstractPortProvider.initServiceObject(AbstractPortProvider.java:234)
>       at 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.AbstractPortProvider.getPortObject(AbstractPortProvider.java:163)
>       at 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.AbstractPortProvider.getRepositoryServicePort(AbstractPortProvider.java:79)
>       at 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.RepositoryServiceImpl.getRepositoryInfo(RepositoryServiceImpl.java:97)
>       at 
> org.apache.chemistry.opencmis.client.bindings.impl.RepositoryServiceImpl.getRepositoryInfo(RepositoryServiceImpl.java:69)
>       at 
> org.apache.chemistry.opencmis.client.runtime.SessionImpl.connect(SessionImpl.java:570)
>       at 
> org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.createSession(SessionFactoryImpl.java:61)
>       at com.hpexstream.lal.cmis.test.CMISTest.main(CMISTest.java:48)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)
> Caused by: javax.xml.ws.WebServiceException: Failed to access the WSDL at: 
> http://ggimenez.emea.hpqcorp.net:8080/cmis/RepositoryService?wsdl. It failed 
> with: 
>       Server returned HTTP response code: 401 for URL: 
> http://ggimenez.emea.hpqcorp.net:8080/cmis/RepositoryService?wsdl.
>       at 
> com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:162)
>       at 
> com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:144)
>       at 
> com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:265)
>       at 
> com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:228)
>       at 
> com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:176)
>       at 
> com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
>       at javax.xml.ws.Service.<init>(Service.java:56)
>       at 
> org.apache.chemistry.opencmis.commons.impl.jaxb.RepositoryService.<init>(RepositoryService.java:42)
>       at 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.AbstractPortProvider.initServiceObject(AbstractPortProvider.java:211)
>       ... 12 more
> Caused by: java.io.IOException: Server returned HTTP response code: 401 for 
> URL: http://ggimenez.emea.hpqcorp.net:8080/cmis/RepositoryService?wsdl
>       at 
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1313)
>       at java.net.URL.openStream(URL.java:1010)
>       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)
>       ... 19 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to