Announcement Announcement Module
Collapse
No announcement yet.
Need help to add HandlerResolver to WebServiceGatewaySupport client Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Need help to add HandlerResolver to WebServiceGatewaySupport client

    I have a webservice that is written in Groovy DSL:

    Code:
        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]
        }
    What I really need to do, is add a javax.xml.ws.handler.HandlerResolver to extract Session ID's

    If I was using JaxWsPortProxyFactoryBean I could do this (<property name="handlerResolver" ref="defaultHandlerResolver"/>):
    Code:
    	
    <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>
    But because I am using HttpClient to set connection timeout, I want to use WebServiceTemplate and have my client extend WebServiceGatewaySupport

    Can someone please help me on this as I am blocked. Thanks in advance
Working...
X