You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Paul Spencer <pa...@apache.org> on 2006/01/06 21:44:15 UTC

Getting "no SOAPAction header" using Apache -> mod_jk -> tomcat

I am getting the error below when sending a request to my web service 
that is running on a Tomcat which is frontend by an Apache web server. 
  I suspect this is a configuration error related to passing the HTTP 
header to Tomcat, but I am not sure what to look for.

Other tid-bits of information:
1) The wsdl is returned without error, i.e. 
http://foo.com/services/MyWebService?wsdl.

2) The same web service is deployed on Tomcat 5.5.9 without an Apache 
web server front end.  It work correctly.

Version Information:
   Debian 2.2.6
   Apache v1.3.33
   mod_jk v1.2.5
   Tomcat v4.1.31
   Axis v1.3

**
* Error message
**
Jan 6, 2006 3:09:47 PM org.apache.axis.transport.http.AxisServlet 
getSoapAction
SEVERE: Generating fault class
AxisFault
  faultCode: {http://xml.apache.org/axis/}Client.NoSOAPAction
  faultSubcode:
  faultString: no SOAPAction header!
  faultActor:
  faultNode:
  faultDetail:
         {http://xml.apache.org/axis/}stackTrace:no SOAPAction header!
         at 
org.apache.axis.transport.http.AxisServlet.getSoapAction(AxisServlet.java:1013)
         at 
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:678)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at 
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)


Paul Spencer


Re: Getting "no SOAPAction header" using Apache -> mod_jk -> tomcat (Resolved)

Posted by Paul Spencer <pa...@apache.org>.
Jim,
In short, very little.  We installed NetCat on the server, which is 
running the current stable Debain.  We then used NetCat to dump the 
request sent to port 80.  Since the client ran correctly outside the 
firewall, we compared the dump when running the client inside and then 
outside the firewall.  This told us the firewall was stripping 
SOAPAction from the http header.

We had to use NetCat instead of the tcpmon because the server is in a 
DMZ with only ssh access.

Relative to the Apache and Mod_JK configuration, their is no difference 
in the configuration for a webservice vs a jsp/servlet application.

Paul Spencer



Jim Azeltine wrote:
> So you found the problem and resolved it, but what did you do? I would like to know as our customer uses the same configuration.
>    
>   Jim Azeltine
>   Senior Software Engineer, SAIC
> 
> Paul Spencer <pa...@apache.org> wrote:
>   Found the problem :)
> 
> The outbound firewall was stripping the http header SOAPAction, thus 
> causing the error.
> 
> Paul Spencer
> 
> 
> Paul Spencer wrote:
> 
>>I am getting the error below when sending a request to my web service 
>>that is running on a Tomcat which is frontend by an Apache web server. 
>>I suspect this is a configuration error related to passing the HTTP 
>>header to Tomcat, but I am not sure what to look for.
>>
>>Other tid-bits of information:
>>1) The wsdl is returned without error, i.e. 
>>http://foo.com/services/MyWebService?wsdl.
>>
>>2) The same web service is deployed on Tomcat 5.5.9 without an Apache 
>>web server front end. It work correctly.
>>
>>Version Information:
>>Debian 2.2.6
>>Apache v1.3.33
>>mod_jk v1.2.5
>>Tomcat v4.1.31
>>Axis v1.3
>>
>>**
>>* Error message
>>**
>>Jan 6, 2006 3:09:47 PM org.apache.axis.transport.http.AxisServlet 
>>getSoapAction
>>SEVERE: Generating fault class
>>AxisFault
>>faultCode: {http://xml.apache.org/axis/}Client.NoSOAPAction
>>faultSubcode:
>>faultString: no SOAPAction header!
>>faultActor:
>>faultNode:
>>faultDetail:
>>{http://xml.apache.org/axis/}stackTrace:no SOAPAction header!
>>at 
>>org.apache.axis.transport.http.AxisServlet.getSoapAction(AxisServlet.java:1013) 
>>
>>at 
>>org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:678)
>>at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>>at 
>>org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 
>>
>>at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>>
>>
>>Paul Spencer
>>
>>
> 
> 
>   
> 
> 


Re: Getting "no SOAPAction header" using Apache -> mod_jk -> tomcat (Resolved)

Posted by Jim Azeltine <ja...@sbcglobal.net>.
So you found the problem and resolved it, but what did you do? I would like to know as our customer uses the same configuration.
   
  Jim Azeltine
  Senior Software Engineer, SAIC

Paul Spencer <pa...@apache.org> wrote:
  Found the problem :)

