Hi Axis2 folks,

I tried to deploy a real simple test service and got this exception:

- Servlet.service() for servlet AxisServlet threw exception
org.apache.axis2.AxisFault: null; nested exception is: 
    java.lang.NullPointerException
    at
org.apache.axis2.description.AxisService.getWSDL(AxisService.java:558)
    at
org.apache.axis2.description.AxisService.printWSDL(AxisService.java:533)
[...]
    at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at
org.apache.axis2.description.AxisService2OM.generateOM(AxisService2OM.java:112)
    at
org.apache.axis2.description.AxisService.getWSDL(AxisService.java:553)
    ... 20 more

I was trying to deploy a simple AAR and get Axis2 to generate a WSDL 
for my service. Here's the service.xml:

<serviceGroup>
    <service name="books">
        <description>
            A web service that gives access to a book database.
        </description>
        <parameter 
name="serviceClass">cbare.books.ws.BookWs</parameter>
        <operation name="findBooks">
            <messageReceiver 
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
        </operation>
    </service>
</serviceGroup>

Here's the class that implements it:

package cbare.books.ws;

import java.util.logging.Logger;

public class BookWs {
    Logger log = Logger.getLogger("BookWs");
    
    public String findBooks() {
        log.info("findbooks!");
        return "Hello Axis2";
    }
}

Doubtlessly, I'm making one or more clueless mistakes as this is my 
first attempt at doing anything Axis2-ish. Still, I thought I'd bring
it to the attention of the proper authorities.

Apparently, the source of the NPE is that the field
AxisService.nameSpaceMap is null. Having dug into the source, I have to
nag that it would be a lot easier to understand if there were more and
better comments. (Answer the question "why?" A comment like "Class
AxisService" is not helpful.)

I thought I'd fall back and try to deploy the first example from the
user's guide on a fresh virgin install of Tomcat 5.5.20. That didn't
work either.

Here's what I got when I browsed to
http://localhost:8080/axis2/services/MyService?wsdl:

<error>
  <description>Unable to generate WSDL for this service</description>
  <reason>Either user has not dropped the wsdl into META-INF or
          operations use message receivers other than RPC.</reason>
</error>

BTW, the HappyAxis page reports all OK and the version service works,
apparently because it does use the RPC messageReceiver.

Am I on cheap crack (entirely possible) or does that just not work? If
the answer is "Don't use 1.0, use the version out of SVN", then OK, but
give people some warning so they don't waste their time.

-Chris


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to