You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by "Vignesh M.P.N." <ma...@iit.edu> on 2006/05/10 21:15:57 UTC

no reference in callback property

Hi all
 
I am new to web services and security. This is my academic project and your
help is highly appreciated.
 
I am using Tomcat 5.5, Axis 1.4 and WSS4J 1.5. I am trying to implement XML
Encryption. My client doesnot use wss4j Axis handlers "WSDoAllReceiver" and
"WSDoAllSender" and it is not deployed using deployment descriptors. I
implemented XML encryption using WSSecEncrypt classes. So I create the
encrypted SOAP request myself. I created the keys using the Java keytool and
self certified them. My keystore is placed at the client folder.
 
My server is a simple Hello world service which is deployed using the
deployment descriptor.
 
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <service name="HelloWorldService" provider="java:RPC">
  <requestFlow> 
   <handler type="soapmonitor"/> 
   <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
    <parameter name="action" value="Encrypt" />
    <parameter name="passwordCallbackClass" value="PWCallback" />
    <parameter name="decryptionPropFile" value="crypto.properties" />
   </handler>
  </requestFlow> 
  <responseFlow> 
   <handler type="soapmonitor"/> 
  </responseFlow> 
  <parameter name="className" value="HelloWorldService"/>
  <parameter name="allowedMethods" value="*"/>
  <parameter name="scope" value="application"/>
 </service>
</deployment>
 
My PWCallback.java is same as that of org.apache.ws.axis.oasis.PWCallback, I
just changed the password as that of the one in my keystore. I compiled the
PWCallback.java and placed the class files in
TOMCAT_HOME\webapps\axis\WEB-INF\classes folder.
 
When I run my client I am getting this exception:
 
AxisFault
 faultCode: {http://www.w3.org/2003/05/soap-envelope}Server.generalException
 faultSubcode:
 faultString: WSHandler: no reference in callback property; nested exception
is:
 
        org.apache.ws.security.WSSecurityException: WSHandler: no reference
in c
allback property
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace:WSHandler: no reference in
callb
ack property; nested exception is:
        org.apache.ws.security.WSSecurityException: WSHandler: no reference
in c
allback property
        at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
.java:222)
        at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.
java:129)
.....
 
 
What am I missing here? I understand the problem is with setting up the
password callback class. How do I deploy it? Where do I deploy it?
 
Please help.
 
Thanks
Vignesh.