I follow the spring-ws's reference to set soapVersion as SOAP_12.
But generated WSDL always bind to Soap11.
Following is my setting and generated WSDL
Code:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xmlns:oxm="http://www.springframework.org/schema/oxm" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd"> <bean id="messageFactory" class="org.springframework.ws.soap.axiom.AxiomSoapMessageFactory"> <property name="payloadCaching" value="true" /> <property name="soapVersion"> <util:constant static-field="org.springframework.ws.soap.SoapVersion.SOAP_12" /> </property> </bean> <bean class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping"> <property name="mappings"> <props> <prop key="{http://www.base.ebiz.tw/ttls/platform/schema/1.0}PurchaseOrderSubmitRequest">purchaseOrderSubmitRequestEnpoint </prop> </props> </property> <property name="interceptors"> <list> <ref bean="loggingInterceptor" /> </list> </property> </bean> <bean id="loggingInterceptor" class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor" /> <bean id="services" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition"> <property name="schema" ref="schema" /> <property name="portTypeName" value="TTLSPlatformService" /> <property name="locationUri" value="/platfromService/" /> </bean> <bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema"> <property name="xsd" value="/WEB-INF/xsd/ttls.xsd" /> </bean> </beans>Code:<wsdl:definitions targetNamespace="http://www.base.ebiz.tw/ttls/platform/schema/1.0"> <wsdl:types> <!-- Omit Schema in order to save space --> </wsdl:types> <wsdl:message name="PurchaseOrderSubmitRequest"> <wsdl:part element="tns:PurchaseOrderSubmitRequest" name="PurchaseOrderSubmitRequest"> </wsdl:part> </wsdl:message> <wsdl:portType name="TTLSPlatformService"> <wsdl:operation name="PurchaseOrderSubmit"> <wsdl:input message="tns:PurchaseOrderSubmitRequest" name="PurchaseOrderSubmitRequest"> </wsdl:input> <wsdl:output message="tns:PurchaseOrderSubmitResponse" name="PurchaseOrderSubmitResponse"> </wsdl:output> </wsdl:operation> <!-- Omit some sections in order to save space --> </wsdl:portType> <wsdl:binding name="TTLSPlatformServiceSoap11" type="tns:TTLSPlatformService"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="PurchaseOrderSubmit"> <soap:operation soapAction=""/> <wsdl:input name="PurchaseOrderSubmitRequest"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="PurchaseOrderSubmitResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <!-- Omit some sections in order to save space --> </wsdl:binding> <wsdl:service name="TTLSPlatformServiceService"> <wsdl:port binding="tns:TTLSPlatformServiceSoap11" name="TTLSPlatformServiceSoap11"> <soap:address location="http://127.0.0.1:8080/ttls-platform-0.0.1-SNAPSHOT/platfromService/"/> </wsdl:port> </wsdl:service> </wsdl:definitions>


Reply With Quote