[英]Problem exposing SPRING-WS WSDL, can't reach it with the url
我正在尝试使用 Spring-WS 使用 WSDL 生成和公开 SOAP 服务,但我遇到了一个问题,我在启动服务器时没有出现错误,但我无法使用他的 url 访问 wsdl。
我正在 Tomcat 上部署一个 WAR 文件,只是为了精确。
所以这是我的web.xml ,我在其中定义了我的 servlet
<servlet>
<description>Servlet pour l'exposition du webservices SOAP de purge</description>
<servlet-name>spring-ws</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>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-ws</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
这就是我的spring-ws-servlet.xml 里面的内容
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xmlns:sws = "http://www.springframework.org/schema/web-services"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/web-services
http://www.springframework.org/schema/web-services/web-services-2.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package = "com.alm.*"/>
<sws:annotation-driven/>
<context:property-placeholder location="classpath:purge.properties" />
<sws:dynamic-wsdl id = "purgev1"
portTypeName = "purgev1Port"
locationUri = "/ws/soap/purge/v1/"
<sws:xsd location = "classpath:xsd/purgev1.xsd"/>
</sws:dynamic-wsdl>
</beans>
我想如果 wsld 生成失败,我会收到一条错误消息,我检查了文件位置,一切都在正确的位置。
我试图用这个 URL 调用我的 wsdl: http://localhost:8080/mamba/ws/soap/purge/v1/purgev1.wsdl (mamba 是我的上下文路径)但我只得到 405 作为回报,没有我的控制台中的错误消息,当我生成 wsdl 时都没有,所以我有点迷茫。 我搜索了文档和互联网上的许多帖子,但找不到解决方案。
我正在使用的版本:
如果您有任何想法,请告诉我。 我感谢你为我所用的时间。
祝你有美好的一天 !
您必须在 spring-ws-servlet.xml 中提及完整的 locationURI 值,例如/mamba/ws/soap/purge/v1/purgev1.wsdl通常 locationURI 参数将通过添加主机名和端口前缀来公开您的 wsdl。
http://localhost:8080/mamba/ws/soap/purge/v1/purgev1.wsdl
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.