Title: FW: SOAP - AXIS IMPLEMENTATION
Hi Muthu,
 
I can see a few things wrong w/ your setup, which are contributing to your problems.
 
First, have you even successfully deployed your service using the Axis AdminClient?  I say this because the .wsdd file you pasted into your msg has invalid XML (missing "<" in front of both instances of the opening parameter tags).  After you fix that, make sure to run the Axis AdminClient java app (as per the instructions in the Axis User's Guide) to process the .wsdd file to deploy your service.
 
If your .wsdd file has broken XML such as what you had, then the Axis server's main configuration file (..\axis\WEB-INF\server-config.wsdd) will contain incomplete information about your service.  In the worst case scenario, the Axis AdminClient will bomb during your deployment attempt, and the server-config.wsdd file will not be updated by AdminClient at all, and so will contain absolutely no reference to your service.
 
Btw, everyone has their own way of doing things, but I keep my .wsdd files (for deployment and undeployment) for each of my services in its own directory in my development tree, not in Tomcat's bin directory.
 
Second, you've got Axis installed under D:\jakarta-tomcat-4.0.4\server\webapps.  Maybe you've got Tomcat configured to have the webapps directory under the server directory, but the usual convention that I've always followed is for Axis to be situated as: D:\jakarta-tomcat-4.0.4\webapps\axis (that is, webapps is directly under Tomcat's root directory, not under the server subdirectory).
 
Third, unless you're going to jar all the class files that are required by your service and put the the jarfile in the ..\axis\WEB-INF\lib directory, you will have to place your service's class file(s) in the axis\WEB-INF\classes directory (rather than something structured like axis\WEB-INF\classes\MyFooService).  Otherwise, your service won't be found by a client.
 
Related to this last point, if your service is a lone class file instead of a jarfile, then the .wsdd file you use for deployment should not refer to the service's classname by full classpath; instead you should just specify your class.  Otherwise, AdminClient will bomb during your attempt to deploy the service.  I learned this the hard way.
 
That is, don't do this:
<parameter name="className" value="samples.helloworld.TestSoapService"/>
 
Instead, do this:
<parameter name="className" value="TestSoapService"/>
 
Cheers,
/Koji
[EMAIL PROTECTED]
 
-----Original Message-----
From: Muthu Samuthira [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, July 02, 2002 8:36 AM
To: [EMAIL PROTECTED]
Subject: FW: SOAP - AXIS IMPLEMENTATION

Just forwarding the message again. I am still looking for an answer for this.

ThankYou
Muthu.


 -----Original Message-----
From:   Muthu Samuthira 
Sent:   Monday, July 01, 2002 4:26 PM
To:     '[EMAIL PROTECTED]'
Subject:        SOAP - AXIS IMPLEMENTATION

Hi guys,
      Below is the response I get when I make a service invocation. I use axis as my webservice engine.I just created a  HelloWorldService which returns a simple message.

Generated fault:
 Fault Code = ns1:Server.NoService
 Fault String = The AXIS engine could not find a target service to invoke!  targ
etService is null

The contents of the HelloWorldDescriptor.wsdd being

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
        <service name="helloworld" provider="java:RPC">
                parameter name="className" value="samples.helloworld.TestSoapService"/>
                parameter name="allowedMethods" value="*"/>
        </service>
</deployment>
I have this file under D:\jakarta-tomcat-4.0.4\bin and I have the client and service code under D:\jakarta-tomcat-4.0.4\server\webapps\axis\WEB-INF\classes\samples\helloworld

MY QUESTION IS WHY AXIS NOT ABLE TO LOCATE MY SERVICE?
Thanks

Reply via email to