What we have done is to define two MessageDispatcherServlets in our web.xml,
Code:
<servlet>
<servlet-name>unsecure-ws</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ws</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
</servlet>
Then you can use different interceptors for your endpoints. The two contexts, ws-servlet.xml and unsecure-ws-servlet.xml will be loaded as child contexts to the root WebApplicationContext loaded by ContextLoaderListener, and willl suffer no bean namespace collisions.
We have also extracted some common configuration to be loaded by ContextLoaderListener, e.g. the endpoint exception resolvers
Regards,
Paul