We have been encountering random SOAP Faults in our application. Definitely something is going wrong. We have a CF implementation for webservices (using coldspring) consumed by the flex application. The end users are randomly encountering Fault events. We are using FLEX SDK 3.5
Here are the details - faultCode = DecodingError faultString = SOAP Response cannot be decoded. Raw response: null faultDetail = null The same webservice call works 99% of the time. Randomly we encounter some faults. I have gone through this URL http://www.judahfrangipane.com/blog/?p=87 and some others with no resolution. Monitoring the network SOAP packets using Fiddler, we get HTTP 200 OK response without any error. We enabled Flash Debug logging with all events to be logegd into flashLog.txt and we found that the fault is generated internal to the framework - Here are the details - 2/17/2010 09:28:11.935 [INFO] mx.rpc.soap.Operation Creating SOAP Operation for getCacheUpdates 2/17/2010 09:28:11.935 [DEBUG] mx.rpc.soap.Operation Invoking SOAP operation getCacheUpdates 2/17/2010 09:28:11.935 [DEBUG] mx.rpc.soap.SOAPEncoder Encoding SOAP request envelope 2/17/2010 09:28:11.945 [DEBUG] mx.rpc.soap.SOAPEncoder Encoding SOAP request body 2/17/2010 09:28:11.945 [INFO] mx.messaging.Producer 'E62FB659-260E-FDD0-479B-DC8AAF12EE52' producer sending message 'FACB3D46-5745-E0B7-4F3C-DC8B26A9872C' 2/17/2010 09:28:11.945 [DEBUG] mx.messaging.Channel 'direct_http_channel' channel sending message: (mx.messaging.messages::SOAPMessage)#0 body = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body SOAP-ENV:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/"> <intf:getCacheUpdates xmlns:intf="http://webservices.com.webservices"> <adex xsi:type="xsd:string"><adex> <header> <status>true</status> <operatorToken/> <terminalToken/> </header> <body> <data name="cacheStatus" dataType="object"><![CDATA[{"park":"02/16/2010 06:02:07 PM","parkPass":"01/01/2000 12:00:00 AM","country":"02/16/2010 06:02:07 PM","site":"02/16/2010 06:02:07 PM","loop":"02/16/2010 06:02:07 PM","ticketType":"02/16/2010 06:02:07 PM","discount":"02/16/2010 06:02:07 PM","location":"02/16/2010 06:02:07 PM","equipment":"02/16/2010 06:02:07 PM","campground":"02/17/2010 09:28:11 AM","asset":"01/01/2000 12:00:00 AM","state":"02/16/2010 06:02:07 PM","retail":"02/16/2010 06:02:07 PM"}]]></data> <data name="parkId" dataType="numeric"><![CDATA[511]]></data> <data name="locationId" dataType="numeric"><![CDATA[6558]]></data> </body> </adex></adex> </intf:getCacheUpdates> </SOAP-ENV:Body> </SOAP-ENV:Envelope>" clientId = "DirectHTTPChannel0" contentType = "text/xml; charset=utf-8" destination = "DefaultHTTP" headers = (Object)#1 httpHeaders = (Object)#2 SOAPAction = """" messageId = "FACB3D46-5745-E0B7-4F3C-DC8B26A9872C" method = "POST" recordHeaders = false timestamp = 0 timeToLive = 0 url = "http://xyz/webservices/com/webservices/CachingWebServices.cfc" 2/17/2010 09:28:12.505 [INFO] mx.messaging.Producer 'E62FB659-260E-FDD0-479B-DC8AAF12EE52' producer acknowledge of 'FACB3D46-5745-E0B7-4F3C-DC8B26A9872C'. *2/17/2010 09:28:12.505 [ERROR] mx.messaging.Producer 'E62FB659-260E-FDD0-479B-DC8AAF12EE52' producer fault for 'FACB3D46-5745-E0B7-4F3C-DC8B26A9872C'.* ** *Its actually getting generated from Line 710 of mx.messaging.MessageAgent.as* ** ** *Here is the RAW Response in the fiddler (HTTP 200 OK)* HTTP/1.1 200 OK Connection: close Date: Wed, 17 Feb 2010 15:22:46 GMT Content-Type: text/xml; charset=utf-8 Server: Microsoft-IIS/6.0 PICS-Label: (PICS-1.0 "http://www.rsac.org/ratingsv01.html" l on "2009.11.13T12:51-0600" exp "2015.11.13T12:00-0600" r (v 0 s 0 n 0 l 0)) X-Powered-By: ASP.NET Vary: Accept-Encoding Set-Cookie: Coyote-2-a0305b5=a030548:0; path=/ Content-Length: 1345 <?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> <ns1:getCacheUpdatesResponse soapenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1=" http://webservices.com.webservices"> <getCacheUpdatesReturn xsi:type="soapenc:string" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/"><?xml<http://schemas.xmlsoap.org/soap/encoding/%22%3E<?xml>version="1.0" encoding="UTF-8"?> <adex><header><status>true</status><operatorToken></operatorToken><terminalToken></terminalToken></header><body><data datatype="query" name="cacheUpdates"><![CDATA[{"COLUMNS":["CACHENAME","GETUPDATE"],"DATA":[["park",0],["location",0],["campground",0],["loop",0],["state",0],["asset",0],["country",0],["site",0],["ticketType",194],["parkPass",18631],["equipment",0],["discount",0],["retail",1.0]]}]]></data></body></adex></getCacheUpdatesReturn> </ns1:getCacheUpdatesResponse> </soapenv:Body> </soapenv:Envelope> *Ideally this is how the packets should go through (for another operation which goes through fine )-* 2/17/2010 09:28:10.523 [INFO] mx.rpc.soap.Operation Creating SOAP Operation for getSystemDateTime 2/17/2010 09:28:10.523 [DEBUG] mx.rpc.soap.Operation Invoking SOAP operation getSystemDateTime 2/17/2010 09:28:10.523 [DEBUG] mx.rpc.soap.SOAPEncoder Encoding SOAP request envelope 2/17/2010 09:28:10.523 [DEBUG] mx.rpc.soap.SOAPEncoder Encoding SOAP request body 2/17/2010 09:28:10.523 [INFO] mx.messaging.Producer 'A9887317-57D3-3B38-74A0-DC8AA2A2D59C' producer sending message '55C1476D-A54B-11F2-512C-DC8B211B8D6E' 2/17/2010 09:28:10.533 [DEBUG] mx.messaging.Channel 'direct_http_channel' channel sending message: (mx.messaging.messages::SOAPMessage)#0 body = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body SOAP-ENV:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/"> <intf:getSystemDateTime xmlns:intf="http://webservices.com.webservices"/<http://webservices.com.webservices%22/> > </SOAP-ENV:Body> </SOAP-ENV:Envelope>" clientId = "DirectHTTPChannel0" contentType = "text/xml; charset=utf-8" destination = "DefaultHTTP" headers = (Object)#1 httpHeaders = (Object)#2 SOAPAction = """" messageId = "55C1476D-A54B-11F2-512C-DC8B211B8D6E" method = "POST" recordHeaders = false timestamp = 0 timeToLive = 0 url = "http://xyz/webservices/com/webservices/SecurityWebServices.cfc" 2/17/2010 09:28:11.534 [INFO] mx.messaging.Producer 'A9887317-57D3-3B38-74A0-DC8AA2A2D59C' producer acknowledge of '55C1476D-A54B-11F2-512C-DC8B211B8D6E'. 2/17/2010 09:28:11.534 [INFO] mx.rpc.soap.SOAPDecoder Decoding SOAP response 2/17/2010 09:28:11.544 [DEBUG] mx.rpc.soap.SOAPDecoder Encoded SOAP response <?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> <ns1:getSystemDateTimeResponse soapenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1=" http://webservices.com.webservices"> <getSystemDateTimeReturn xsi:type="soapenc:string" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/"><?xml<http://schemas.xmlsoap.org/soap/encoding/%22%3E<?xml>version="1.0" encoding="UTF-8"?> <adex><header><status>true</status><operatorToken></operatorToken><terminalToken></terminalToken></header><body><data datatype="date" name="CurrentDateTime"><![CDATA[February 17, 2010 09:02:16]]></data></body></adex></getSystemDateTimeReturn> </ns1:getSystemDateTimeResponse> </soapenv:Body> </soapenv:Envelope> 2/17/2010 09:28:11.554 [DEBUG] mx.rpc.soap.SOAPDecoder Decoding SOAP response envelope 2/17/2010 09:28:11.554 [DEBUG] mx.rpc.soap.SOAPDecoder Decoding SOAP response body 2/17/2010 09:28:11.554 [INFO] mx.rpc.soap.SOAPDecoder Decoded SOAP response into result [20 millis] *Before i dig into checking out Flex SDK framework to build / compile / put breakpoints and debug, I just wanted to know if anyone has an outright solution for a similar problem encountered before.* Thanks Arun