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)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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)
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
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.
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.
Monty, thanks, I'll include the header in the dev release.
--
Sytse