|
Hi, I'm trying work through the wss4j examples . I have implemented the following in my client_deploy.wsdd <requestFlow> <handler type="java:org.apache.ws.axis.security.WSDoAllSender" > <parameter name="action" value="UsernameToken Encrypt"/> <parameter name="user" value="werner"/> <parameter name="passwordCallbackClass" value="org.apache.ws.axis.oasis.PWCallback"/> <parameter name="passwordType" value="PasswordText" /> <parameter name="addUTElement" value="Nonce Created" /> <parameter name="encryptionPropFile" value="crypto.properties" /> <parameter name="encryptionKeyIdentifier" value="X509KeyIdentifier" /> <parameter name="encryptionUser" value="16c73ab6-b892-458f-abf5-2f875f74882e" /> <parameter name="encryptionParts" value="{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}UsernameToken" /> </handler> </requestFlow> and the corresponding <requestFlow> <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver"> <parameter name="passwordCallbackClass" value="org.apache.ws.axis.oasis.PWCallback"/> <parameter name="action" value="UsernameToken Encrypt"/> <parameter name="decryptionPropFile" value="crypto.properties" /> </handler> </requestFlow> in my service deploy.wsdd. When I tried to invoke the service I got: Exception in thread "main" AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException faultSubcode: faultString: WSDoAllReceiver: security processing failed; nested exception is: org.apache.ws.security.WSSecurityException: General security error (WSSecurityEngine: Callback supplied no password for: 16c73ab6-b892-458f-abf5-2f875f74882e) faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}hostname:mws13 Looking at the crypto.properties file, I assumed the password for 16c73ab6-b892-458f-abf5-2f875f74882e is "security", so I ammended my PWCallback class to include this. if ("wss4j".equals(pc.getIdentifer())) { pc.setPassword("security"); } else if ("16c73ab6-b892-458f-abf5-2f875f74882e".equals(pc.getIdentifer())) { pc.setPassword("security"); } However I still get the same error returned. If anyone can point in the right direction here I'd be grateful. Thanks. Richard. |
