Hi,
I've come across a problem that neither google nor the search function on this site seems to be able to help me with. When I pass a secured SOAP message to my Spring WS server, it returns a
I have a SOAP service that should live on a Weblogic 9.2 server. It is supposed to check incoming messages for a BinarySecurityToken, although it doesn't need to do any further validation, as it's only going to be a test harness.
Anyway, my problem becomes apparent when Spring starts parsing the headers of the incoming SOAP. The stack trace looks like this:
Debugging takes me to a line that says:Code:WARN [org.springframework.ws.soap.server.SoapMessageDispatcher] - <Endpoint invocation resulted in exception - responding with SOAP Fault> java.lang.ClassCastException: weblogic.webservice.core.soap.SOAPTextElement at org.springframework.ws.soap.saaj.SaajSoap11Header.examineHeaderElementsToProcess(SaajSoap11Header.java:46) at org.springframework.ws.soap.server.SoapMessageDispatcher.handleHeaders(SoapMessageDispatcher.java:108) at org.springframework.ws.soap.server.SoapMessageDispatcher.handleRequest(SoapMessageDispatcher.java:92) at org.springframework.ws.server.MessageDispatcher.dispatch(MessageDispatcher.java:199) at org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:162) at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:87) at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:57) at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:197) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
However, it seems the object I get is of type weblogic.webservice.core.soap.SOAPTextElement, and the cast fails with an exception.Code:SOAPHeaderElement saajHeaderElement = (SOAPHeaderElement) iterator.next();
Sadly, I cannot change the webserver, so I wondered if anybody knew a workaround?
PS! This all works on my jetty server, but then jetty wouldn't populate a message with weblogic classes, would it![]()


Reply With Quote
