使用DefaultWsdl11Definition自动生成wsdl

问题描述 投票:0回答:3
spring soap wsdl spring-ws
3个回答
0
投票

更正了这个问题,ContactService.wsdl

localhost:8080/SpringWS/ContactService/ContactService.wsdl


0
投票

问题出在您的 web.xml 文件上。尝试为 DispatcherServlet 和 MessageDispatcherServlet 使用不同的上下文文件。

<servlet>
   <servlet-name>dispatcherServlet</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <init-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
 </servlet>

......

....

<servlet>  
   <servlet-name>webservices</servlet-name>  
   <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>  
   <init-param>  
       <param-name>transformWsdlLocations</param-name>  
       <param-value>true</param-value>  
    </init-param>  
    <init-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>/WEB-INF/springws-config.xml</param-value>  
    </init-param>  
    <load-on-startup>1</load-on-startup>  
 </servlet>

0
投票

我在运行 Spring Boot 演示时也有类似的经历。如果您的问题和我的一样,那么它is有效。 Spring 发送带有 xml 标头的 wsdl,即

<?xml version="1.0" encoding="UTF-8" standalone="no"?><wsdl:definitions ...

我使用的是 Firefox,它会在显示空白屏幕之前闪烁 wsdl。因此,查看页面源代码会显示完整的 wsdl 文件。

有一个使用 Spring Boot 注释执行此操作的简单可下载示例:

https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-webservices

© www.soinside.com 2019 - 2024. All rights reserved.