-----Original Message-----
From: Muthu Samuthira [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, July 02, 2002 8:36 AM
To: [EMAIL PROTECTED]
Subject: FW: SOAP - AXIS IMPLEMENTATIONJust 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 IMPLEMENTATIONHi 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 nullThe 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\helloworldMY QUESTION IS WHY AXIS NOT ABLE TO LOCATE MY SERVICE?
Thanks
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
- SOAP - AXIS IMPLEMENTATION Muthu Samuthira
- FW: SOAP - AXIS IMPLEMENTATION Muthu Samuthira
- Okazaki-nonTRW, Koji
