use*_*136 5 java spring web-services spring-ws
我试图在Spring和没有任何XSD的Spring WS中创建简单的WS项目。部署在码头上。可以仅从Java类填充WS端点并生成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;
}
}
Run Code Online (Sandbox Code Playgroud)
2)端点
@Endpoint
public class MessageWS {
@PayloadRoot(namespace = "http://message.com/ws/message" ,localPart="MessageWSRequest")
public String handleMathServiceRequest(@RequestPayload MessageWSRequest messageWSRequest) {
return "ok";
}
}
Run Code Online (Sandbox Code Playgroud)
3)springContext.xml
<sws:annotation-driven/>
<context:component-scan base-package="com.ws.message"/>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
现在,我希望 使用生成的WSDL 这样的URL,例如 localhost:8080 / messageTest / endpoints / MessageWS.wsdl。
我错过了一些配置吗?
谢谢大家
好的,第二天有个明确的想法告诉我这个事实: Spring WS从XSD Schema开始提供“仅”合同优先
我将改用CXF: Apache CXF提供了后契约(从Java开始)和契约优先(从WSDL开始)两种方法。
| 归档时间: |
|
| 查看次数: |
4148 次 |
| 最近记录: |