gpt4 book ai didi

java - 没有 xsd 的 Spring WS

转载 作者:搜寻专家 更新时间:2023-10-31 20:01:28 25 4
gpt4 key购买 nike

我正在尝试在没有任何 XSD 的情况下在 Spring 和 Spring WS 中创建简单的 WS 项目。部署在 jetty 上。可以填充 WS 端点并仅从 java 类生成 WSDL(没有静态 XSD 或 WSDL - 我浏览了很多教程,但都是必需的)。

非常感谢任何帮助、提示或链接。

我有这样的东西:

1) 请求

@XmlRootElement
public class MessageWSRequest {

@XmlElement
private String message;

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}
}

2)端点

@Endpoint
public class MessageWS {
@PayloadRoot(namespace = "http://message.com/ws/message" ,localPart="MessageWSRequest")
public String handleMathServiceRequest(@RequestPayload MessageWSRequest messageWSRequest) {
return "ok";
}
}

3) springContext.xml

<sws:annotation-driven/>
<context:component-scan base-package="com.ws.message"/>

4) web.xml

<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></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>webservices</servlet-name>
<url-pattern>*.wsdl</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>webservices</servlet-name>
<url-pattern>/endpoints/*</url-pattern>
</servlet-mapping>

现在我希望这样的 URL localhost:8080/messageTest/endpoints/MessageWS.wsdl 使用生成的 WSDL。

我是否遗漏了某些配置?

谢谢大家

最佳答案

好吧,第二天清醒的头脑告诉我这个事实:Spring WS 从 XSD Schema 开始“仅”提供契约优先

我将改用 CXF:Apache CXF 提供契约最后(从 Java 开始)和契约优先(从 WSDL 开始)两种方法。

关于java - 没有 xsd 的 Spring WS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30955058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com