After resorting to reading the documentation(!), I found out why we were getting the "The AXIS engine could not find a target service to invoke! targetService is null" error message. I'll just put an excerpt from the doc here:
## start of doc ## How does Axis figure out which deployed service to call? Axis has a very flexible dispatch mechanism, with three built-in options, and the ability to customize your own. Dispatch to a service in Axis really means setting the service field in the MessageContext as it flows through the various Handlers in your configuration. Once the service is set, the engine will be able to call it at the appropriate time. So who does the setting? Any Handler who wants to. The default dispatch mechanism for Axis is by URL, so that if you access http://myhost/axis/services/WeatherReport, you will get the "WeatherReport" service. This mechanism works because the HTTP transport in Axis has the URLMapper (org.apache.axis.handlers.http.URLMapper) Handler deployed on the request chain. The URLMapper takes the incoming URL, extracts the last part of it as the service name, and attempts to look up a service by that name in the current EngineConfiguration. Similarly you could deploy the HTTPActionHandler to dispatch via the SOAPAction HTTP header. You can also feel free to set the service in your own custom way - for instance, if you have a transport which funnels all messages through a single service, you can just set the service in the MessageContext before your transport calls the AxisEngine. Or if you dispatch based on the contents of a SOAP header, or the time of day, you could write a Handler which did that. If no Handler has set the service by the time someone needs to deserialize the SOAP message, we will attempt to look it up using the namespace of the first body element. So for instance: <SOAP:Body> <ns:MyMethod xmlns:ns="http://xml.apache.org/axis/Weather"/> </SOAP:Body> This message would look up "http://xml.apache.org/axis/Weather" in the namespace mapping list to see if there was an associated service. ## end of doc ## After reading this I changed the url I was calling to http://myhost/myapp/services/MyService and all was fine. The service names can be found at http://myhost/myapp/servlet/AxisServlet. Dustin Williams -----Original Message----- From: Dustin D. Williams [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 24, 2002 10:08 AM To: [EMAIL PROTECTED] Subject: RE: problem with samples/userguide/example5 I am having the same problem, too. I seem to get this error no matter what service I try, though. Dustin Williams -----Original Message----- From: Li, Peng [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 24, 2002 9:34 AM To: '[EMAIL PROTECTED]' Subject: problem with samples/userguide/example5 Hi, i iust use jdk1.3.1 and axis-beta3 and try to run example5 in 2 steps, which was written in the Axis User's Guide Beta 2 Version 1) java org.apache.axis.client.AdminClient -llocal:///AdminService deploy.wsdd 2) java samples.userguide.example5.Client -llocal:// but it comes with the error message: - Mapping Exception to AxisFault AxisFault faultCode: {http://xml.apache.org/axis/}Server.NoService faultString: The AXIS engine could not find a target service to invoke! target Service is 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! target Service is faultActor: null faultDetail: The AXIS engine could not find a target service to invoke! targetService is at org.apache.axis.server.AxisServer.invoke(AxisServer.java:303) at org.apache.axis.transport.local.LocalSender.invoke(LocalSender.java:1 58) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg y.java:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:183) at org.apache.axis.client.Call.invokeEngine(Call.java:2027) at org.apache.axis.client.Call.invoke(Call.java:2016) at org.apache.axis.client.Call.invoke(Call.java:1786) at org.apache.axis.client.Call.invoke(Call.java:1711) at org.apache.axis.client.Call.invoke(Call.java:1251) at samples.userguide.example5.Client.main(Client.java:97) The AXIS engine could not find a target service to invoke! targetService is at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder. java:135) at org.apache.axis.encoding.DeserializationContextImpl.endElement(Deseri alizationContextImpl.java:904) at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403) at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLVa lidator.java:1550) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.disp atch(XMLDocumentScanner.java:1149) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS canner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098) at javax.xml.parsers.SAXParser.parse(SAXParser.java:393) at org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializa tionContextImpl.java:213) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:457) at org.apache.axis.Message.getSOAPEnvelope(Message.java:362) at org.apache.axis.client.Call.invokeEngine(Call.java:2046) at org.apache.axis.client.Call.invoke(Call.java:2016) at org.apache.axis.client.Call.invoke(Call.java:1786) at org.apache.axis.client.Call.invoke(Call.java:1711) at org.apache.axis.client.Call.invoke(Call.java:1251) at samples.userguide.example5.Client.main(Client.java:97) Error : The AXIS engine could not find a target service to invoke! targetServic e is is there any change between Beta 2 and Beta 3 in relating to this example? thanks in advance Peng Li