mirror of
https://github.com/OtusTeam/Spring.git
synced 2026-06-20 11:14:34 +00:00
41 lines
1.6 KiB
Java
41 lines
1.6 KiB
Java
package hello;
|
|
|
|
import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
|
import org.springframework.context.ApplicationContext;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.core.io.ClassPathResource;
|
|
import org.springframework.ws.config.annotation.EnableWs;
|
|
import org.springframework.ws.config.annotation.WsConfigurer;
|
|
import org.springframework.ws.transport.http.MessageDispatcherServlet;
|
|
import org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition;
|
|
import org.springframework.xml.xsd.SimpleXsdSchema;
|
|
import org.springframework.xml.xsd.XsdSchema;
|
|
|
|
@EnableWs
|
|
@Configuration
|
|
public class WebServiceConfig implements WsConfigurer {
|
|
@Bean
|
|
public ServletRegistrationBean<MessageDispatcherServlet> messageDispatcherServlet(ApplicationContext applicationContext) {
|
|
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
|
|
servlet.setApplicationContext(applicationContext);
|
|
servlet.setTransformWsdlLocations(true);
|
|
return new ServletRegistrationBean<>(servlet, "/ws/*");
|
|
}
|
|
|
|
@Bean(name = "countries")
|
|
public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema countriesSchema) {
|
|
DefaultWsdl11Definition wsdl11Definition = new DefaultWsdl11Definition();
|
|
wsdl11Definition.setPortTypeName("CountriesPort");
|
|
wsdl11Definition.setLocationUri("/ws");
|
|
wsdl11Definition.setTargetNamespace("http://otus.ru/hello/web-service");
|
|
wsdl11Definition.setSchema(countriesSchema);
|
|
return wsdl11Definition;
|
|
}
|
|
|
|
@Bean
|
|
public XsdSchema countriesSchema() {
|
|
return new SimpleXsdSchema(new ClassPathResource("countries.xsd"));
|
|
}
|
|
}
|