【发布时间】:2016-05-12 22:43:42
【问题描述】:
我正在尝试使用 SpringWS 和 Spring Boot 为 2 个不同的静态 WSDL 公开 2 个不同的端点。
我遇到的问题是声明了两个 SimpleWsdl11Definition bean 并且只公开了一个。
这些是我的配置文件:
@EnableWs
@Configuration
public class AWSConfig extends WsConfigurerAdapter
{
@Bean
public ServletRegistrationBean aMessageDispatcherServlet(ApplicationContext applicationContext)
{
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "Av1/*");
}
@Bean(name = "AV1")
public SimpleWsdl11Definition simpleWsdl11Definition()
{
SimpleWsdl11Definition simpleWsdl11Definition = new SimpleWsdl11Definition();
simpleWsdl11Definition.setWsdl(new ClassPathResource("wsdl/AV1.wsdl"));
return simpleWsdl11Definition;
}
@Bean(name = "ASchema")
public XsdSchema aSchema()
{
return new SimpleXsdSchema(new ClassPathResource("xsd/A.xsd"));
}
}
和
@EnableWs
@Configuration
public class BWSConfig
{
@Bean
public ServletRegistrationBean bMessageDispatcherServlet(ApplicationContext applicationContext)
{
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "Bv1/*");
}
@Bean(name = "BV1")
public SimpleWsdl11Definition simpleWsdl11Definition()
{
SimpleWsdl11Definition simpleWsdl11Definition = new SimpleWsdl11Definition();
simpleWsdl11Definition.setWsdl(wsdl/BV1.wsdl"));
return simpleWsdl11Definition;
}
@Bean(name = "bSchema")
public XsdSchema bSchema()
{
return new SimpleXsdSchema(new ClassPathResource("xsd/BV1.xsd"));
}
}
只有 AV1.wsdl 可以访问。谁能告诉我我错过了什么...
【问题讨论】:
标签: java spring web-services soap wsdl