Here are a few very basic things that I do upfront to diagnose whether or not an Axis service is correctly deployed:

1. Is Apache alive? http://hostname
2. Is Tomcat alive? http://hostname:8080
3. Is Axis alive? http://hostname:8080/axis
4. Is Axis happy? http://hostname:8080/axis/happyaxis.jsp
5. Get Axis version http://hostname:8080/axis/services/Version?method=getVersion
6. List all Axis services http://hostname:8080/axis/servlet/AxisServlet
7. Is my service deployed and active? http://hostname:8080/axis/services/myservice
8. Get WSDL for my service http://hostname:8080/axis/services/myservice?wsdl

You should be aware that there is a bug in Axis (1.3 at least) AdminClient where it can fail to deploy a service yet does not indicate any error. So you might think that the service has been deployed but in fact it hasn't. I typically grep for my service name in server-config.wsdd and if not there then I assume that AdminClient failed and I check the Tomcat logs which usually contain an exception telling me what went wrong.


From: "Sarel Botha" <[EMAIL PROTECTED]>
Reply-To: [email protected]
To: <[email protected]>
Subject: Debugging Service
Date: Wed, 18 Jan 2006 08:19:21 -0500

Hi

I'm trying to both implement a service and call it with AXIS. The client
code executes and makes the SOAP call. I can see it with tcpmon, but the
code on the server-side is never executed. I've attached pretty much
everything I have.

I have a class that implements these methods:
    public void login(com.dv.store.bean.remote.SessionId sessionId,
String string, String string0) throws java.rmi.RemoteException;
    public void logout(com.dv.store.bean.remote.SessionId _sessionId)
throws java.rmi.RemoteException;

Then, this command is used to generate the wsdl:
java org.apache.axis.wsdl.Java2WSDL -o autoSource\dvstore.wsdl -l
http://localhost:8084/axis/services/DVStoreWebService -n urn:dvstore
-pcom.dv.store.wsauto urn:dvstore com.dv.store.ws.WSEngine

Then this is used to generate the client code:
java org.apache.axis.wsdl.WSDL2Java -o autoSource/ -d Application -s
autosource/dvstore.wsdl

The compiled client classes are also copied to the webapp's classes dir.

This is used to deploy the service:
java org.apache.axis.client.AdminClient -p8084
autosource\dvstore\deploy.wsdd

The client code looks like this:
            url = new
URL("http://localhost:8089/axis/services/DVStoreWebService";);
            WSEngine wsEngine = new
WSEngineServiceLocator().getDVStoreWebService(url);

            byte[] key = { 5, 5 };
            SessionId sessionId = new SessionId(key);

            wsEngine.login(sessionId, "dvstore", "dvstore");

I've tried to get axis to log some debug info, but have been
unsuccessful. I took the axis.jar and changed the first line to the
following and then placed the file in the WEB-INF/classes dir. It
created an axis.log file but it remains empty.
log4j.rootCategory=DEBUG, CONSOLE, LOGFILE

Any other ideas?

Thanks,

Sarel Botha


_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

Reply via email to