2
我有一个需要编写工作原理如下应用:春季启动 - REST和SOAP组合
我可以一个SOAP文档/ A/ABC,通常SOAP方式。
我可以GET/a/abc,并返回200 /好。这只是一个测试,看看该方法是否存在。
什么是正确的方法来做到这一点?我还没有看到在SOAP上下文中执行GET的方法。我已经尝试创建REST和SOAP bean,如下所示:
@Bean
public ServletRegistrationBean WsRegistrationBean(ApplicationContext applicationContext) {
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "https://stackoverflow.com/a/*");
}
@Bean
public ServletRegistrationBean RsRegistrationBean(ApplicationContext applicationContext) {
DispatcherServlet servlet = new DispatcherServlet();
servlet.setApplicationContext(applicationContext);
return new ServletRegistrationBean(servlet, "https://stackoverflow.com/a/*");
}
但是,这不起作用,SOAP bean似乎赢了。如果我注释掉soap bean,我的REST控制器正在正确处理GET请求,但是如果我将SOAP bean留在那里,我会得到“405 /不允许的方法”。
这些可以共存并且具有由Rest控制器处理的GET,并且POST处理了SOAP方式吗?还是有另一种方式?
您正在将两个Servlet映射到/ a的相同url上下文。我建议你使用不同的路径,因为迟早你会在POSTing时遇到问题。 –
不幸的是我的要求是获取并发布到相同的url上下文。我必须使用get来测试Iuri上下文是否存在,如果存在,那么我可以在此背景下讨论soap。 –
嗯听起来像一个非常奇怪的要求? Get只是检查端点是否存在?然后可能会实施一个Dummy操作,您也称为Soap服务。 –