Spring Ws
2015-09-23 16:49
169 查看
Spring ws推荐XSD优先,根据XSD生成Request与Response的实体类。
然后,web.xml定义Servlet
这个和DispatcherServlet一样,需要在web.xml同一个目录下面添加一个XML
定义serviceClass
然后,web.xml定义Servlet
<servlet> <servlet-name>spring-ws</servlet-name> <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>spring-ws</servlet-name> <url-pattern>/soap/*</url-pattern> </servlet-mapping>
这个和DispatcherServlet一样,需要在web.xml同一个目录下面添加一个XML
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sws="http://www.springframework.org/schema/web-services" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.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.2.xsd"> <!--接口Service及Bean--> <context:component-scan base-package="com.derbysoft....interfaces.ws"/> <sws:annotation-driven/> <sws:dynamic-wsdl id="doorway" portTypeName="Doorway" serviceName="HotelDoorwayService" locationUri="/soap/doorway/" createSoap11Binding="true" createSoap12Binding="true" targetNamespace="http://www.derbysoft.com/doorway"> <sws:xsd location="classpath:xsd/ws.xsd"/> </sws:dynamic-wsdl> <sws:interceptors> <ref bean="requestLogInterceptor"/> <ref bean="elapsedTimeInterceptor"/> <sws:payloadRoot namespaceUri="http://www.derbysoft.com/ws"> <bean class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor"> <property name="schemas" value="classpath:xsd/ws.xsd"/> <property name="validateRequest" value="true"/> <property name="validateResponse" value="true"/> </bean> </sws:payloadRoot> </sws:interceptors> </beans>
定义serviceClass
public abstract class AbstractEndpoint { protected static final String DOORWAY_NAME_SPACE = "http://www.derbysoft.com/doorway"; } @Endpoint public class HotelAvailEndpoint extends AbstractEndpoint { @Autowired private HotelAvailService hotelAvailService; @PayloadRoot(localPart = "AvailabilityRequest", namespace = DOORWAY_NAME_SPACE) @ResponsePayload public AvailabilityResponse get(@RequestPayload AvailabilityRequest request) { return hotelAvailService.get(request); } public HotelAvailEndpoint() { } public HotelAvailEndpoint(HotelAvailService hotelAvailService) { this.hotelAvailService = hotelAvailService; } }
相关文章推荐
- Struts2自定义类型转换器
- Thinking in java:多线程详解
- JAVA基础--db08_java继承-单例模式
- 使用springmvc+jackson+hibernate返回JSON数据
- java中注解的使用与实例 (二)
- ubuntu 上 java的安装
- java生成解析二维码功能
- 【ECLIPSE】两步完成eclipse配色
- SpringMVC进阶(四)——注解开发
- 利用java 泛型实现BaseDao
- Java EE : 二、图解 Cookie(小甜饼)
- JAVA问题总结之28--读取某目录下所有文件
- struts2<s:iterator>遍历map小结
- Struts2对于国际化(i18n)的支持
- JAVA问题总结之27--创建100个文件
- Spring单例模式与线程安全
- 原创:Spring整合junit测试框架(简易教程 基于myeclipse,不需要麻烦的导包)
- java-多个数的和
- Java命名规范
- [置顶] Spring中的AOP