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]