[
http://jira.codehaus.org/browse/XFIRE-1125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jorg Heymans updated XFIRE-1125:
--------------------------------
Attachment: patch.tar
This patch forces Resolver and ObjectServiceFactory to use commons-http instead
of url.openStream(). This makes it possible to register custom protocol
handlers for commons-http as described in the documentation
(http://xfire.codehaus.org/HTTP+Transport)
e.g.
[code]
Protocol authhttps = new Protocol("https", new
AuthSSLProtocolSocketFactory(new URL(
"file:/c:/ClientIdentityStore.jks"), "mykeypass", new
URL("file:/c:/TrustServer.jks"), "mykeypass"), 22222);
Protocol.registerProtocol("https", authhttps);
[/code]
> XFireClientFactoryBean should use commons-httpclient for SSL requests
> ---------------------------------------------------------------------
>
> Key: XFIRE-1125
> URL: http://jira.codehaus.org/browse/XFIRE-1125
> Project: XFire
> Issue Type: Bug
> Components: Spring
> Affects Versions: 1.2.6
> Environment: spring 2.5.4, tomcat 6.0.10, java 1.6, windows xp
> Reporter: Ilya Boyandin
> Assignee: Dan Diephouse
> Attachments: patch.tar
>
>
> XFireClientFactoryBean attempts to use the buggy URL class for establishing
> connection over SSL even when commons-https is available. This contradicts
> the documentation (http://xfire.codehaus.org/HTTP+Transport).
> I get the following exception:
> javax.net.ssl.SSLHandshakeException: Remote host closed connection during
> handshake
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:808)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1096)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1107)
> at
> sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:405)
> at
> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
> at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:977)
> at
> sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
> at java.net.URL.openStream(URL.java:1009)
> at org.codehaus.xfire.util.Resolver.tryFileSystem(Resolver.java:83)
> at org.codehaus.xfire.util.Resolver.<init>(Resolver.java:47)
> at org.codehaus.xfire.util.Resolver.<init>(Resolver.java:35)
> at
> org.codehaus.xfire.spring.remoting.XFireClientFactoryBean.makeClient(XFireClientFactoryBean.java:496)
> at
> org.codehaus.xfire.spring.remoting.XFireClientFactoryBean.createClient(XFireClientFactoryBean.java:412)
> at
> org.codehaus.xfire.spring.remoting.XFireClientFactoryBean.access$100(XFireClientFactoryBean.java:54)
> at
> org.codehaus.xfire.spring.remoting.XFireClientFactoryBean$ProxyInterceptor.getClient(XFireClientFactoryBean.java:640)
> at
> org.codehaus.xfire.spring.remoting.XFireClientFactoryBean$ProxyInterceptor.invoke(XFireClientFactoryBean.java:601)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
> at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
> ... 34 more
> Caused by: java.io.EOFException: SSL peer shut down incorrectly
> at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:333)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)
> ... 52 more
> With the following client code:
> private XFireClientFactoryBean authWebService;
> ...
> ProtocolSocketFactory easy = new EasySSLProtocolSocketFactory();
> Protocol protocol = new Protocol("https", easy, 8443);
> Protocol.registerProtocol("https", protocol);
> RemoteAuthService auth = (RemoteAuthService)authWebService.getObject();
> auth.authenticateBySsoAuthCode("test");
> The commons-httpclient and commons-codec jars are in the classpath.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email