RE: [flexcoders] Access SOAP fault code
This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level userexception and the faultcode and faultstring is returned in the SOAPbody. The FaultEvent object received by the fault handler functiondoes not contain the faultcode and the faultstring from the SOAPmessage. The faultDetail in the FaultEvent object is of type "ioError"and the error text is "Error #2032: Stream error .." . Whilst theactual SOAP faultcode is "soapenv:Server.userException" and the SOAPfaultstring is "coldfusion.xml.rpc.CFCInvocationException:[coldfusion.runtime.UndefinedElementException : Element SPELER.ID isundefined in SESSION."This is custom exception thrown by a remote function in a ColdFusionCFC. This is not an ioError. A TCPmonitor shows the correct message request and response with thefaultstring and faultcode as expected. How can the actual SOAP faultcode and faultstring be retrieved fromthe FaultEvent or in any other way. Why is the fault description inthe FaultEvent object totally different from the actual SOAP faultmessage. It is not a transport error so why does the FaultEvent showsan ioError. It is an application level exception and as such returnedto the Flash application encapsulated in the SOAP body. Any suggestions, thank you __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] Access SOAP fault code
This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level userexception and the faultcode and faultstring is returned in the SOAPbody. The FaultEvent object received by the fault handler functiondoes not contain the faultcode and the faultstring from the SOAPmessage. The faultDetail in the FaultEvent object is of type "ioError"and the error text is "Error #2032: Stream error .." . Whilst theactual SOAP faultcode is "soapenv:Server.userException" and the SOAPfaultstring is "coldfusion.xml.rpc.CFCInvocationException:[coldfusion.runtime.UndefinedElementException : Element SPELER.ID isundefined in SESSION."This is custom exception thrown by a remote function in a ColdFusionCFC. This is not an ioError. A TCPmonitor shows the correct message request and response with thefaultstring and faultcode as expected. How can the actual SOAP faultcode and faultstring be retrieved fromthe FaultEvent or in any other way. Why is the fault description inthe FaultEvent object totally different from the actual SOAP faultmessage. It is not a transport error so why does the FaultEvent showsan ioError. It is an application level exception and as such returnedto the Flash application encapsulated in the SOAP body. Any suggestions, thank you [Inbound Mail Scanned by MessageLabs] __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] Access SOAP fault code
Preaching to the choir. :) Believe me...we feel the same way. From everything we have heard from Adobe, this will not be addressed within the player within this release. That being said, does CF support anything like filters in J2EE that allow you to do things like alter the contents of all responses before they leave the server? If so, you can simply change that HTTP status code to 200 for all CFC requests that have resulted in SOAP faults. Just to clarify, Adobe told us informally that they would be coming up with various server side solutions that would take care of this for you. You would have to check with them to see if they are doing this for Cold Fusion. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:06 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level userexception and the faultcode and faultstring is returned in the SOAPbody. The FaultEvent object received by the fault handler functiondoes not contain the faultcode and the faultstring from the SOAPmessage. The faultDetail in the FaultEvent object is of type "ioError"and the error text is "Error #2032: Stream error .." . Whilst theactual SOAP faultcode is "soapenv:Server.userException" and the SOAPfaultstring is "coldfusion.xml.rpc.CFCInvocationException:[coldfusion.runtime.UndefinedElementException : Element SPELER.ID isundefined in SESSION."This is custom exception thrown by a remote function in a ColdFusionCFC. This is not an ioError. A TCPmonitor shows the correct message request and response with thefaultstring and faultcode as expected. How can the actual SOAP faultcode and faultstring be retrieved fromthe FaultEvent or in any other way. Why is the fault description inthe FaultEvent object totally different from the actual SOAP faultmessage. It is not a transport error so why does the FaultEvent showsan ioError. It is an application level exception and as such returnedto the Flash application encapsulated in the SOAP body. Any suggestions, thank you[Inbound Mail Scanned by MessageLabs]__This email has been scanned by the MessageLabs Email Security System.For more information please visit http://www.messagelabs.com/email __ __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] Access SOAP fault code
We're using .NET web services, no cold fusion. Looks like we'll have to wrap all responses in try/catch, and return an object with an error property, and the actual data as another property. Disgusting :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:11To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Preaching to the choir. :) Believe me...we feel the same way. From everything we have heard from Adobe, this will not be addressed within the player within this release. That being said, does CF support anything like filters in J2EE that allow you to do things like alter the contents of all responses before they leave the server? If so, you can simply change that HTTP status code to 200 for all CFC requests that have resulted in SOAP faults. Just to clarify, Adobe told us informally that they would be coming up with various server side solutions that would take care of this for you. You would have to check with them to see if they are doing this for Cold Fusion. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:06 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level userexception and the faultcode and faultstring is returned in the SOAPbody. The FaultEvent object received by the fault handler functiondoes not contain the faultcode and the faultstring from the SOAPmessage. The faultDetail in the FaultEvent object is of type "ioError"and the error text is "Error #2032: Stream error .." . Whilst theactual SOAP faultcode is "soapenv:Server.userException" and the SOAPfaultstring is "coldfusion.xml.rpc.CFCInvocationException:[coldfusion.runtime.UndefinedElementException : Element SPELER.ID isundefined in SESSION."This is custom exception thrown by a remote function in a ColdFusionCFC. This is not an ioError. A TCPmonitor shows the correct message request and response with thefaultstring and faultcode as expected. How can the actual SOAP faultcode and faultstring be retrieved fromthe FaultEvent or in any other way. Why is the fault description inthe FaultEvent object totally different from the actual SOAP faultmessage. It is not a transport error so why does the FaultEvent showsan ioError. It is an application level exception and as such returnedto the Flash application encapsulated in the SOAP body. Any suggestions, thank you[Inbound Mail Scanned by MessageLabs]__This email has been scanned by the MessageLabs Email Security System.For more information please visit http://www.messagelabs.com/email __ [Inbound Mail Scanned by MessageLabs] __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS
RE: [flexcoders] Access SOAP fault code
Sorry. I got you mixed up with the original poster. I'd be really surprised if you couldn't do this in .NET more generically than that. I'd hate to see you have to change all of your implementations. We made this very clear to Adobe that this was not acceptable but that didn't seem to matter. It was made pretty clear to us that the player would not be changing. Personally, I'd rather the product was delayed in order to get this right from the beginning. Once more people who have significant experience come to Flex, they are all going to find this as apalling as you have. I'd hate to see Flex geta bad rap over this. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:21 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code We're using .NET web services, no cold fusion. Looks like we'll have to wrap all responses in try/catch, and return an object with an error property, and the actual data as another property. Disgusting :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:11To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Preaching to the choir. :) Believe me...we feel the same way. From everything we have heard from Adobe, this will not be addressed within the player within this release. That being said, does CF support anything like filters in J2EE that allow you to do things like alter the contents of all responses before they leave the server? If so, you can simply change that HTTP status code to 200 for all CFC requests that have resulted in SOAP faults. Just to clarify, Adobe told us informally that they would be coming up with various server side solutions that would take care of this for you. You would have to check with them to see if they are doing this for Cold Fusion. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:06 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level userexception and the faultcode and faultstring is returned in the SOAPbody. The FaultEvent object received by the fault handler functiondoes not contain the faultcode and the faultstring from the SOAPmessage. The faultDetail in the FaultEvent object is of type "ioError"and the error text is "Error #2032: Stream error .." . Whilst theactual SOAP faultcode is "soapenv:Server.userException" and the SOAPfaultstring is "coldfusion.xml.rpc.CFCInvocationException:[coldfusion.runtime.UndefinedElementException : Element SPELER.ID isundefined in SESSION."This is custom exception thrown by a remote function in a ColdFusionCFC. This is not an ioError. A TCPmonitor shows the correct message request and response with thefaultstring and faultcode as expected. How can the actual SOAP faultcode and faultstring be retrieved fromthe FaultEvent or in any other way. Why is the fault description inthe FaultEvent object totally different from the actual SOAP faultmessage. It is not a transport error so why does the FaultEvent showsan ioError. It is an application level exception and as such returnedto the Flash application encapsulated in the SOAP body. Any suggestions, thank you[Inbound Mail Scanned by MessageLabs]
RE: [flexcoders] Access SOAP fault code
Clarification...significant experience in web services development. Carson From: flexcoders@yahoogroups.com on behalf of Carson HagerSent: Tue 6/20/2006 9:21 AMTo: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Sorry. I got you mixed up with the original poster. I'd be really surprised if you couldn't do this in .NET more generically than that. I'd hate to see you have to change all of your implementations. We made this very clear to Adobe that this was not acceptable but that didn't seem to matter. It was made pretty clear to us that the player would not be changing. Personally, I'd rather the product was delayed in order to get this right from the beginning. Once more people who have significant experience come to Flex, they are all going to find this as apalling as you have. I'd hate to see Flex geta bad rap over this. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:21 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code We're using .NET web services, no cold fusion. Looks like we'll have to wrap all responses in try/catch, and return an object with an error property, and the actual data as another property. Disgusting :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:11To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Preaching to the choir. :) Believe me...we feel the same way. From everything we have heard from Adobe, this will not be addressed within the player within this release. That being said, does CF support anything like filters in J2EE that allow you to do things like alter the contents of all responses before they leave the server? If so, you can simply change that HTTP status code to 200 for all CFC requests that have resulted in SOAP faults. Just to clarify, Adobe told us informally that they would be coming up with various server side solutions that would take care of this for you. You would have to check with them to see if they are doing this for Cold Fusion. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:06 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level userexception and the faultcode and faultstring is returned in the SOAPbody. The FaultEvent object received by the fault handler functiondoes not contain the faultcode and the faultstring from the SOAPmessage. The faultDetail in the FaultEvent object is of type "ioError"and the error text is "Error #2032: Stream error .." . Whilst theactual SOAP faultcode is "soapenv:Server.userException" and the SOAPfaultstring is "coldfusion.xml.rpc.CFCInvocationException:[coldfusion.runtime.UndefinedElementException : Element SPELER.ID isundefined in SESSION."This is custom exception thrown by a remote function in a ColdFusionCFC. This is not an ioError. A TCPmonitor shows the correct message request and response with thefaultstring and faultcode as expected. How can the actual SOAP faultcode and faultstring be retrieved fromthe FaultEvent or in any other way. Why is the fault description inthe FaultEvent object totally different from the actual SOAP faultmessage. It is not a t
RE: [flexcoders] Access SOAP fault code
If you can get hold of the pure HTTP response in .NET (which I doubt) then you could set the HTTP status code to 200. This way the exception will be handled correctly by Flash Player (and that's how the Flex WS proxy handle this, too) Another way would be to use servlet/ISAPI filters for this. With servlet filters this should be straightforward, not sure about ISAPI filters however. Dirk. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Daniel TuppenySent: Tuesday, June 20, 2006 3:22 PMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code We're using .NET web services, no cold fusion. Looks like we'll have to wrap all responses in try/catch, and return an object with an error property, and the actual data as another property. Disgusting :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:11To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Preaching to the choir. :) Believe me...we feel the same way. From everything we have heard from Adobe, this will not be addressed within the player within this release. That being said, does CF support anything like filters in J2EE that allow you to do things like alter the contents of all responses before they leave the server? If so, you can simply change that HTTP status code to 200 for all CFC requests that have resulted in SOAP faults. Just to clarify, Adobe told us informally that they would be coming up with various server side solutions that would take care of this for you. You would have to check with them to see if they are doing this for Cold Fusion. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:06 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level userexception and the faultcode and faultstring is returned in the SOAPbody. The FaultEvent object received by the fault handler functiondoes not contain the faultcode and the faultstring from the SOAPmessage. The faultDetail in the FaultEvent object is of type "ioError"and the error text is "Error #2032: Stream error .." . Whilst theactual SOAP faultcode is "soapenv:Server.userException" and the SOAPfaultstring is "coldfusion.xml.rpc.CFCInvocationException:[coldfusion.runtime.UndefinedElementException : Element SPELER.ID isundefined in SESSION."This is custom exception thrown by a remote function in a ColdFusionCFC. This is not an ioError. A TCPmonitor shows the correct message request and response with thefaultstring and faultcode as expected. How can the actual SOAP faultcode and faultstring be retrieved fromthe FaultEvent or in any other way. Why is the fault description inthe FaultEvent object totally different from the actual SOAP faultmessage. It is not a transport error so why does the FaultEvent showsan ioError. It is an application level exception and as such returnedto the Flash application encapsulated in the SOAP body. Any suggestions
RE: [flexcoders] Access SOAP fault code
We've not got many implementations so far, so there's not a great deal to change, it's the fact that it's messy thatI don't like, rather than there's more work involved. Having real exceptions sent back to the client is way more convenient than try/catch'ing everything and returning a custom error object. Maybe we can add some HttpHandlers that catch our web services and change the response header, but it's a little nasty, especially given those services may be called by other apps (like ClickOnce WinForms), which we'd want to server the real response to. We'll play around when we get that far, and see what works best. Thanks for the info! From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:22To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Sorry. I got you mixed up with the original poster. I'd be really surprised if you couldn't do this in .NET more generically than that. I'd hate to see you have to change all of your implementations. We made this very clear to Adobe that this was not acceptable but that didn't seem to matter. It was made pretty clear to us that the player would not be changing. Personally, I'd rather the product was delayed in order to get this right from the beginning. Once more people who have significant experience come to Flex, they are all going to find this as apalling as you have. I'd hate to see Flex geta bad rap over this. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:21 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code We're using .NET web services, no cold fusion. Looks like we'll have to wrap all responses in try/catch, and return an object with an error property, and the actual data as another property. Disgusting :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:11To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Preaching to the choir. :) Believe me...we feel the same way. From everything we have heard from Adobe, this will not be addressed within the player within this release. That being said, does CF support anything like filters in J2EE that allow you to do things like alter the contents of all responses before they leave the server? If so, you can simply change that HTTP status code to 200 for all CFC requests that have resulted in SOAP faults. Just to clarify, Adobe told us informally that they would be coming up with various server side solutions that would take care of this for you. You would have to check with them to see if they are doing this for Cold Fusion. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:06 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level userexception and the faultcode and faultstring is returned in the SOAPbody. The FaultEvent object received by the fault handler functiondoes not contain the faultcode and the faultstring from the SOAPmessage. The faultDetail in the FaultEvent object is of type "ioError"and the error text is "Error #2032: Stream error .." . Whilst theactual SOAP faultcode is "soapenv:Server.user
RE: [flexcoders] Access SOAP fault code
We can add HttpHandlers and HttpModules that would allow us to intercept what's going out. It'll have an impact on performance, but it might be worth it! From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Dirk EismannSent: 20 June 2006 14:33To: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code If you can get hold of the pure HTTP response in .NET (which I doubt) then you could set the HTTP status code to 200. This way the exception will be handled correctly by Flash Player (and that's how the Flex WS proxy handle this, too) Another way would be to use servlet/ISAPI filters for this. With servlet filters this should be straightforward, not sure about ISAPI filters however. Dirk. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Daniel TuppenySent: Tuesday, June 20, 2006 3:22 PMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code We're using .NET web services, no cold fusion. Looks like we'll have to wrap all responses in try/catch, and return an object with an error property, and the actual data as another property. Disgusting :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:11To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Preaching to the choir. :) Believe me...we feel the same way. From everything we have heard from Adobe, this will not be addressed within the player within this release. That being said, does CF support anything like filters in J2EE that allow you to do things like alter the contents of all responses before they leave the server? If so, you can simply change that HTTP status code to 200 for all CFC requests that have resulted in SOAP faults. Just to clarify, Adobe told us informally that they would be coming up with various server side solutions that would take care of this for you. You would have to check with them to see if they are doing this for Cold Fusion. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:06 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level userexception and the faultcode and faultstring is returned in the SOAPbody. The FaultEvent object received by the fault handler functiondoes not contain the faultcode and the faultstring from the SOAPmessage. The faultDetail in the FaultEvent object is of type "ioError"and the error text is "Error #2032: Stream error .." . Whilst theactual SOAP faultcode is "soapenv:Server.userException" and the SOAPfaultstring is "coldfusion.xml.rpc.CFCInvocationException:[coldfusion.runtime.UndefinedElementException : Element SPELER.ID isundefined in SESSION."This is custom exception thrown by a remote function in a ColdFusionCFC. This is not an ioError. A TCPmonitor shows the correct message request and response with thefaultstring and faultcode as expected. How can the actual SOAP faultcode and faultstring be retrieved fromthe FaultEvent or in any other way. Why is the fault description
RE: [flexcoders] Access SOAP fault code
You can definitely do this so that only the flex app gets the affected response. The FP has a unique user agent name that you can look at to determine if you need to change the http status code or not. That's how we've done this. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:50 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code We've not got many implementations so far, so there's not a great deal to change, it's the fact that it's messy thatI don't like, rather than there's more work involved. Having real exceptions sent back to the client is way more convenient than try/catch'ing everything and returning a custom error object. Maybe we can add some HttpHandlers that catch our web services and change the response header, but it's a little nasty, especially given those services may be called by other apps (like ClickOnce WinForms), which we'd want to server the real response to. We'll play around when we get that far, and see what works best. Thanks for the info! From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:22To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Sorry. I got you mixed up with the original poster. I'd be really surprised if you couldn't do this in .NET more generically than that. I'd hate to see you have to change all of your implementations. We made this very clear to Adobe that this was not acceptable but that didn't seem to matter. It was made pretty clear to us that the player would not be changing. Personally, I'd rather the product was delayed in order to get this right from the beginning. Once more people who have significant experience come to Flex, they are all going to find this as apalling as you have. I'd hate to see Flex geta bad rap over this. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:21 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code We're using .NET web services, no cold fusion. Looks like we'll have to wrap all responses in try/catch, and return an object with an error property, and the actual data as another property. Disgusting :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:11To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Preaching to the choir. :) Believe me...we feel the same way. From everything we have heard from Adobe, this will not be addressed within the player within this release. That being said, does CF support anything like filters in J2EE that allow you to do things like alter the contents of all responses before they leave the server? If so, you can simply change that HTTP status code to 200 for all CFC requests that have resulted in SOAP faults. Just to clarify, Adobe told us informally that they would be coming up with various server side solutions that would take care of this for you. You would have to check with them to see if they are doing this for Cold Fusion. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:06 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent: Tue 6/20/2006 3:58 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Access SOAP fault code Scenario:Flash players talks directly to a SOAP web service, no proxy is used.The proxy attribute of the WebService element is set to "false". Aspecific web service operation generates an application level use
RE: [flexcoders] Access SOAP fault code
Cool, I thought it just copied the one from IE! In any case, I guess the WinForms onewould be different. Thanks :-) From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 15:01To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code You can definitely do this so that only the flex app gets the affected response. The FP has a unique user agent name that you can look at to determine if you need to change the http status code or not. That's how we've done this. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:50 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code We've not got many implementations so far, so there's not a great deal to change, it's the fact that it's messy thatI don't like, rather than there's more work involved. Having real exceptions sent back to the client is way more convenient than try/catch'ing everything and returning a custom error object. Maybe we can add some HttpHandlers that catch our web services and change the response header, but it's a little nasty, especially given those services may be called by other apps (like ClickOnce WinForms), which we'd want to server the real response to. We'll play around when we get that far, and see what works best. Thanks for the info! From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:22To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Sorry. I got you mixed up with the original poster. I'd be really surprised if you couldn't do this in .NET more generically than that. I'd hate to see you have to change all of your implementations. We made this very clear to Adobe that this was not acceptable but that didn't seem to matter. It was made pretty clear to us that the player would not be changing. Personally, I'd rather the product was delayed in order to get this right from the beginning. Once more people who have significant experience come to Flex, they are all going to find this as apalling as you have. I'd hate to see Flex geta bad rap over this. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:21 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code We're using .NET web services, no cold fusion. Looks like we'll have to wrap all responses in try/catch, and return an object with an error property, and the actual data as another property. Disgusting :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 14:11To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code Preaching to the choir. :) Believe me...we feel the same way. From everything we have heard from Adobe, this will not be addressed within the player within this release. That being said, does CF support anything like filters in J2EE that allow you to do things like alter the contents of all responses before they leave the server? If so, you can simply change that HTTP status code to 200 for all CFC requests that have resulted in SOAP faults. Just to clarify, Adobe told us informally that they would be coming up with various server side solutions that would take care of this for you. You would have to check with them to see if they are doing this for Cold Fusion. Carson From: flexcoders@yahoogroups.com on behalf of Daniel TuppenySent: Tue 6/20/2006 9:06 AMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This sounds pretty worrying. We're using SOAP without any server/proxy.So wewon't be able to get theSOAP exceptions at all? That sounds like rather a fundamental flaw. It means we're unable to give the user any sensible messages, because we don't have the exception type. Is this not being fixed for the final release? :-( From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Carson HagerSent: 20 June 2006 13:29To: flexcoders@yahoogroups.com; flexcoders@yahoogroups.comSubject: RE: [flexcoders] Access SOAP fault code This is currently a limitation in the Flash Player ( all versions ). SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket. The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before theFP receives it. Yes I realize that this is pretty poor and has serious limitations. One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control. Carson From: flexcoders@yahoogroups.com on behalf of m88e24Sent