The outbound firewall was stripping the http header SOAPAction, thus 
causing the error.

Paul Spencer


Paul Spencer wrote:
> I am getting the error below when sending a request to my web service 
> that is running on a Tomcat which is frontend by an Apache web server. 
> I suspect this is a configuration error related to passing the HTTP 
> header to Tomcat, but I am not sure what to look for.
> 
> Other tid-bits of information:
> 1) The wsdl is returned without error, i.e. 
> http://foo.com/services/MyWebService?wsdl.
> 
> 2) The same web service is deployed on Tomcat 5.5.9 without an Apache 
> web server front end. It work correctly.
> 
> Version Information:
> Debian 2.2.6
> Apache v1.3.33
> mod_jk v1.2.5
> Tomcat v4.1.31
> Axis v1.3
> 
> **
> * Error message
> **
> Jan 6, 2006 3:09:47 PM org.apache.axis.transport.http.AxisServlet 
> getSoapAction
> SEVERE: Generating fault class
> AxisFault
> faultCode: {http://xml.apache.org/axis/}Client.NoSOAPAction
> faultSubcode:
> faultString: no SOAPAction header!
> faultActor:
> faultNode:
> faultDetail:
> {http://xml.apache.org/axis/}stackTrace:no SOAPAction header!
> at 
> org.apache.axis.transport.http.AxisServlet.getSoapAction(AxisServlet.java:1013) 
> 
> at 
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:678)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> at 
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 
> 
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 
> 
> Paul Spencer
> 
> 

  


Re: Getting "no SOAPAction header" using Apache -> mod_jk -> tomcat (Resolved)

Posted by Paul Spencer <pa...@apache.org>.
Found the problem :)

The outbound firewall was stripping the http header SOAPAction, thus 
causing the error.

Paul Spencer


Paul Spencer wrote:
> I am getting the error below when sending a request to my web service 
> that is running on a Tomcat which is frontend by an Apache web server. 
>  I suspect this is a configuration error related to passing the HTTP 
> header to Tomcat, but I am not sure what to look for.
> 
> Other tid-bits of information:
> 1) The wsdl is returned without error, i.e. 
> http://foo.com/services/MyWebService?wsdl.
> 
> 2) The same web service is deployed on Tomcat 5.5.9 without an Apache 
> web server front end.  It work correctly.
> 
> Version Information:
>   Debian 2.2.6
>   Apache v1.3.33
>   mod_jk v1.2.5
>   Tomcat v4.1.31
>   Axis v1.3
> 
> **
> * Error message
> **
> Jan 6, 2006 3:09:47 PM org.apache.axis.transport.http.AxisServlet 
> getSoapAction
> SEVERE: Generating fault class
> AxisFault
>  faultCode: {http://xml.apache.org/axis/}Client.NoSOAPAction
>  faultSubcode:
>  faultString: no SOAPAction header!
>  faultActor:
>  faultNode:
>  faultDetail:
>         {http://xml.apache.org/axis/}stackTrace:no SOAPAction header!
>         at 
> org.apache.axis.transport.http.AxisServlet.getSoapAction(AxisServlet.java:1013) 
> 
>         at 
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:678)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>         at 
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 
> 
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 
> 
> Paul Spencer
> 
>