I have a webservice that is written in Groovy DSL:
What I really need to do, is add a javax.xml.ws.handler.HandlerResolver to extract Session ID'sCode:routingLookupService(org.springframework.ws.client.core.WebServiceTemplate) { messageSenders = [ref("routingLookupHttpSender")] marshaller = ref("marshaller") unmarshaller = ref("marshaller") messageFactory = ref("axiomMessageFactory") defaultUri = "${ConfigurationHolder.config.application.DASServiceUrl}/${ConfigurationHolder.config.routingLookupService.endpointAddress}" } routingLookupHttpSender(org.springframework.ws.transport.http.CommonsHttpMessageSender, ref("httpClient")) { httpClient(org.apache.commons.httpclient.HttpClient) { params = ref( httpParams(org.apache.commons.httpclient.params.HttpClientParams) { // Timeout in milliseconds: in this case 2 minutes (120 000) soTimeout = ConfigurationHolder.config.routingLookupService.timeout } ) } } routingLookupServiceClient(com.comcast.ivr.das.domain.routinglookup.xsd.RoutingLookupServiceClient){ messageSenders = [ref("routingLookupHttpSender")] } //--- Common Webservices Beans ---// messageFactory(org.springframework.ws.soap.saaj.SaajSoapMessageFactory) axiomMessageFactory(org.springframework.ws.soap.axiom.AxiomSoapMessageFactory){ payloadCaching = "true" soapVersion = org.springframework.ws.soap.SoapVersion.SOAP_12 } marshaller(org.springframework.oxm.jaxb.Jaxb2Marshaller){ contextPaths = ["com.comcast.ivr.das.services"] marshallerProperties = ["jaxb.formatted.output": true] }
If I was using JaxWsPortProxyFactoryBean I could do this (<property name="handlerResolver" ref="defaultHandlerResolver"/>):
But because I am using HttpClient to set connection timeout, I want to use WebServiceTemplate and have my client extend WebServiceGatewaySupportCode:<bean id="identifyServicePort" class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean"> <property name="serviceInterface" value="com.comcast.ivr.das.identify.IdentifyServicePortType" /> <property name="wsdlDocumentUrl" value="${ws.das.identifyService.wsdlDocUrl}" /> <property name="namespaceUri" value="http://services.das.ivr.comcast.com" /> <property name="serviceName" value="IdentifyService" /> <property name="handlerResolver" ref="defaultHandlerResolver"/> <property name="endpointAddress" value="${ws.das.identifyService.endpoint}" /> <property name="maintainSession" value="true"/> </bean>
Can someone please help me on this as I am blocked. Thanks in advance


Reply With Quote