Hi Axis Users, I am currently using axis in a tomcat and jsp environment for the clients. When I use the client to invoke the web -service without my custom handlers, it works okay, but as soon as I include the handlers in the deploy.wsdd file for that service, the client creates the request using that handler but gets the following response:
RESPONSE********************************** HTTP/1.1 500 Internal Server Error Content-Type: text/xml; charset=utf-8 Connection: close Date: Thu, 25 Sep 2003 10:34:45 GMT Server: Apache Tomcat/4.0.1 (HTTP/1.1 Connector) <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <soapenv:Fault> <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Server.NoService</faultcode> <faultstring>The AXIS engine could not find a target service to invoke! targetService is null</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> All the handler class files are in webapp/web-inf/classes directory. i am also including the deploy.wsdd file with the the handler and without the handler. deploy.wsdd file without handler -------------------------------- -------------------------------- <?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"> <globalConfiguration> <parameter name="adminPassword" value="admin"/> <parameter name="attachments.Directory" value="D:\Apache\jakarta-tomcat-4.0.1\webapps\axis\WEB-INF\attachments"/> <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/> <parameter name="sendXsiTypes" value="true"/> <parameter name="sendMultiRefs" value="true"/> <parameter name="sendXMLDeclaration" value="true"/> <parameter name="axis.sendMinimizedElements" value="true"/> <requestFlow> <handler type="java:org.apache.axis.handlers.JWSHandler"> <parameter name="scope" value="session"/> </handler> <handler type="java:org.apache.axis.handlers.JWSHandler"> <parameter name="scope" value="request"/> <parameter name="extension" value=".jwr"/> </handler> </requestFlow> </globalConfiguration> <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/> <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/> <requestFlow name="checks"> <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> <handler type="java:org.apache.axis.handlers.SimpleAuthorizationHandler"/> </requestFlow> <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> <service name="urn:cominfo" provider="java:RPC"> <parameter name="allowedRoles" value="user3"/> <parameter name="allowedMethods" value="getInfo"/> <parameter name="className" value="samples.stock.ComInfoService"/> </service> <service name="AdminService" provider="java:MSG"> <parameter name="allowedMethods" value="AdminService"/> <parameter name="enableRemoteAdmin" value="false"/> <parameter name="className" value="org.apache.axis.utils.Admin"/> <namespace>http://xml.apache.org/axis/wsdd/</namespace> </service> <service name="Version" provider="java:RPC"> <parameter name="allowedMethods" value="getVersion"/> <parameter name="className" value="org.apache.axis.Version"/> </service> <service name="urn:xmltoday-delayed-quotes" provider="java:RPC"> <requestFlow name="checks"> <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> <handler type="java:org.apache.axis.handlers.SimpleAuthorizationHandler"/> </requestFlow> <parameter name="allowedRoles" value="user1,user2"/> <parameter name="allowedMethods" value="getQuote test"/> <parameter name="wsdlServicePort" value="GetQuote"/> <parameter name="className" value="samples.stock.StockQuoteService"/> </service> <service name="MessageSender" provider="java:RPC"> <parameter name="methodName" value="sendMessage"/> <parameter name="scope" value="Request"/> <parameter name="className" value="aspnet.messaging.MessageSender"/> </service> <service name="LDAPmanager" provider="java:RPC"> <parameter name="methodName" value="createLDAPuser createLDAPgroup addUserToGroup deleteLDAPuser deleteLDAPgroup getLDAPuser"/> <parameter name="scope" value="Request"/> <parameter name="className" value="aspnet.ldap.LDAPmanager"/> </service> <beanMapping qname="myNS:LDAPuser" xmlns:myNS="urn:LDAPmanager" languageSpecificType="java:aspnet.ldap.types.LDAPuser"/> <beanMapping qname="myNS:LDAPgroup" xmlns:myNS="urn:LDAPmanager" languageSpecificType="java:aspnet.ldap.types.LDAPgroup"/> <transport name="http"> <requestFlow> <handler type="URLMapper"/> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> </requestFlow> </transport> <transport name="local"> <responseFlow> <handler type="LocalResponder"/> </responseFlow> </transport> </deployment> deploy.wsdd file with custom handler -------------------------------- -------------------------------- <?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"> <globalConfiguration> <parameter name="adminPassword" value="admin"/> <parameter name="attachments.Directory" value="D:\Apache\jakarta-tomcat-4.0.1\webapps\axis\WEB-INF\attachments"/> <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/> <parameter name="sendXsiTypes" value="true"/> <parameter name="sendMultiRefs" value="true"/> <parameter name="sendXMLDeclaration" value="true"/> <parameter name="axis.sendMinimizedElements" value="true"/> <requestFlow> <handler type="java:org.apache.axis.handlers.JWSHandler"> <parameter name="scope" value="session"/> </handler> <handler type="java:org.apache.axis.handlers.JWSHandler"> <parameter name="scope" value="request"/> <parameter name="extension" value=".jwr"/> </handler> </requestFlow> </globalConfiguration> <!--Service request handler --> <handler name="Custom" type ="java:uos.custom.myCustomHandler"> </handler> <!--Service response handler --> <handler name="Decustom" type ="java:uos.custom.myCustomDeHandler"> </handler> <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/> <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/> <requestFlow name="checks"> <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> <handler type="java:org.apache.axis.handlers.SimpleAuthorizationHandler"/> </requestFlow> <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> <service name="urn:cominfo" provider="java:RPC"> <parameter name="allowedRoles" value="user3"/> <parameter name="allowedMethods" value="getInfo"/> <parameter name="className" value="samples.stock.ComInfoService"/> </service> <service name="AdminService" provider="java:MSG"> <parameter name="allowedMethods" value="AdminService"/> <parameter name="enableRemoteAdmin" value="false"/> <parameter name="className" value="org.apache.axis.utils.Admin"/> <namespace>http://xml.apache.org/axis/wsdd/</namespace> </service> <service name="Version" provider="java:RPC"> <parameter name="allowedMethods" value="getVersion"/> <parameter name="className" value="org.apache.axis.Version"/> </service> <service name="urn:xmltoday-delayed-quotes" provider="java:RPC"> <requestFlow name="checks"> <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> <handler type="java:org.apache.axis.handlers.SimpleAuthorizationHandler"/> </requestFlow> <parameter name="allowedRoles" value="user1,user2"/> <parameter name="allowedMethods" value="getQuote test"/> <parameter name="wsdlServicePort" value="GetQuote"/> <parameter name="className" value="samples.stock.StockQuoteService"/> </service> <service name="MessageSender" provider="java:RPC"> <requestFlow> <handler type="DeCustom"/> </requestFlow> <responseFlow> <handler type="Custom"/> </responseFlow> <parameter name="methodName" value="sendMessage"/> <parameter name="scope" value="Request"/> <parameter name="className" value="aspnet.messaging.MessageSender"/> </service> <service name="LDAPmanager" provider="java:RPC"> <requestFlow> <handler type="DeCustom"/> </requestFlow> <responseFlow> <handler type="Custom"/> </responseFlow> <parameter name="methodName" value="createLDAPuser createLDAPgroup addUserToGroup deleteLDAPuser deleteLDAPgroup getLDAPuser"/> <parameter name="scope" value="Request"/> <parameter name="className" value="aspnet.ldap.LDAPmanager"/> </service> <beanMapping qname="myNS:LDAPuser" xmlns:myNS="urn:LDAPmanager" languageSpecificType="java:aspnet.ldap.types.LDAPuser"/> <beanMapping qname="myNS:LDAPgroup" xmlns:myNS="urn:LDAPmanager" languageSpecificType="java:aspnet.ldap.types.LDAPgroup"/> <transport name="http"> <requestFlow> <handler type="URLMapper"/> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> </requestFlow> </transport> <transport name="local"> <responseFlow> <handler type="LocalResponder"/> </responseFlow> </transport> </deployment> Any help or insight into the problem would be very much appreciated. Cheers Sunny -- *********************************************************** Sunil Iyengar, Research Fellow, Networks Group, Centre For Communication And Systems Research(CCSR), School of Electronics, Computing & Mathematics, University Of Surrey, Guildford GU2 7XH, Surrey, England, United Kingdom. Office: +44 (0)1483 686008 ***********************************************************