MathJax

SyntaxHighlighter

Highlight

Custom CSS

Wednesday, April 12, 2006

Apache Axis admin client gotchas

I noticed today that the Axis admin client utility (org.apache.axis.client.AdminClient) can be tricky when you want to deploy a web service with a WSDD. The following things must be true before the admin client will actually do what you want.

First of all, when you use the WSDL2Java tool to generate your deploy.wsdd and undeploy.wsdd files, the tool just places them in your src tree. You can run the admin client and feed it deploy.wsdd, and it will happily run, probably saying OK, and deploy nothing. When you check Axis's list, you'll get a fault saying so-and-so web service you tried to deploy couldn't be found.

That's because the admin client expects your .class files to be in the class path! Obviously this isn't the case if you are running the client from your source directory. Copy the deploy.wsdd file to your build directory and run the client again. It still doesn't work.

Excellent.

However, try copying everything in your build directory into the WEB-INF/classes where Axis is deployed, then run the client from that directory. Everything works! Don't ask me why.
Post a Comment