Menu

Anyone tried with Tomcat/Axis2?

2008-07-17
2013-04-24
  • Nobody/Anonymous

    Anybody tried yxorp with Tomcat/Axis2.  Seems to work
    except for Axis2 validate app.  Any ideas (example tomcat errro
    triggerred):

    [ERROR] Servlet.service() for servlet jsp threw exception                                                                      
    java.lang.IllegalArgumentException: The MessageContext does not have an associated SOAPFault.                                  
            at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:478)                                       
            at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343)                   
            at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)                             
            at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)                      
            at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)                                           
            at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)                                           
            at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)                                           
            at org.apache.jsp.axis2_002dweb.HappyAxis_jsp.invokeTheService(HappyAxis_jsp.java:338)                                 
            at org.apache.jsp.axis2_002dweb.HappyAxis_jsp._jspService(HappyAxis_jsp.java:494)                                      
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)                                                  
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)                                                        
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)                                     
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)                                            
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)                                                   
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)                                                        
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)                   
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)                           
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)                                 
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)                                 
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)                                       
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)                                       
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)                                   
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)                                         
            at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)                                    
            at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)              
            at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)                                            
            at java.lang.Thread.run(Thread.java:619)                                                                               

     
    • sytse van slooten

      Hi,

      I'm not familiar with Axis2, but my initial guess would be that the problem lies in methods or headers that are not in Yxorp's default configuration. What you could do is
      - Look at the requestdetail log, to see what is coming in to Yxorp, and what it is sending on to the server;
      to enable the requestdetail log, include the following in your config:
      <log requestdetaillog="some file" />
      <requestdetaillog log="1" logerror="0" logreceivedrequest="3" logtransmittedrequest="3" logreceivedresponse="3" logtransmittedresponse="3" />

      - Another option would be to look at Yxorp's debug output, to see whether any headers are not recognized

      - Or you could include <globalconfig doclientheaderunknownchecks="0" /> in your config, to see if that helps. If it does, you should try to find out which headers are missing in Yxorp's defaults, and add them to your config

      If none of the above helps, I'll try to recreate the problem; for that I'll need to understand your setup, exact versions, and yxorp config file.

      --
      Sytse

       
    • Nobody/Anonymous

      Good suggestions, unfortunately I forgot to mention that I was running
      the stable version (1.23.9), and it looks like none of that will work.

      I think I can trap the error based on your suggestions using tcpdump :)
      and now I have a place to start looking.

      -Monty.

       
    • Nobody/Anonymous

      Answer for others: 

      You need a header entry something like this:
      <header id="SOAPAction:"
              xlateid="tomcat.rule"
              client="1"
              server="1"
              maxlen="819200"
              check="none"
      />

      Obviously different for your individual case.

      Thanks, to Sytse for pointing me in the right direction.

      -Monty.

       
    • sytse van slooten

      Monty, thanks, I'll include the header in the dev release.

      --
      Sytse

       

Log in to post a comment.