Here is the modified example from weblogic: package examples.security.sslclient;
import java.io.File; import java.net.URL; import java.io.IOException; import java.io.InputStream; import java.io.FileInputStream; import java.io.OutputStream; import java.io.PrintStream; import java.util.Hashtable; import java.security.Provider; import javax.naming.NamingException; import javax.naming.Context; import javax.naming.InitialContext; import javax.servlet.ServletOutputStream; //import com.sun.net.ssl.internal.www.protocol.https.*; //import com.sun.net.ssl.*; import weblogic.net.http.*; import weblogic.jndi.Environment; import org.apache.commons.logging.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; public class SSLClientTest { public static void main (String [] argv) throws IOException { try { testURLConnect(); } catch (Exception e) { e.printStackTrace(); System.out.println("----"); } } public class SSLClientTest { public static void main (String [] argv) throws IOException { try { testURLConnect(); } catch (Exception e) { e.printStackTrace(); System.out.println("----"); } } public static void testURLConnect() { try { System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging .impl.SimpleLog"); System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true"); System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire ", " debug"); System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.comm ons. httpclient", "trace"); // set protocol handler java.util.Properties p = System.getProperties(); String s = p.getProperty("java.protocol.handler.pkgs"); if (s == null) { s = "weblogic.net"; } else if (s.indexOf("weblogic.net") == -1) { s += "|weblogic.net"; } p.put("java.protocol.handler.pkgs", s); System.setProperties(p); String url_str = "https://www.dell.com/us/en/gen/default.htm"; URL url = new URL(url_str); System.out.println("Use Weblogic classes"); //------------------------------- // try weblogic apis first weblogic.net.http.HttpsURLConnection sconnection = new weblogic.net.http.HttpsURLConnection(url); sconnection.connect(); System.out.println("WLS api returned: " + sconnection.getResponseCode()); sconnection.disconnect(); System.out.println("Use HTTPClient classes"); //------------------------------- // next try httpclient apis GetMethod get = new GetMethod(url_str); org.apache.commons.httpclient.HttpClient httpclient = new org.apache.comons.httpclient.HttpClient(); int result = httpclient.executeMethod(get); System.out.println( "Returned::" + result ); get.releaseConnection(); } catch (Exception ioe) { ioe.printStackTrace(); } } } The trace when I run the above program is as follows (note that weblogic apis return 200). run_sslclienttest: [java] Use Weblogic classes [java] WLS api returned: 200 [java] Use HTTPClient classes [java] 2003/05/27 19:18:40:451 MST [TRACE] GetMethod - -enter GetMethod(Str ing) [java] 2003/05/27 19:18:40:481 MST [TRACE] HttpClient - -enter HttpClient.e xecuteMethod(HttpMethod) [java] 2003/05/27 19:18:40:481 MST [TRACE] HttpClient - -enter HttpClient.e xecuteMethod(HostConfiguration,HttpMethod) [java] 2003/05/27 19:18:40:511 MST [DEBUG] HttpConnection - -HttpConnection Manager.getConnection: creating connection for www.dell.com:443 via null:-1 us ing protocol: https:443 [java] 2003/05/27 19:18:40:511 MST [DEBUG] HttpConnection - -HttpConnection .setSoTimeout(0) [java] 2003/05/27 19:18:40:511 MST [TRACE] HttpConnection - -enter HttpConn ection.open() [java] 2003/05/27 19:18:40:611 MST [TRACE] HttpMethod - -enter HttpMethodBa se.execute(HttpState, HttpConnection) [java] 2003/05/27 19:18:40:631 MST [TRACE] Authenticator - -enter Authentic ator.authenticate(HttpMethod, HttpState) [java] 2003/05/27 19:18:40:631 MST [TRACE] Authenticator - -enter Authentic ator.authenticate(HttpMethod, HttpState, Header, String) [java] 2003/05/27 19:18:40:631 MST [DEBUG] HttpMethod - -Execute loop try 1 [java] 2003/05/27 19:18:40:631 MST [TRACE] HttpMethod - -enter HttpMethodBa se.processRequest(HttpState, HttpConnection) [java] 2003/05/27 19:18:40:681 MST [TRACE] HttpMethod - -Attempt number 1 t o write request [java] 2003/05/27 19:18:40:681 MST [TRACE] HttpMethod - -enter HttpMethodBa se.writeRequest(HttpState, HttpConnection) [java] 2003/05/27 19:18:40:681 MST [TRACE] HttpMethod - -enter HttpMethodBa se.writeRequestLine(HttpState, HttpConnection) [java] 2003/05/27 19:18:40:681 MST [TRACE] HttpMethod - -enter HttpMethodBa se.generateRequestLine(HttpConnection, String, String, String, String) [java] 2003/05/27 19:18:40:721 MST [TRACE] HttpConnection - -enter HttpConn ection.print(String) [java] 2003/05/27 19:18:40:721 MST [TRACE] HttpConnection - -enter HttpConn ection.write(byte[]) [java] 2003/05/27 19:18:40:721 MST [TRACE] HttpConnection - -enter HttpConn ection.write(byte[], int, int) [java] 2003/05/27 19:18:40:721 MST [DEBUG] wire - ->> "GET /us/en/gen/defau lt.htm HTTP/1.1 [java] " [\r\n] [java] java.io.IOException: Write Channel Closed, possible SSL handshaking or trust failure [java] at com.certicom.tls.record.WriteHandler.write(Unknown Source) [java] at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSen t(Unknown Source) [java] at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert( Unknown Source) [java] at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert( Unknown Source) [java] at com.certicom.tls.record.handshake.HandshakeHandler.handleHand shakeMessage(Unknown Source) [java] at com.certicom.tls.record.handshake.HandshakeHandler.handleHand shakeMessages(Unknown Source) [java] at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source) [java] at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source ) [java] at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplet e(Unknown Source) [java] at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHand shake(Unknown Source) [java] at com.certicom.tls.record.WriteHandler.write(Unknown Source) [java] at org.apache.commons.httpclient.HttpConnection.write(HttpConnec tion.java:753) [java] at org.apache.commons.httpclient.HttpConnection.write(HttpConnec tion.java:714) [java] at org.apache.commons.httpclient.HttpConnection.print(HttpConnec tion.java:831) [java] at org.apache.commons.httpclient.HttpMethodBase.writeRequestLine (HttpMethodBase.java:2080) [java] at org.apache.commons.httpclient.HttpMethodBase.writeRequest(Htt pMethodBase.java:1990) [java] at org.apache.commons.httpclient.HttpMethodBase.processRequest(H ttpMethodBase.java:2282) [java] at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMeth odBase.java:960) [java] at org.apache.commons.httpclient.HttpClient.executeMethod(HttpCl ient.java:578) [java] at org.apache.commons.httpclient.HttpClient.executeMethod(HttpCl ient.java:477) [java] at examples.security.sslclient.SSLClientTest.testURLConnect(SSLC lientTest.java:106) [java] at examples.security.sslclient.SSLClientTest.main(SSLClientTest. java:50) [java] 2003/05/27 19:18:40:801 MST [DEBUG] HttpConnection - -HttpConnection : Exception while writing data <java.io.IOException: Write Channel Closed, possi ble SSL handshaking or trust failure> [java] java.io.IOException: Write Channel Closed, possible SSL handshaking or trust failure [java] at com.certicom.tls.record.WriteHandler.write(Unknown Source) [java] at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSen t(Unknown Source) [java] at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert( Unknown Source) [java] at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert( Unknown Source) [java] at com.certicom.tls.record.handshake.HandshakeHandler.handleHand shakeMessage(Unknown Source) [java] at com.certicom.tls.record.handshake.HandshakeHandler.handleHand shakeMessages(Unknown Source) [java] at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source) [java] at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source ) [java] at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplet e(Unknown Source) [java] at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHand shake(Unknown Source) [java] at com.certicom.tls.record.WriteHandler.write(Unknown Source) [java] at org.apache.commons.httpclient.HttpConnection.write(HttpConnec tion.java:753) [java] at org.apache.commons.httpclient.HttpConnection.write(HttpConnec tion.java:714) [java] at org.apache.commons.httpclient.HttpConnection.print(HttpConnec tion.java:831) [java] at org.apache.commons.httpclient.HttpMethodBase.writeRequestLine (HttpMethodBase.java:2080) [java] at org.apache.commons.httpclient.HttpMethodBase.writeRequest(Htt pMethodBase.java:1990) [java] at org.apache.commons.httpclient.HttpMethodBase.processRequest(H ttpMethodBase.java:2282) [java] at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMeth odBase.java:960) [java] at org.apache.commons.httpclient.HttpClient.executeMethod(HttpCl ient.java:578) [java] at org.apache.commons.httpclient.HttpClient.executeMethod(HttpCl ient.java:477) [java] at examples.security.sslclient.SSLClientTest.testURLConnect(SSLC lientTest.java:106) [java] at examples.security.sslclient.SSLClientTest.main(SSLClientTest. java:50) Thanks. Om. ----- Original Message ----- From: "Adrian Sutton" <[EMAIL PROTECTED]> To: "Commons HttpClient Project" <[EMAIL PROTECTED]> Sent: Tuesday, May 27, 2003 5:20 PM Subject: Re: Httpclient under weblogic 7.0 > Maybe someone will know a particular gotcha with weblogic, but the best > chance for finding the source of the problem always lies in the debug > logs (regular members of the list should know the following mantra by > now): :) > > Could you please supply a wire trace log showing an attempt to use SSL > with your application. Instructions can be found at > http://jakarta.apache.org/commons/httpclient/logging.html There are > some other useful troubleshooting hints in the trouble shooting guide > at http://jakarta.apache.org/commons/httpclient/troubleshooting.html > Finally, a simple test case is always useful, I think I can get my > hands on a copy of weblogic so if it has to use weblogic that might be > okay, try reproducing the problem outside of weblogic if you can though. > > I'd also point you to the HTTPS guide but Oleg hasn't written it yet > <grin>. > > Once we get some debugging information we should be able to work out > what the problem is and help you fix it. > > Regards, > > Adrian Sutton. > > On Wednesday, May 28, 2003, at 10:12 AM, Om Narayan wrote: > > > I am trying to use httpclient with weblogic 7.0. > > It works fine without SSL, but when I try to use https urls it just > > sits there hanging. If I use weblogic's apis, the program works fine > > (btw, I am using the sslclient example that comes with weblogic). > > I am using weblogic's implementation of SSL (not Sun's JSSE). Is there > > any special setup/installation necessary? > > > > Om. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]