Mapping 2 service classes to separate servlet classes

Deploying a single web app for both Basic Auth and WS-Security.

At the moment, we can't deploy a single service that implements both Basic Auth and WS-Security. We have to deploy 2 different web apps that either implements Basic Auth or WS-Security. This is because Axis2 doesn't like it when 2 services uses the same servlet class.

At the moment, we can't deploy a single service that implements both Basic Auth and WS-Security. We have to deploy 2 different web apps that either implements Basic Auth or WS-Security. This is because Axis2 doesn't like it when 2 services uses the same servlet class. We currently have GrouperAxisServlet as the primary entry point for both sets of security mechanisms. However, Axis2 only allows for one-to-one mapping between classes and services. This is a very inflexible approach and it means that the user has to deploy the web apps separately to use either Basic Auth or WS-Security.

So basically to have a web app that is both Rampart and Basic Auth enabled, you would need 2 .aar files. An alternative would be to have a wrapper for the main GrouperService class. However, this would generate a different client (5 megs atleast) so this is not a viable option. The problem is that when each servlet starts, it processes all .aar files. Theres no way to map one .aar file to one servlet. A possible solution is to have Tomcat listen on multiple tcp ports. This would enable one .aar file to be on one port, and the other on the other port. This is something we plan to research.

The primary reason we want this is because we wish to have one web app which in turn can be accessed by any SOAP or REST client. We also want this web app to be accessed by either a Basic Auth or Rampart enabled client. Having separate web apps for separate security mechanisms might complicate things.

Back to News