On Thu, Jul 2, 2009 at 8:58 AM, Mar Estillore<[email protected]> wrote:
> Hi all,
>
> Need some help on how to handle the exception below, got stuck with the same
> issue.  It's on google but had no luck finding the solution, will appreciate
> any lead on how to solve this from the .net webservice side.
>
> Thank you.
>
> Header SOAPAction is empty
>
> ________________________________
>
> Hi!
>
> I have a really annoying problem and I really appretiate any help I can get.
>
> I have created a webservice serverapplication that is called on from a
> weblogic client written in Java. I have no control over the client and can
> not change its behaviour in any way, I am dependent on this client to send
> me notifications. The problem is that the client is sending an empty
> SOAPAction header:
>
> POST /Notification/Service.asmx HTTP/1.1
> Content-Type: text/xml; charset="utf-8"
> SOAPAction: ""
> User-Agent: Java1.5.0_14
> Host: 127.0.0.1:1535
> Accept: text/html, image/gif, image/jpeg, */*; q=.2
> Connection: Keep-Alive
> Content-Length: 279
>
> .Net requires the SOAPAction header to be non-empty which it isn't thus I'm
> getting a HTTP/1.1 500 Internal Server Error and the error description is
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>System.Web.Services.Protocols.SoapException:
> Server did not recognize the value of HTTP Header SOAPAction.

hi mar,

I read the SOAP version 1.1 specification this afternoon specifically
on the SOAP HTTP Request section 6.1
(http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383527)... the
client is not violating that specification as it allows to send an
*empty string* ("") in the SOAPAction HTTP Header...

unfortunately... your SOAP server is not accepting empty string which
gives you an error of client fault..

your server is the one violating the specification... the
specification tells that if there is an empty string... the intent of
the SOAP message is provided by the HTTP Request-URI which is
"Notification/Service.asmx" as the soap action...


you have two options here...

1. modify the server side handler to fix the problem... or...
2. if you dont have control the server side handler..  install apache
acting as reverse proxy (mod_proxy) and modify the incoming SOAP HTTP
request (mod_headers) specifically the SOAPAction header to a
non-empty string before passing to your SOAP server... this will make
your SOAP server happy...

fooler.
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Reply via email to