I get the above error while trying to consume a web service embedded  in my 
Tomcat webapp.  I'm looking for ideas.  The error is occurring in the Dispatch 
Phase.

I generated the Axis2 server and client code using the code generator in 
Eclipse.

1) Modified web.xml to add servlet and mapping for Axis2.
2) Put axis2.xml in my WEB-INF/conf directory
3) Put services.xml in my WEB-INF/services/MyWebService/META-INF directory.
4) Placed my generated Axis2 server-side code in a package in my source folder.

I have Axis2 itself running successfully within Tomcat.  I see in the Eclipse 
debugger that the Axis2 servlet does indeed get invoked when I call my 
webservice on the endpoint 
http://localhost:8080/mywebapp/services/MyWebService.  Axis2 also seems to be 
reading my axis2.xml file when it starts up and seems to be reading my 
services.xml.   But it just can't find my webservice or its operation, even 
though the Eclipse debugger seems to show that my endpoint path is being parsed 
correctly and the various pieces (contextRoot, servicePath, service) are 
well-formed names as expected.

The Axis2 Architecture Guide states that "The in-built dispatchers dispatch to 
a particular operation depending on various conditions like WS-Addressing 
information, URI information, SOAP action information, etc."    I accepted the 
default dispatch phases for Axis2, but they're not working correctly and I'm 
not sure how to get them to work correctly.

My call stack in the log in the immediate vicinity of the error looks like this:


2009-02-23 
11:36:59,349:http-8080-Processor200:DEBUG:org.apache.axis2.engine.Phase.invoke(Phase.java:314):[MessageContext:
 logID=urn:uuid:02C5592C0DAB916C831235407016297] Invoking Handler 
'HTTPLocationBasedDispatcher' in Phase 'Dispatch'
2009-02-23 
11:36:59,349:http-8080-Processor200:DEBUG:org.apache.axis2.engine.Phase.invoke(Phase.java:328):[MessageContext:
 logID=urn:uuid:02C5592C0DAB916C831235407016297] Checking post-conditions for 
phase "Dispatch"
2009-02-23 
11:36:59,349:http-8080-Processor200:DEBUG:org.apache.axis2.i18n.ProjectResourceBundle.handleGetObject(ProjectResourceBundle.java:70):org.apache.axis2.i18n.resource::handleGetObject(servicenotfoundforepr)
2009-02-23 
11:36:59,349:http-8080-Processor200:ERROR:org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:212):The
 service cannot be found for the endpoint reference (EPR) 
http://127.0.0.1:8080/frontier_axis/services/WSItemUpdate
org.apache.axis2.AxisFault: The service cannot be found for the endpoint 
reference (EPR) http://127.0.0.1:8080/frontier_axis/services/WSItemUpdate
                at 
org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65)
                at org.apache.axis2.engine.Phase.invoke(Phase.java:333)
                at 
org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
                at 
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163)
                at 
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
                at 
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
                at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
                at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
                at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

Thanks for any help!

Chris Davis

Reply via email to