作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经为 soap 服务配置了 MessageDispatcherServlet,为 web 服务配置了 ServletRegistration,但是在 web 服务的情况下 Controller 没有调用。
public class WebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
// use MessageDispatcherServlet instead of standard DispatcherServlet for SOAP messages
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setContextClass(WebServiceWsConfig.class);
servlet.setApplicationContext(context);
servlet.setTransformWsdlLocations(true);
// register MessageDispatcherServlet as Web Service entry point
final ServletRegistration.Dynamic dispatcher = servletContext.addServlet("MessageDispatcherServlet",servlet);
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/soapws/*");
dispatcher.addMapping("/");
}
}
我的 WebServicesConfig 类是
@Configuration
@EnableWs
@EnableWebMvc
@ComponentScan(basePackages = "")
@PropertySource(value = {"classpath:config_local.properties"})
public class WebServiceConfig extends WebMvcConfigurerAdapter {
@Autowired
private Environment env;
@Bean(name = "pos")
public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema posSchema) {
DefaultWsdl11Definition wsdl11Definition = new DefaultWsdl11Definition();
wsdl11Definition.setPortTypeName("posPort");
wsdl11Definition.setLocationUri("/soapws");
wsdl11Definition.setTargetNamespace("http://---.---.in/soap");
wsdl11Definition.setSchema(posSchema);
return wsdl11Definition;
}
@Bean
public XsdSchema studentsSchema() {
return new SimpleXsdSchema(new ClassPathResource("pos.xsd"));
}
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
最佳答案
我使用 Spring Boot 配置解决了我的问题,这有助于我调用 Soap 服务和 Web 服务。
@EnableWs
@Configuration
public class WebServiceConfig extends WsConfigurerAdapter{
@Bean
public ServletRegistrationBean messageDispatcherServlet(ApplicationContext applicationContext) {
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "/ws/*");
}
@Bean(name = "pos")
public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema posSchema)
{
DefaultWsdl11Definition wsdl11Definition = new DefaultWsdl11Definition();
wsdl11Definition.setPortTypeName("posPort");
wsdl11Definition.setLocationUri("/soapws");
wsdl11Definition.setTargetNamespace("http://---.---.in/soap");
wsdl11Definition.setSchema(posSchema);
return wsdl11Definition;
}
@Bean
public XsdSchema studentsSchema() {
return new SimpleXsdSchema(new ClassPathResource("pos.xsd"));
}
关于spring - 如何使用 spring annotaion 配置 MessageDispatcherServlet 和 ServletRegistration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49790234/
我正在尝试学习 spring-ws 并从本教程开始: http://spring.io/guides/gs/producing-web-service/#initial . 我现在想做的是通过以编程方
我目前正在开发一个可通过 SOAP 使用 Spring 5.1.3 和 Spring-WS 访问的 Web 应用程序,并且不知道如何注册附加 servlet(在本例中为 MessageDispatch
我已经为 soap 服务配置了 MessageDispatcherServlet,为 web 服务配置了 ServletRegistration,但是在 web 服务的情况下 Controller 没
我已经为 soap 服务配置了 MessageDispatcherServlet,为 web 服务配置了 ServletRegistration,但是在 web 服务的情况下 Controller 没
我是一名优秀的程序员,十分优秀!