Oh, sorry. I got Axis working with JSSE prior to upgrading to JDK 1.4, so I went through a couple of things like modifying java.security, etc. I would recommend stepping into SecurityFactoryFactory in a debugger to see what happens in there and why it returns null.
-----Original Message----- From: Juzer Kothambawala [mailto:[EMAIL PROTECTED]] Sent: Thursday, January 23, 2003 12:59 PM To: '[EMAIL PROTECTED]' Subject: RE: Please help: Error when using https (re-send) Thanks Norris, I am absolutely aware about the genesis of this exception. But may be I did not emphasize correctly as to why this is happening. Since JSSE library is now part JDK1.4 and the fact I have another program that works correctly using the JSSE library, but does not use Axis, I failure the cause may be in the Axis code. But you are absolutely right that it should throw more meaningful exception. Thanks. At 12:13 PM 1/23/2003 -0800, Norris Merritt wrote: >Hi Juzer, Use the source, Luke! :-) The stack trace shows that getSocket is >blowing up on a null pointer exception. Looking at source code for >HttpSender.getSocket, it has to be because the >SocketFactoryFactory.getFactory returned null, and getSocket fails to check >for null and blithely calls factory.create: > > /** > * Creates a socket connection to the SOAP server > * > * @param protocol "http" for standard, "https" for ssl. > * @param host host name > * @param port port to connect to > * @param otherHeaders buffer for storing additional headers that need >to be sent > * @param useFullURL flag to indicate if the complete URL has to be sent > * > * @return the socket > * > * @throws IOException > */ > private Socket getSocket( > String protocol, > String host, int port, StringBuffer otherHeaders, BooleanHolder >useFullURL) > throws Exception { > SocketFactory factory = SocketFactoryFactory.getFactory(protocol, >getOptions()); > return factory.create(host, port, otherHeaders, useFullURL); > } > >Looking at the code in SocketFactoryFactory.java, it must be that the >following line of code which tries to create the factory is failing: > >theFactory = (SecureSocketFactory) > AxisProperties.newInstance(SecureSocketFactory.class, >classes, objects); > >This could be a missing .jar file or some aspect of JSSE configuration that >is wrong (I assume you are trying to use Sun JSSE?) > >Its fair to say that getSocket is broken, it should throw a better exception >than NullPointerException. It should throw some sort of exeception such as >"SocketFactoryFactory returned null!" You can report this bug using >Bugzilla. > >-----Original Message----- >From: Juzer Kothambawala [mailto:[EMAIL PROTECTED]] >Sent: Thursday, January 23, 2003 9:43 AM >To: [EMAIL PROTECTED] >Subject: Please help: Error when using https (re-send) > > >Hi Folks, > >I am not able to successfully execute the samples/userguide/example3 web >service using https. I am using the axis-1_1beta release with JDK1.4 and >tomcat 4.1. The client is configured with correct trust store system >properties i.e. "javax.net.ssl.trustStore" and >"javax.net.ssl.trustStorePassword".The web service is invoked as follows: >java samples.userguide.example3.Client >-lhttps://jsk-dev/axis/services/MyService "Hello World" > >The following exception is thrown at the client end: > >AxisFault >faultCode: >{http://schemas.xmlsoap.org/soap/envelope/}Server.userException >faultSubcode: >faultString: java.lang.NullPointerException >faultActor: null >faultNode: null >faultDetail: >stackTrace: java.lang.NullPointerException >at >org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:172) >at >org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:115) >at >org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java : >71) > >at >org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156) >at >org.apache.axis.SimpleChain.invoke(SimpleChain.java:126) >at >org.apache.axis.client.AxisClient.invoke(AxisClient.java:182) >at >org.apache.axis.client.Call.invokeEngine(Call.java:2376) >at org.apache.axis.client.Call.invoke(Call.java:2365) >at org.apache.axis.client.Call.invoke(Call.java:2062) >at org.apache.axis.client.Call.invoke(Call.java:1986) >at org.apache.axis.client.Call.invoke(Call.java:1509) >at >samples.userguide.example3.Client.main(Client.java:107) > >java.lang.NullPointerException >at >org.apache.axis.AxisFault.makeFault(AxisFault.java:127) >at >org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:132) >at >org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java : >71) > >at >org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156) >at >org.apache.axis.SimpleChain.invoke(SimpleChain.java:126) >at >org.apache.axis.client.AxisClient.invoke(AxisClient.java:182) >at >org.apache.axis.client.Call.invokeEngine(Call.java:2376) >at org.apache.axis.client.Call.invoke(Call.java:2365) >at org.apache.axis.client.Call.invoke(Call.java:2062) >at org.apache.axis.client.Call.invoke(Call.java:1986) >at org.apache.axis.client.Call.invoke(Call.java:1509) >at >samples.userguide.example3.Client.main(Client.java:107) >Caused by: java.lang.NullPointerException >at >org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:172) >at >org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:115) >... 10 more > >It looks like it is failing much before the SSL handshake. I would greatly >appreciate if somebody can point what I am doing wrong or is there a >problem with the axis code? > >Thanks. > >Juzer Kothambawala >Global Commerce Technology Group >AIM: juzersk >Phone: (408) 525-0814 >Email: [EMAIL PROTECTED] Juzer Kothambawala Global Commerce Technology Group AIM: juzersk Phone: (408) 525-0814 Email: [EMAIL PROTECTED]
