输出Spring-WS生成的WSDL位置

时间:2014-03-13 19:23:06

标签: spring-ws

这对我来说似乎是一个简单的问题:

我有一个项目,我自动生成一个Spring-WS WSDL,如下所示:

<sws:dynamic-wsdl id="service"                                                           
    portTypeName="Service"                                                         
    locationUri="/Service/"                                                       
    targetNamespace="http://location.com/Service/schemas/Mos">                               
        <sws:xsd location="classpath:/META-INF/Service.xsd"/>                                                  
</sws:dynamic-wsdl> 

在应用程序上下文启动时,是否有办法输出生成的wsdl地址,包括上下文,位置等?如果我们的集成测试开始失败,这将非常方便,我们可以看到WSDL的位置是否已经改变。

1 个答案:

答案 0 :(得分:0)

据我所知,您可以在http://yourHost/yourServletContext/beanId.wsdl找到WSDL。在您的情况下,beanId是'service'。

查看Spring-WS文档中的3.7. Publishing the WSDL,了解有关此主题的更多信息。

如果您计划同时公开XSD,将使用beanId.xsd(或者,在我的情况下,使用@Configuration类中的方法名称)格式。例如:

private ClassPathResource exampleXsdResource = new ClassPathResource("example.xsd");

@Bean public SimpleXsdSchema example() {
    return new SimpleXsdSchema(exampleXsdResource);
}

这会在http://yourHost/yourServletContext/example.xsd公开XSD。