Hi,
i started a new project and trying to use Spring-WS. Yeah.
But i hava a strange problem. I'm using JAXB2.
My web service is called, but at the marshalling i get an error, which i doesn't understand. My testclient get a "500, Internal Server Error" back.
I have installed a logging and validating interceptor and a endpointExceptionResolver.
That's my log4j configuration:
and i get this logging messages.Code:log4j.rootLogger=ON,FileAppender log4j.logger.de.cas=DEBUG log4j.logger.javax.xml.bind=DEBUG log4j.category.org.springframework=DEBUG log4j.category.org.acegisecurity=DEBUG
As you can see, my web service is working fine ("create web service completed" log message). I also added an exception handling around my complete web service code. But there is no exception.Code:[...] 86076 [http-8080-Processor22] DEBUG endpoint.PayloadValidatingInterceptor - Request message validated 86076 [http-8080-Processor22] DEBUG soap.SoapMessageDispatcher - Testing endpoint adapter [org.springframework.ws.endpoint.MessageEndpointAdapter@154ae5a] 86107 [http-8080-Processor22] DEBUG endpoints.EIMServiceCreateEndpoint - Unmarshalled payload request to [javax.xml.bind.JAXBElement@127a20c] 86107 [http-8080-Processor22] DEBUG endpoints.EIMServiceCreateEndpoint - create web service started. 86107 [http-8080-Processor22] DEBUG endpoints.EIMServiceCreateEndpoint - create web service completed. 86107 [http-8080-Processor22] DEBUG endpoints.EIMServiceCreateEndpoint - Marshalling [de.cas.eim.schema.CreateResponse@fff2a2] to response payload 86170 [http-8080-Processor22] DEBUG soap.SoapMessageDispatcher - Testing endpoint exception resolver [org.springframework.ws.soap.endpoint.SoapFaultMappingExceptionResolver@39b27b] 86170 [http-8080-Processor22] DEBUG servlet.DispatcherServlet - Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@1696e4c 86170 [http-8080-Processor22] DEBUG servlet.DispatcherServlet - Could not complete request java.lang.IllegalStateException: Response already created at org.springframework.ws.soap.context.AbstractSoapMessageContext.createSoapResponse(AbstractSoapMessageContext.java:51) at org.springframework.ws.soap.endpoint.SoapFaultMappingExceptionResolver.resolveExceptionInternal(SoapFaultMappingExceptionResolver.java:75) at org.springframework.ws.endpoint.AbstractEndpointExceptionResolver.resolveException(AbstractEndpointExceptionResolver.java:61) at org.springframework.ws.MessageDispatcher.processEndpointException(MessageDispatcher.java:360) at org.springframework.ws.MessageDispatcher.dispatch(MessageDispatcher.java:261) at org.springframework.ws.MessageDispatcher.invoke(MessageDispatcher.java:209) at org.springframework.ws.transport.http.MessageHandlerAdapter.handle(MessageHandlerAdapter.java:57) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:796) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:727) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) 86170 [http-8080-Processor22] DEBUG support.XmlWebApplicationContext - Publishing event in context [WebApplicationContext for namespace 'eimws-servlet']: ServletRequestHandledEvent: url=[/eim/services]; client=[127.0.0.1]; method=[POST]; servlet=[eimws]; session=[null]; user=[null]; time=[250ms]; status=[failed: java.lang.IllegalStateException: Response already created] 86170 [http-8080-Processor22] DEBUG support.XmlWebApplicationContext - Publishing event in context [Root WebApplicationContext]: ServletRequestHandledEvent: url=[/eim/services]; client=[127.0.0.1]; method=[POST]; servlet=[eimws]; session=[null]; user=[null]; time=[250ms]; status=[failed: java.lang.IllegalStateException: Response already created]
Any idea what's wrong?
It's possible that it is a JAXB2 problem. Any idea how to log messages from it? I looked in the jaxb2 docs and forum, but found no answer.
Cheers,
Ingo



Reply With Quote