Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Spring-WS's MessageDispatcherServlet in AbstractDispatcherServletInitializer [SPR-13616] #18194

Closed
spring-issuemaster opened this issue Oct 27, 2015 · 1 comment

Comments

Projects
None yet
2 participants
@spring-issuemaster
Copy link
Collaborator

commented Oct 27, 2015

Kamill Sokol opened SPR-13616 and commented

Problem:
Right now we have to override AbstractDispatcherServletInitializer.registerDispatcherServlet(...) in order to register Spring-WS's MessageDispatcherServlet (tested with Version 2.2.0.RELEASE). AbstractDispatcherServletInitializer.registerDispatcherServlet(...) calls createDispatcherServlet which returns a DispatcherServlet instance whereas MessageDispatcherServlet directly derives from FrameworkServlet. Both DispatcherServlet and MessageDispatcherServlet have the same base class in common that said FrameworkServlet.

Solution:
AbstractDispatcherServletInitializer.registerDispatcherServlet(...) should return FrameworkServlet in order to support both Spring MVC's DispatcherServlet and Spring-WS's MessageDispatcherServlet.

A pull request with a fix will be provided via Github.


Affects: 4.2.2

Referenced from: commits c1c07bb

@spring-issuemaster

This comment has been minimized.

Copy link
Collaborator Author

commented Oct 28, 2015

Juergen Hoeller commented

Good point - relaxing createDispatcherServlet's declared return type should even be binary-compatible for overriding due to the way covariant return types work. I'll apply this right away with some fine-tuning of the corresponding javadoc.

Juergen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.