0 Replies Latest reply on Aug 24, 2006 2:54 AM by atasc

    Problem with SOAP FAULT messages

    atasc
      Hi,
      I'm developing the flash interface for a .NET application. The client side (flash) communicate with server side (.NET) by web services. The problem is that when the server side send a Fault message flash breaks telling "Unable to connect to endpoint........". In this case I need to know the error message send by the server but the fault.faultstring is undefined.
      Here the server Fault message:

      HTTP/1.1 500 Internal Server Error.
      Date: Wed, 23 Aug 2006 09:07:10 GMT
      Server: Microsoft-IIS/6.0
      X-Powered-By: ASP.NET
      X-AspNet-Version: 1.1.4322
      Cache-Control: private
      Content-Type: text/xml; charset=utf-8
      Content-Length: 419

      <?xml version="1.0" encoding="utf-8"?>
      <soap:Envelope xmlns:soap=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=" http://www.w3.org/2001/XMLSchema">
      <soap:Body>
      <soap:Fault>
      <faultcode>SoapHeader</faultcode>
      <faultstring>The userid: xxxx is invalid</faultstring>
      <detail />
      </soap:Fault>
      </soap:Body>
      </soap:Envelope>

      And this the code that handle the fault case:

      pendingcall.onFault = function (fault:Object){
      rootObj.gbl_logger.log("WS Fault: "+ fault.faultstring , 10);
      }


      As you can see the real faultstring is "The userid: xxxx is invalid" but in the faultstring property of the fault object I found "undefined".
      I've read many posts that report that the problem can be solved in the server side modifing the HTTP HEADER from 500 to 200. Unfortunately I can't access the server side code. Exists a way to resolve the problem in the client side? Seems it is a Flash bug as the SOAP 1.1 specs tells that all SOAP Fault messages must carry a HTTP 500 header. Exists some patch that solve the problem?

      Thanks.