Title: Message
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.

Reply via email to