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

