Hi,

I'm completely stumped on this problem.  Short version: AxisServlet lists
my service and its methods, but I can't generate WSDL or use the methods
(via GET requests, anyway.)

Long version: I've taken Axis and tried to retrofit it into an existing
application with several servlets.  I copied things into my web.xml,
created a server-config.wsdd that lists my services, and copied over the
libraries.

HappyAxis is happy.  I'm running Tomcat 5.0.24, Java 1.4.2, Axis 1.0/1.1
(tried both) on Debian Linux.

If I load http://localhost:8080/mad/AxisServlet I get:

---
And now... Some Services

    * CPI (wsdl)
          o getString
          o doGet
          o Hello
---

But if I click the wsdl link, it says:
---
AXIS error
Could not generate WSDL!
---

Similarly, if I try http://localhost:8080/mad/services/CPI?method=Hello
It says (Axis 1.0, axis 1.1 is similar but less verbose):
---
AXIS error

Sorry, something seems to have gone wrong... here are the details:
Fault - The AXIS engine could not find a target service to invoke!
targetService is null

AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.NoService
 faultString: The AXIS engine could not find a target service to invoke!
targetService is null
 faultActor: null
 faultDetail:
        stackTrace: AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.NoService
 faultString: The AXIS engine could not find a target service to invoke!
targetService is null
 faultActor: null
 faultDetail:

The AXIS engine could not find a target service to invoke!  targetService
is null
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:307)
        at
org.apache.axis.transport.http.AxisServlet.invokeEndpointFromGet(AxisServlet.java:476
)
        at
org.apache.axis.transport.http.AxisServlet.processMethodRequest(AxisServlet.java:410)
        at 
org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:289)

[..more that I can deliver if it helps..]
---

My server-config.wsdd contains:
---
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/";
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
        <service name="CPI" provider="java:RPC">
                <parameter name="className" value="<the classname is here.  
It must
be correct, since Axis is finding the methods.>"/>
                <parameter name="allowedMethods" value="*"/>
                <parameter name="activateOnStartup" value="true" />
        </service>

</deployment>
---

I can't figure out how Axis can find and list the service (and identify its
methods) but not be able to generate wsdl.  I'm new to SOAP/Axis, but not
Java or Servlets.

I imagine I did something moronic trying to fit Axis into an existing app,
but I can't figure out what it is.  Several other people seem to have had
this problem without resolution.

Any help is appreciated.

Cheers,
        Rob

-- 
: Rob Ewaschuk      : [EMAIL PROTECTED] :
: www.rotuaari.net  : rob.infinitepigeons.org :
: U of Waterloo - CS/C&O (4B) : uwstudent.org :
: U of Oulu, Finland - MediaTeam / Rotuaari   :

Reply via email to