CXF With UsernameToken (WS-Security Policy)

CXF With UsernameToken (WS-Security Policy) explains about step by step details of securing a Web service using UsernameToken Profile

WS-SecurityPolicy  is the binding and/or operation used in the wsdl, a WS-Policy fragment that describes the basic security requirements for interacting consumer.

Here we are implementing security policy by CXF UsernameToken


CXF gives two different techniques for adding UsernameToken

1) WS-SecurityPolicy -> In WS-SecurityPolicy, we are applying on WSDL 
level, Here we are defining WS-SecurityPolicy elements on WSDL and 
implement the security mechanism. This could be the best approach 
because client can able to understand which security mechanism is 
implemented and client can able to proceed accordingly.

2) Using CXF interceptors -> Here we are manually adding security 
mechanism to CXF interceptors,the problem on this approach client 
cant able to understand which security mechanism is implemented 
because it is not available on wsdl

If you are interested to add WS-Security using CXF interceptors, you can use following article

CXF With UsernameToken (Interceptor)

Required Libraries

You need to download

  1. JDK 6
  2. Eclipse 3.7
  3. CXF-2.7.3
  4. Tomcat 7

Following jar must be in ClassPath

  1. commons-logging-1.1.1.jar
  2. cxf-2.7.3.jar
  3. httpasyncclient-4.0-beta3.jar
  4. httpclient-4.2.1.jar
  5. httpcore-4.2.2.jar
  6. httpcore-nio-4.2.2.jar
  7. jaxb-api-2.2.6.jar
  8. jaxb-impl-2.2.6.jar
  9. neethi-3.0.2.jar
  10. spring-aop-3.0.7.RELEASE.jar
  11. spring-asm-3.0.7.RELEASE.jar
  12. spring-beans-3.0.7.RELEASE.jar
  13. spring-context-3.0.7.RELEASE.jar
  14. spring-core-3.0.7.RELEASE.jar
  15. spring-expression-3.0.7.RELEASE.jar
  16. spring-web-3.0.7.RELEASE.jar
  17. wsdl4j-1.6.2.jar
  18. wss4j-1.6.9.jar
  19. xmlschema-core-2.0.3.jar
  20. xmlsec-1.5.3.jar

CXF With UsernameToken(WS-security policy) Example

I am creating a sample web service project that pass Student object and return with some changes on that object. The service is using simple POJO (Plain Old Java Object) bean.

Firstly create a Dynamic Web Project (File->New->Dynamic Web Project) named "CXFTutorial" according to following screenshot

CXF With UsernameToken (WS-Security Policy) CXF With UsernameToken (WS-Security Policy)

1 2 3 4 Next

11 Responses to "CXF With UsernameToken (WS-Security Policy)"
  1. Rone 2012-08-23 08:00:02.0
  1. Reality 2012-08-24 08:00:02.0
  1. admin 2012-08-25 08:00:02.0
  1. nityananda 2012-08-26 08:00:02.0
  1. admin 2012-08-27 08:00:02.0
  1. linuxks 2012-08-27 18:00:02.0
  1. Vishnu.K 2012-08-27 22:00:02.0
  1. admin 2012-08-28 08:00:02.0
  1. Ashley 2012-08-28 18:00:02.0
  1. Ashley 2012-08-28 22:00:02.0
  1. Kerim 2012-08-29 08:00:02.0

Your email address will not be published. Required fields are marked *