Hi,
I need to  print the content of every request/response/fault that comes in or 
goes out from my JAX-RPC web service, that runs under JBoss 4.0.4.
I created a hadler that extends javax.xml.rpc.handler.GenericHandler. I can 
intercept every request / response / fault but I can't get the content of the 
SOAPBody as a text in the xml format.
This is what I've tried:

  | public class mywsLogHandler extends GenericHandler
  | {
  | 
  | ........
  | public boolean handleRequest(MessageContext ctx)
  | {
  |   if (ctx instanceof SOAPMessageContext)            
  |   {
  |     try
  |     {
  |     SOAPMessageContext context = (SOAPMessageContext)ctx;
  |     SOAPEnvelope env = context.getMessage().getSOAPPart().getEnvelope();
  |     SOAPBody body = env.getBody();
  |     System.out.println(body.getTextContent());
  |     }
  |     catch (SOAPException ex)
  |     {       }
  |   }
  | }
  | 
  | ..................
  | }
  | 
I was expecting to see something like :


  | <soapenv:Envelope xmlns:myws='http://www.mycom.com/myws/' 
  |           xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>
  |  <soapenv:Header/>
  |  <soapenv:Body>
  |   <myws:QueryRequest>
  |    <Element1>this is a test</Element1>
  |   </myws:QueryRequest>
  |  </soapenv:Body>
  | </soapenv:Envelope>
  | 

being printen, but instead I get the following Rintime exception:


  | 10:16:48,908  WARN  [HandlerWrapper] RuntimeException in handler method, 
transition to DOES_NOT_EXIST
  | 10:16:48,908  DEBUG [HandlerWrapper] destroy: [EMAIL PROTECTED]
  | 10:16:50,268  ERROR [HandlerChainBaseImpl] RuntimeException in request 
handler
  | org.jboss.util.NotImplementedException: getTextContent
  |     at org.jboss.ws.soap.NodeImpl.getTextContent(NodeImpl.java:622)
  |     at 
com.mycom.myws.ws.handler.mywsLogHandler.handleRequest(mywsLogHandler.java:72)
  |     at 
org.jboss.ws.handler.HandlerWrapper.handleRequest(HandlerWrapper.java:121)
  |     at 
org.jboss.ws.handler.HandlerChainBaseImpl.handleRequest(HandlerChainBaseImpl.java:254)
  |     at 
org.jboss.ws.handler.ServerHandlerChain.handleRequest(ServerHandlerChain.java:47)
  |     at 
org.jboss.ws.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:211)
  |     at 
org.jboss.ws.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:104)
  |     at 
org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:234)
  |     at 
org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServlet.java:120)
  |     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  |     at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  |     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  |     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.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  |     at java.lang.Thread.run(Unknown Source)
  | 10:16:50,268  DEBUG [HandlerChainBaseImpl] Exit: handleRequest with status: 
false
  | 10:16:50,283  DEBUG [SOAPFaultException] new SOAPFaultException 
[code={http://schemas.xmlsoap.org/soap/envelope/}Client,string=org.jboss.util.NotImplementedException:
 getTextContent,actor=null,detail=null]
  | 10:16:50,283  ERROR [SOAPFaultExceptionHelper] SOAP request exception
  | org.jboss.util.NotImplementedException: getTextContent
  |     at org.jboss.ws.soap.NodeImpl.getTextContent(NodeImpl.java:622)
  |     at 
com.mycom.myws.ws.handler.mywsLogHandler.handleRequest(mywsLogHandler.java:72)
  |     at 
org.jboss.ws.handler.HandlerWrapper.handleRequest(HandlerWrapper.java:121)
  |     at 
org.jboss.ws.handler.HandlerChainBaseImpl.handleRequest(HandlerChainBaseImpl.java:254)
  |     at 
org.jboss.ws.handler.ServerHandlerChain.handleRequest(ServerHandlerChain.java:47)
  |     at 
org.jboss.ws.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:211)
  |     at 
org.jboss.ws.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:104)
  |     at 
org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:234)
  |     at 
org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServlet.java:120)
  |     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  |     at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  |     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  |     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.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  |     at java.lang.Thread.run(Unknown Source)
  | 10:16:50,315  DEBUG [HandlerChainBaseImpl] Enter: handleFault
  | 10:16:50,315  DEBUG [HandlerChainBaseImpl] Handle fault: 
[state=DOES_NOT_EXIST,[EMAIL PROTECTED]
  | 10:16:50,315  WARN  [HandlerWrapper] Handler is in state DOES_NOT_EXIST, 
skipping Handler.handleFault for: [EMAIL PROTECTED]
  | 10:16:50,315  DEBUG [HandlerChainBaseImpl] Exit: handleFault with status: 
true
  | 10:16:50,315  DEBUG [ServiceEndpoint] Outgoing SOAPMessage
  | <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
  |  <env:Header/>
  |  <env:Body>
  |   <env:Fault>
  |    <faultcode>env:Client</faultcode>
  |    <faultstring>org.jboss.util.NotImplementedException: 
getTextContent</faultstring>
  |   </env:Fault>
  |  </env:Body>
  | </env:Envelope>
  | 10:16:50,315  DEBUG [ServiceEndpoint] END handleRequest: 
jboss.ws:di=myws.war,service=mywsService,port=mywsSOAP
  | 10:16:50,315  DEBUG [MessageContextAssociation] popMessageContext: [EMAIL 
PROTECTED]
  | 

Could anybody, please, tell me why this isn't working, could this possibly be a 
bug?
Thanks.


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4073899#4073899

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4073899
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to