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
***********************************************************


Reply via email to