DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15288>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15288

NPE in HTTPSender.getSocket() (when using "https" protocol)

           Summary: NPE in HTTPSender.getSocket() (when using "https"
                    protocol)
           Product: Axis
           Version: 1.1beta
          Platform: Sun
        OS/Version: Solaris
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Basic Architecture
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


I have seen this problem on both Windows 98 and Solaris.

I'm doing UDDI registry access/publish operations using UDDI4J.  I am  using 
AXIS as the SOAP transport.  Since I'm doing publish operations (using https), 
my UDDI client program uses JSSE as the security provider (com.sun.net.ssl.*).  
When I upgraded from AXIS 1.0 (which was working fine) to AXIS 1.1Beta, I got 
the following NullPointerException (taken from the UDDI4J debug output):


TransportFactory: Using transport name:org.uddi4j.transport.ApacheAxisTransport

Request message:
<get_authToken cred="myCred" generic="2.0" userID="myUserid" xmlns ="urn:uddi-
org:api_v2"/>

Response message:
<ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/";>
   <faultcode>soapenv:Server.userException</faultcode>
   <faultstring>java.lang.NullPointerException</faultstring>
   <detail>
    <ns1:stackTrace 
xmlns:ns1="http://xml.apache.org/axis/";>java.lang.NullPointerException
     at
org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:157)
     at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114)
     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:1490)
     at org.uddi4j.transport.ApacheAxisTransport.send(Unknown Source)
     at org.uddi4j.transport.TransportBase.send(Unknown Source)
     at org.uddi4j.client.UDDIProxy.send(Unknown Source)
     at org.uddi4j.client.UDDIProxy.get_authToken(Unknown Source)
     .
     .
     .


In looking at the AXIS source code, I see there has been changes made to the 
o.a.a.components.net package.  When I did some minimal debugging to see what 
was going on in SocketFactoryFactory.getFactory(), I found that it's returning 
NULL (which causes the exception in HTTPSender.getSocket) because 
AxisProperties.newInstance(SecureSocketFactory.class...) returns NULL.  It 
looks like the "discovery" mechanism which the o.a.a.AxisProperties class uses 
is failing to discover the secure socket factory.

I have written a simple test case to reproduce this problem, although I found 
nowhere on this Bugzilla "Enter Bug" form to attach it.  So, I will email the 
axis-dev list with an attachment containing the test case.

Reply via email to