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
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