ActionScript 3.0 :: ZendAMF Error Handling - Make The PHP File Throw An Exception That Gets Traced As An Error Message
Jul 7, 2010
i am currently trying to learn ZendAMF, but i have a hard time troubleshooting which makes learning it quite hard. Is there a way to make the PHP file throw an exception that gets traced as an error message in AS3 (not Flex), the only error i seem to be able to get is "Error #2044: Unhandled NetStatusEvent:. level=error, code=NetConnection.Call.Failed", but it tells me jack ****.
i have gotten ZendAMF working, i just want to know how i can make error handling better, so that as an example can use PHP to tell flash that no results were found, or that the typed text was invalid. Is it better to use AS3 to check if the field was filled properly?
I'm calling a function in my actionscript called GrabWidget() from the javascript. When I do this from a plain page with just the flash and the javascript link, everything works flawlessly. However, when I add this to a page, I get the error: uncaught exception: Error in Actionscript. Use a try/catch block to find error.I've even gone so far as to empty out the contents of GrabWidget() in my actionscript and I still get the error.
I am trying to emulate (in a limited way) the behavior of JavaScript's XMLHttpRequest object through Flash/ActionScript 3, in order to overcome the same-domain limitation. But I'm discovering that ActionScript has its own limitations in that regard. I admit that I might be mistaken, but from what I understand it is theoretically still possible to do this sort of cross-domain scripting using ActionScript, so long as you get all the permissions right. And that's where I'm running into trouble.
First, I borrowed some open-source code for a class called AjaxRequest, which I have saved as /ajax/AjaxRequest.as. I then created a Flash file called /jsajax.fla which exports to the final SWF file, /jsajax.swf. Now, here's the ActionScript code that comprises the first and only frame of the Flash file:
This is the only case I could not get working, and this is the case I need to get working. The first two were really just test scenarios to see if the script was working at all. When I try to run my jsAjax function here, I wind up with an error that shows up twice in Firebug:
uncaught exception: Error calling method on NPObject! [plugin exception: Error in Actionscript. Use a try/catch block to find error.]. uncaught exception: Error calling method on NPObject! [plugin exception: Error in Actionscript. Use a try/catch block to find error.].
I am trying to and I have the following message error:"the video player is in the connection error state. It enters this state when a video stream attempted to load but was unsuccessful. There are two possible reasons for the error: no connection to the server or the stream was not found."
I've created some error handling for external images loaded via a path in XML. Within the Flash preview it's fine and shows the full error message (and most importantly, the URL that isn't loading).
But in the browser, even locally, it doesn't out put this message!
Here's my code:
function loadIOError(event:IOErrorEvent){ errorLog+=event.text+' '; }
#1006: value is not a function. at MethodInfo-43() I don't know what the problem is, or where could it be, here is the problem code, but first a brief description: Every 3 seconds 3 enemies will be created with a random position, the enemies can't be appearing on top of the other so I check if they collide with any previously added enemies, if they do I assign other random coordinates and check again until there is no collision (I'm using the collision detection kit CDK for the collisions[URL]..the first 3 enemies appear correctly but afterwards the error appears and the next time the program enters the generation part the enemies begin appearing in ridiculous numbers.
I am trying to use ZendAMF to do remote method calls to a MySQL database from Flash and I keep recieving the NetConnection.Call.BadVersion error. My Server is working correctly. Apache 2.2.14 My PHP is working correctly. PHP 5.2.11 My Database is working. MySQL 5.0
My first problem was a security error in Flash. If you try to run a local SWF from the Flash IDE to a web service online, you'll get a security warning which will throw the BadVersion error. However, the security error won't show up if you 'TEST MOVIE' so it took me a while to realize that. I changed my testing process to remove this variable. I am now able to implement my php class code successfully using AMFPHP, which essentially rules out my class as the issue (I think). It seems to be a problem with the Zend implemntation of AMF.
I have followed a tutorial from Lee Brimlow here: [URL]. I was unable to get this to work locally, and I've moved my content onto a web server and can call the Class and Method from my SWF. I've used Charles to view the response. When I go to validate the response in Charles I get this: Validator: Failed to Parse XML Document. Reason: An invalid XML character (Unicode: 0x0) was found in the CDATA section. Line: 65 Column: 87 Can it be handled in PHP?
Here is my ZendAMF code: <?php error_reporting(E_ALL|E_STRICT); ini_set("display_errors", "on"); ini_set("include_path", "./frameworks"); require_once 'Zend/Amf/Server.php'; require_once 'Animal.php'; [Code] .....
Iam trying to execute a SWF file which has its actionscriptwritten in AS3. When i execute this, I am getting an error messagewhich is as followsVerify Error 1030# Stack Depth unbalanced 1 != 0..
When I test some of my as3 movies a new window opens and I can test the file. Yet when I test other movies I get an (error opening url 'file message.) What causes that? It seems to me that if a movie plays it should also test in a new window.
I've written an application that deals with multiple languages, English, French, etc, I'm using Zendamf to retrieve multi-language data from a database, however, I'm running into a problem using Zendamf, and it could kill this project fast:
I've checked the output of the data via Php: the issue is not with the database result - the characters are returned correctly from the database to the Php result-set - I am able to print these characters correctly before they are sent through Zendamf, either by rendering them in HTML or by writing them to a log file.
However, once I plug the SQL result into an object and pass it to Zendamf, the special characters get mangled. Using Charles Web Debugging Proxy, I can see that the result values are mangled before they are passed back to my AS3 application.
I am trying to load an external text file but keep receiving the following error message:
Code: Select allTypeError: Error #2007: Parameter url must be non-null. at flash.net::URLStream/load() at flash.net::URLLoader/load() at lee.dataload::TextLoader()
this is the code i'm using, i'm very new to actionscript so it's probably loaded with errors:
I'm making a system to upload photos to a gallery. I'm using filereference, and it's working alright. I can upload like 20 files fine sometimes.. but when I do like 50, it starts giving me errors on over half the files.
The error is: Error #2044: Unhandled IOErrorEvent:. text=Error #2038: File I/O Error.
This may be a php error, or server error, I'm not sure. Because the file isn't even uploading at all.
I'm calling remote images with with a Loader and the context has checkPolicyFile=true, images load fine with urls like :url....the only difference being escaped characters, is this a bug or am I doing something wrong?url...
I get a Flex 3 sandbox error #2048 after connecting to a Socket on a Java (1.5) server. The server code is all mine, i.e. not running under Apache. Flash Player 10.0 r32.The sequence is as follows...
1 Java server starts, listens on port 843 for policy file request and on port 45455 for my other requests.
2 Flex client served by Apache (although I get the same result if I run it from the file system), socket connection made on host:45455.
3 Flash Player requests policy file from port 843. This is the standard behaviour with the new security settings looking for a master file. It happens regardless of whether a different policy file has been specified.
4 I serve the following XML from Java through port 843:
5 The player writes the following into the debug policy log...
OK: Root-level SWF loaded: http://localhost/bst/BasicSocketTest.swf OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at xmlsocket://192.168.2.3:45455 by requestor from http://localhost/bst/BasicSocketTest.swf OK: Policy file accepted: xmlsocket://192.168.2.3:843 OK: Request for resource at xmlsocket://192.168.2.3:45455 by requestor from http://localhost/bst/BasicSocketTest.swf is permitted due to policy file at xmlsocket://192.168.2.3:843
6 I send a text message from the client to the server on port 45455 using writeUTFBytes() and flush() (this is my own home-baked message protocol, and is correctly processed at each end)
REG/REGISTER;simon;Si
7 Java server thread listening on port 45455 responds with
REG:0/REGISTER:SUCCESS;simon;Si
8 The Flex client receives a ProgressEvent and the event listener I bound to the socket gets called. I process the message (write it to a text box on the screen)
9 The Flash player throws a 2048 sandbox error and the socket is disconnected! This is after the message is received and processed successfully. In fact it is about 12 seconds after. Nothing else works through the socket.
I have tried explicitly loading a policy file with a call to Security.loadPolicyFile() in the Flex client, but the reality of the new player security is that it is basically ignored. The steps are that the policy request will not get sent until a socket i/o operation occurs. At that point the player always goes to port 843 first looking for a master policy file. If it finds one, and it is permissive, it goes no further.
I have tried a variety of alternative ways of terminating the policy file and policy file contents, including deliberate errors just to see if the Flash Player is awake.I can see no reason why I would have a 2048 being thrown. I accurately serve a socket policy file on the designated master security port, which the player itself logs as correct. The socket then successfully sends and receives a message from the server the contents of which are available to my code.
P.S. Please don't tell me to use BlazeDS or LCDS or Granite, or something else as a server, I'm looking for a solution to this problem, not a redesign. And please don't ask me to use an XMLSocket instead - I tried that and get exactly the same result. I have chosen my architecture carefully and deliberately and I want a binary socket.
EDIT :In response to James Ward's request in his comment, here is the entire error message:
Error #2048: Security sandbox violation: http://localhost/bst/BasicSocketTest.swf cannot load data from 192.168.2.3:45455.
I have a stripped down test client which has a handler for each socket event and outputs a message to the screen. This is what it shows:
The close event is fired immediately after successfully receiving a response from the server, however the Error #2048 does not appear until about 20 seconds later. If I try and send a further message after close, but before the error, the Flash Player throws an invalid socket exception.
Code: for (i=1; i<9; i++) { if (this["blank"+i].getChildAt(0) is Letters) { word += this["blank"+i].getChildAt(0).letter; } }
This code throws a range exception if, for instance, "blank2" doesn't contain any children.I just need to be able to basically say, "if this blank doesn't have any children, just skip this code."Normally I would do something along the lines of an if=null statement, but this won't work here because
Code: if (this["blank"+i.getChildAt(0) != null)
obviously throws the same range exception.How do you deal with this? I can't find anything along the lines of a "does blank1 contain any children" sort of method.R
I have a problem with an application that uses RobotLegs in a Flex module. I finally managed to load my module successfully, but when I try to add this line of code in the module view's Mediator:view.addElementAt(applicationContainer,0);
I get this error: TypeError: Error #1009: Cannot access a property or method of a null object reference. at mx.core::UIComponent/getStyle()
hey im trying to make a mp3 player and when u click on a play btn it plays that song. but i keep getting this output error "Error #2044: Unhandled IOErrorEvent:. text=Error #2032: Stream Error. at slide_fla::MainTimeline/frame1()" this is my code
ActionScript Code: import fl.transitions.Tween; import fl.transitions.easing.*; var slidebind:Rectangle = new Rectangle(3, 3, 159, 0); var loadsnd:URLRequest = new URLRequest ("s1.mp3"); var thissnd:Sound = new Sound();
How do you communicate an error to the web service consumer ?
For example, my web service has a function to insert employee into db.Suppose while inserting the data , the database gave an error,what should be the best way to inform the user about the error.
One way is to depict it through the return value of the web service method but what to do when the function is supposed to return a complex object like employee when there is no error ,and will send an error string when there is an error ?
I'm getting following message in my outputpanel when I publisch. Everything works exept I get: Error opening URL "file:///Macintosh%20HD/04.opmaak/templates/undefined"
I'm asking many questions these days but its really urgent
I am doing an application to load xml file into data grid and everything is done now. The only thing left is that i wanna make sure that if the xml file isn't there, the user will not have a runtime error.I have the following code to load the file.
var myXML:XML = new XML();var XML_URL:String = "questions.xml"; var myXMLURL:URLRequest = new URLRequest(XML_URL);var myLoader:URLLoader = new URLLoader(myXMLURL); myLoader.addEventListener("complete", xmlLoaded);
i tried many ways i found on the net using try and catch but didnt work. Anyone can write me the peice of code to hande this error if the file is not there??
I'm working on a game, that loads up external text files to create maps. There is a error if the player moves out of bounds, and there is no map to load. All I need is a sort of check to see if the text file actually exists, before loading it
I'm trying to use the new(ish) AS3 global error handling class. I am trying to use it within a Flex mxml application. I can't get it to work at all. Below is an entire program that shows the problem. I set this to use Flash Player 10.2 and compiled with the Flex 4.5 SDK. I've tried using Flex SDK 4.0 and 4.5 but I get the error in either case. I must be missing something obvious here. This is a normal Flex SWF file that will be shown on a web page. Assuming I could import the UncaughtErrorEvent, I would then do something like this to setup the event handler: