I have an Adobe Flex app that I've written, and of course I occasionally need to call remote procedures on the server sometimes. We use ColdFusion 11 on the server-side to handle these remote calls.
When I install Update #12 on ColdFusion 11, I get the following error when I make a remote call:
faultCode:Client.Message.Encoding faultString:'Creation validation for class 'flex.messaging.io.ObjectProxy' failed.' faultDetail:'null'
It only seems to happen when I send a complex data-type (like an Array of Objects) to the remote function. It doesn't happen when I'm just sending strings.
Also, I'm using a secure channel when I make the remote call -- don't know if that might be the difference or not.
Please let me know if I can provide any further information to help track down the root of this issue. I'm happy to provide any logs you might need, or whatever. Just let me know.
Ball Ground, Georgia, USA
Laurence, did you ever get an answer or fix for this?
Our test server was just updated to this patch and we are experiencing the same error.
Unfortunately, no. The only "solution" was to uninstall Update #12, and go back to Update #11. The only good news is that uninstalling Update 12 was easy and went through flawlessly.
Wish I had an answer for you.
Same issue here guys
On Charlie Arehart's advice, we also checked our update logs to insure that there were no problems with the update process.
How to solve common problems with applying ColdFusion updates (in 10 and above) - Charlie Arehart's ...
And I assume you found no problems, or else you would've mentioned the problem(s) you found, yes?
Yes, sorry. Our log showed everything was successful in applying the update.
So a partial or failed update was not the reason for our encoding faultString bug.
Just wondering if there is a fix for this that doesn't require reverting to Update 11? Vulnerabilities (IAVA) in Update 11 force me to have Update 12 installed. Has anyone installed the new Update 13 and found that this Flex issue is resolved with that update?
I sent up a signal flare in the Adobe channel on the CFML Slack team. I'll reply back again if I hear a response.
Thanks Carl. BTW, we did install Update 13 and the problem still exists. I emailed the cfinstall mail box but got no response. We haven't reverted to Update 11 because of the IAVA.
No, I haven't heard from Adobe.
I should have added that over the weekend I reverted to Update 10 (went from 10 to 12, then 13) and the Flex component works, so this is definitely an issue with both Update 12 and 13. Can I get a response?
I've raised the issue again on Slack asking for someone from Adobe to respond. They claimed they had asked you to file a bug, but I don't know how they contacted you. Is it possible you received an email from Adobe that got trapped in a spam filter?
Thanks for raising it again. My junk emall folder is empty and I have to actively move any quarantined mail to my inbox. I would have seen it.
I've logged the bug as you requested (CF-4199848). I had previously sent several emails to the cfinstall mailbox but got no reply. Perhaps you could contact me to discuss the issue?
Thanks Peter. The team would look at it. Keep following the bug, for updates.
This is *STILL BROKEN*. We just attempted to install Update 13 for ColdFusion 11, and it causes the same error.
When will this be fixed? We need Update 13 so we can be PCI-compliant, but then we can’t do anything with our Flex apps... An unacceptable situation.
I have looked at the bug-tracker here: Tracker
But nothing has been done.
When will this be fixed?!! It is quite urgent!!
I have discovered a work-around...
BTW, Update 13 still has this issue...
The issue only seems to occur if you pass an ArrayCollection from Flex to a function in a .CFC file on the ColdFusion server.
If you pass in an array of strings, for example, it doesn't happen.
If you pass in a complex object that is pre-defined in a CFC file ( a "value object") this issue doesn't occur.
Thus, if you stringify your ArrayCollection (via a JSON Serializer, which can be obtained from a 3rd party, found with a simple Google search) this issue will not occur. Your receiving function in your .CFC file will need to be changed, of course, to accept a string instead of an array. You can de-stringify it once you've got the data in your .CFC's function.
Hope this helps. It'd be real nice if Adobe would simply fix this bug and let us pass ArrayCollections, but until then, use JSON.
I do not work with Flex, but I am curious. You mention using a third-party JSON serializer. Are you aware that CF has it's own JSON serializer and deserializer? No need for third party.
^ _ ^
I think the original poster is talking about code that would go into the Flex app, rather than in the CF backend.
Dave Watts, CTO, Fig Leaf Software
Yep -- a JSON Serializer that works inside a Flex app, before you pass it to ColdFusion. It's got to be in string format before you make the function call to the .CFC.
Ah, got it. I just assumed that Flex had it's own, as well. I was interested in Flex when it first came out, but never got around to actually doing anything with it.
^ _ ^