axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From doug currie <cur...@mitre.org>
Subject Re: fault string: no SOAPAction header!
Date Tue, 30 Jul 2002 17:34:46 GMT
>From (http://www.webservices.org/index.php/article/articlestatic/415/1/24/), it
sounds like the Transport Listener is responsible for adding the SOAP Action
header prior to forwarding to the dispatcher.  Since there's no SOAPAction
header in the debug output, the listener might be a place to look for a
fault?               doug

Matt MacDonald wrote:

> I am encountering the following fault string when I try to invoke the
> delayed quotes example: "fault string: no SOAPAction header!" I have
> setup the TCPMonitor and when viewing the POST data can see that the
> "SOAPAction" header is sent in the POST. I checked the source code and
> the AXISServlet.getSOAPAction method tries to pull the value for the
> header using the following:
>
> String soapAction = (String)req.getHeader(HTTPConstants.HEADER_SOAP_ACTION);
>
> where the class HTTPConstants contains:
>
> public static final String HEADER_SOAP_ACTION = "SOAPAction";
>
> I added code to the getSOAPAction method to dump out the value of all
> the headers:
>
> Enumeration e = req.getHeaderNames();
> while(e.hasMoreElements()) {
>     String s = (String) e.nextElement();
>     if (isDebug) log.debug("Header is  = "+s+ " = "+req.getHeader(s));
> }
>
> and I get the following results:
>
> 2002-07-30 08:32:28,006 DEBUG org.apache.axis.transport.http.AxisServlet
> - Header is  = Host = crank.mitre.org
> 2002-07-30 08:32:28,007 DEBUG org.apache.axis.transport.http.AxisServlet
> - Header is  = Content-Length = 558
> 2002-07-30 08:32:28,007 DEBUG org.apache.axis.transport.http.AxisServlet
> - Header is  = Content-Type = text/xml; charset=utf-8
>
> So it would seem that my servlet container is not pulling out the
> "SOAPAction" header... any thoughts or suggestions?
>
> Running Beta 3 on iPlanet App Server 6.0 sp4 on solaris.
>
> -matt
>
> FROM TCPMonitor:
>
> POST /NASApp/projectaxis/servlet/AxisServlet HTTP/1.0
> Host: crank.mitre.org
> Content-Type: text/xml; charset=utf-8
> SOAPAction: "getQuote"
> Content-Length: 558
>
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
>  <soapenv:Body>
>   <ns1:getQuote xmlns:ns1="urn:xmltoday-delayed-quotes">
>    <symbol xsi:type="ns2:string"
> xmlns:ns2="http://www.w3.org/1999/XMLSchema">IBM</symbol>
>   </ns1:getQuote>
>  </soapenv:Body>
> </soapenv:Envelope>
>
> HTTP/1.1 500 500 Internal Server Error
> Server: Netscape-Enterprise/4.1
> Date: Tue, 30 Jul 2002 12:32:27 GMT
> Content-type: text/xml; charset=utf-8
> Connection: close
>
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>  <soapenv:Body>
>   <soapenv:Fault>
>    <faultcode
> xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
>    <faultstring>no SOAPAction header!</faultstring>
>    <detail>
>     <ns2:stackTrace xmlns:ns2="http://xml.apache.org/axis/">AxisFault
>  faultCode: {http://xml.apache.org/axis/}Client.NoSOAPAction
>  faultString: !
>  faultActor: null
>  faultDetail:
>
> no SOAPAction header!
>     at java.lang.Throwable.fillInStackTrace(Native Method)
>     at java.lang.Throwable.fillInStackTrace(Compiled Code)
>     at java.lang.Throwable.&lt;init&gt;(Compiled Code)
>     at java.lang.Exception.&lt;init&gt;(Compiled Code)
>     at java.io.IOException.&lt;init&gt;(IOException.java:47)
>     at java.rmi.RemoteException.&lt;init&gt;(RemoteException.java:56)
>     at org.apache.axis.AxisFault.&lt;init&gt;(AxisFault.java:122)
>     at org.apache.axis.transport.http.AxisServlet.getSoapAction(Compiled
> Code)
>     at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:580)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
>     at
> com.netscape.server.servlet.servletrunner.ServletInfo.service(Unknown
> Source)
>     at
> com.netscape.server.servlet.servletrunner.ServletRunner.execute(Unknown
> Source)
>     at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
>     at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Compiled Code)
>     at java.lang.Thread.run(Compiled Code)
> </ns2:stackTrace>
>    </detail>
>   </soapenv:Fault>
>  </soapenv:Body>
> </soapenv:Envelope>



Mime
View raw message