Just to add to my last post i thought of creating object manually for now and setting it in the request scope bean. I defined a request scoped bean which is being referred by interceptor and endpoint both. Then i created the Java object manually in interceptor and i set it into the request scoped bean. But i am still not able to access this object in the endpoint. I think there is some issue in my configurations.
ConfigurationCode:@Override public boolean handleRequest(MessageContext messageContext, Object endpoint) throws Exception { System.out.println("Intercepted"); SoapHeader soapHeader = ((SaajSoapMessage) messageContext.getRequest()).getEnvelope().getHeader(); SessionHeader sessionHeader = new SessionHeader(); for (Iterator iterator = soapHeader.examineAllHeaderElements(); iterator.hasNext();) { SoapHeaderElement headerElement = (SoapHeaderElement) iterator.next(); if(headerElement.getName().getLocalPart().equals("session")){ System.out.println(headerElement.toString()); DOMResult r = (DOMResult)headerElement.getResult(); Node sessionNode = r.getNode(); NodeList childNodes = sessionNode.getChildNodes(); for (int j = 0; j < childNodes.getLength(); j++) { Node childNode = childNodes.item(j); if(childNode.getNodeType()== Node.ELEMENT_NODE && childNode.getLocalName().equals("sessionId")){ sessionHeader.setSessionId(childNode.getTextContent()); } } } } header.setSessionHeader(sessionHeader); return true; }
Web.xmlCode:<!-- Setting for Annotation endpoint --> <bean id="addOperationEndpoint" class="com.conformity.webservice.endpoints.AddOperationEndPoint"> <property name="service" ref="conformityWebServiceMediator"/> <property name="header" ref="sessionHeader"/> </bean> <bean id="sessionHeader" class="com.conformity.webservice.endpoints.SessionHeaderWrapper" scope="request"> <!-- this next element effects the proxying of the surrounding bean --> <aop:scoped-proxy /> </bean> <bean id="soapHeaderInterceptor" class="com.conformity.webservice.interceptor.HeaderItemInterceptor"> <property name="unmarshaller" ref="marshaller" /> <property name="header" ref="sessionHeader"/> </bean>
Can anyone please tell me what is wrong here?Code:<servlet-mapping> <servlet-name>spring-ws</servlet-name> <url-pattern>/conformity-ws/*</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> <filter> <filter-name>requestContextFilter</filter-name> <filter-class>org.springframework.web.filter.RequestContextFilter</filter-class> </filter> <filter-mapping> <filter-name>requestContextFilter</filter-name> <url-pattern>/conformity-ws/*</url-pattern> </filter-mapping>
Thanks,
Muein


Reply With Quote
. 