<project.xsd.schemas.target.path>${basedir}/target/generated-sources/src/main/java</project.xsd.schemas.target.path>
<project.xsd.schemas.package.name>de.spring.webservices.auto</project.xsd.schemas.package.name>
<project.wsdl.sources.path>src/main/resources/wsdl</project.wsdl.sources.path>
- <spring.ws.version>2.1.0.RELEASE</spring.ws.version>
+ <spring.ws.version>2.2.1.RELEASE</spring.ws.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <spring.version>3.1.1.RELEASE</spring.version>
+ <spring.version>4.1.6.RELEASE</spring.version>
<warTarget>${basedir}/target/jetty</warTarget>
</properties>
<version>${spring.ws.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>${spring.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Required by spring-ws-core -->
+ <dependency>
+ <groupId>wsdl4j</groupId>
+ <artifactId>wsdl4j</artifactId>
+ <version>1.6.3</version>
+ </dependency>
+
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom</artifactId>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.10</version>
+ <version>4.12</version>
<scope>test</scope>
</dependency>
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"
+ xmlns:util="http://www.springframework.org/schema/util"
+
xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.1.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.1.xsd">
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/web-services
+ http://www.springframework.org/schema/web-services/web-services.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd">
<context:component-scan base-package="de.spring.webservices"/>
Spring makes the WSDL file for us from the XSD file.
Launch the Jetty server and download WSDL file from this URL: http://127.0.0.1:8888/spring-ws/example/example.wsdl
-->
- <sws:dynamic-wsdl id="example"
- portTypeName="Examples"
- locationUri="/spring-ws/example">
+ <sws:dynamic-wsdl id="example" portTypeName="Examples"
+ createSoap12Binding="true" createSoap11Binding="false"
+ locationUri="/spring-ws/example">
<sws:xsd location="classpath:xsd/examples.xsd"/>
</sws:dynamic-wsdl>
-
+
+
+ <!-- Required in order to use SOAP 1.2 -->
+ <bean id="messageFactorySoap12" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
+ <property name="soapVersion">
+ <util:constant static-field="org.springframework.ws.soap.SoapVersion.SOAP_12" />
+ </property>
+ </bean>
+
<sws:interceptors>
<bean class="org.springframework.ws.soap.server.endpoint.interceptor.SoapEnvelopeLoggingInterceptor">
<property name="logRequest" value="true"/>
<property name="logResponse" value="true"/>
</bean>
- </sws:interceptors>
-
- <!--
- ¿Este validador funciona teniendo inheritance en el xsd? (inheritances es una cosa especial
- del JAXB2 que estoy usando para generar las clases desde el xsd)
- Parece que el unmarshal (que supongo que se hace con el JAXB2 que está en el classpath
- debido al tipo de Endpoint que estoy usando, que por cierto no sé cual JAXB2 está cogiendo realmente)
- funciona, así que supongo el validador tambien :/
- Lo que realmente tampoco sé es si hay alguna relación entre los validadores y JAXB2 :/
+
+ <!--
+ ¿Este validador funciona teniendo inheritance en el xsd? (inheritances es una cosa especial
+ del JAXB2 que estoy usando para generar las clases desde el xsd)
+ Parece que el unmarshal (que supongo que se hace con el JAXB2 que está en el classpath
+ debido al tipo de Endpoint que estoy usando, que por cierto no sé cual JAXB2 está cogiendo realmente)
+ funciona, así que supongo el validador tambien :/
+ Lo que realmente tampoco sé es si hay alguna relación entre los validadores y JAXB2 :/
-->
- <bean id="validatingInterceptor"
- class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
- <property name="schema" value="classpath:xsd/examples.xsd"/>
- <property name="validateRequest" value="false"/>
- <property name="validateResponse" value="true"/>
- </bean>
+ <bean id="validatingInterceptor"
+ class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
+ <property name="schema" value="classpath:xsd/examples.xsd"/>
+ <property name="validateRequest" value="false"/>
+ <property name="validateResponse" value="true"/>
+ </bean>
+ </sws:interceptors>
+
<bean id="exceptionResolver"
class="org.springframework.ws.soap.server.endpoint.SoapFaultMappingExceptionResolver">
<property name="defaultFault" value="SERVER"/>