[flexcoders] unsubscribe
[flexcoders] DataGrid data object: strong typing?
Hi guys, I'd like to pass the entire data object from a DataGrid ItemRenderer to a method in my controller, when the row is clicked. The controller method requires an object of a specific type. I have filled the DataGrid dataprovider with strongly typed objects, but when I access them via the data property of the item renderer, they come through as plain objects. I can't seem to cast them to their original type either. If this description makes any sense, has anyone dealt with this before? Any suggestions? Thanks a million
Re: [flexcoders] DataGrid data object: strong typing?
As often happens, the answer came to me the minute I posted. Turns out you can cast the data object to something else: but if you're using an inline component declaration in your item renderer, you have to include a script block and import the necessary classes. Like always. Like an intelligent person would. :) On Sep 7, 2007, at 3:41 PM, Tom Lee [EMAIL PROTECTED] wrote: Hi guys, I'd like to pass the entire data object from a DataGrid ItemRenderer to a method in my controller, when the row is clicked. The controller method requires an object of a specific type. I have filled the DataGrid dataprovider with strongly typed objects, but when I access them via the data property of the item renderer, they come through as plain objects. I can't seem to cast them to their original type either. If this description makes any sense, has anyone dealt with this before? Any suggestions? Thanks a million
RE: [flexcoders] TextArea Scrollbar doesn't update onMouseWheel
Just wanted to give this a bump - anybody else encountered this? _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tom Lee Sent: Monday, January 08, 2007 6:31 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] TextArea Scrollbar doesn't update onMouseWheel Hi guys, Just wondering if any of you have found a workaround to update the thumb position of a TextArea's Scrollbar when the onMouseWheel event is fired. It doesn't seem to update on its own (I happen to think it should) and when you click the thumb after using your mouse wheel, the TextArea's position resets to match the thumb position. Thoughts? -tom
[flexcoders] TextArea Scrollbar doesn't update onMouseWheel
Hi guys, Just wondering if any of you have found a workaround to update the thumb position of a TextArea's Scrollbar when the onMouseWheel event is fired. It doesn't seem to update on its own (I happen to think it should) and when you click the thumb after using your mouse wheel, the TextArea's position resets to match the thumb position. Thoughts? -tom
[flexcoders] What's been fixed in 2.0.1?
Can anyone point me to a list of Flex framework bug fixes for the 2.0.1 release? I'm interested to know if there have been enhancements to the web service stack, especially related to .Net web services. Thanks, -tom
RE: [flexcoders] Re: What's been fixed in 2.0.1?
Thanks Ben! It will be nice to scrub some of the hacks out of my WebService handlers. =) _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Friday, January 05, 2007 1:08 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: What's been fixed in 2.0.1? Hi Tom, You can view the release notes here http://www.adobe. http://www.adobe.com/support/documentation/en/flex/2/releasenotes_flex201_s dk.html com/support/documentation/en/flex/2/releasenotes_flex201_sdk.html but I can also tell you from personal experience that 2.0.1 did indeed enhance the WebService class, including its support for .NET services. I actually submitted 4 separate bugs (that Adobe confirmed) related to serialization by the WebService class and all have been fixed. I've been using the 2.0.1 beta for a few weeks now and everything seems super solid. One thing to mention also is that they removed some of the laxness of the class. For instance, in 2.0 you could pass an object where an array was expected and it would convert it for you. In 2.0.1, you must pass an array. HTH, Ben --- In [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com, Tom Lee [EMAIL PROTECTED] wrote: Can anyone point me to a list of Flex framework bug fixes for the 2.0.1 release? I'm interested to know if there have been enhancements to the web service stack, especially related to .Net web services. Thanks, -tom
RE: [flexcoders] Is there a framework function to parse XSD compliant dateTime from XML?
I’ve been using a custom formatter that extends mx.formatters.DateFormatter. Here’s the code: package tl.formatters { import mx.formatters.DateFormatter; public class DateFormatter extends mx.formatters.DateFormatter() { super(); } override public function format(value:Object):String{ var str:String = value.toString(); if(str.search(“T”) != -1){ str = str.split(“T”)[0]; return super.format(str); }else{ return super.format(value); } } } If you find something better, definitely let me know. Hope that helps! -tom _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Samuel R. Neff Sent: Friday, January 05, 2007 1:32 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Is there a framework function to parse XSD compliant dateTime from XML? We're using HTTPService to send/receive XML to our server. Some of the XML has dates in it in standard XSD dateTime format. ex: 2002-10-10T12:00:00−05:00 http://www.w3. http://www.w3.org/TR/xmlschema11-2/#dateTime org/TR/xmlschema11-2/#dateTime Can we access a player or framework function to parse this string into a Date object? The functionality must exist since Flex supports SOAP, but I couldn't find anything in the help to just parse a date. Date.parse() didn't accept this format (and it wouldn't according to the docs). I have JavaScript code to parse out the format which we can convert to AS but we'd prefer to use what's already built-in. Thanks, Sam
RE: [flexcoders] Transform XML with external CSS styleSheet via htmlText
For everyone's benefit: I found the solution to this problem at http://rantworld.blogs.com/flashlit/2006/08/styling_flex_te.html Ironically, I found it by accident while Googling for something else. :-) _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tom Lee Sent: Tuesday, December 19, 2006 5:36 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Transform XML with external CSS styleSheet via htmlText Jason, Have you found a solution for this issue? I can't seem to make this work either, although I used to do this all the time in Flash. Thanks, -tom -Original Message- From: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com] On Behalf Of Jason Sent: Thursday, August 03, 2006 10:15 AM To: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com Subject: [flexcoders] Transform XML with external CSS styleSheet via htmlText I am looking for a little help. What was fairly easy to do in AS2 and Flash 8 is proving to be very tricky in Flex 2 AS3. What I want to do is assign a stylesheet to a TextArea component and then add text via htmlText. The text is coming from XML. In AS2/F8 I had a nice system were all my XML element names matched up to a style name in an external CSS file. styles.css SNIP [CODE] questions { display: block; margin-left: 30px; } question { color: #00; font-family: Arial; font-size: 10; display: block; } options { display: block; margin-left: 30px; } option { color: #00; font-family: Arial; font-size: 10; display: block; } [/CODE] SNIP from XML file [CODE] interaction id=506 questions questionWhile the nurse is explaining .../question /questions options option id=1Anger/option option id=2Denial/option option id=3Anxiety/option option id=4Depression/option /options [/CODE] I could just assign the htmlText of a text field to the XML node, the XML element tags would be treated as HTML tags and the appropriate styles would be applied. I have read through dozens of posts in this forum about this exact problem, most people are just trying to get a links to underline. I have not found any solutions that make sense to me. The help entry for TextArea.styleSheet just points to the flash.text.StyleSheet class. That class has one example, http://livedocs. http://livedocs.macromedia.com/flex/2/langref/flash/text/StyleSheet.html#in c macromedia.com/flex/2/langref/flash/text/StyleSheet.html#inc ludeExamplesSummary , but I have not had any luck in getting the Example to work. I am not exactly sure what to do with the code. I have tried to build a StyleSheet object in the mx:Script tag, and I have also tried to make an class file that has a method that returns a StyleSheet. The addChild(label); line in the example does not seem to be like a document.write as I thought it was. I can't get that to output anything to the screen. The constructor of the Class is firing however. I am controlling the styles of all my components with no problem from an external CSS file with mx:Style source=styles/main.css/. I can assign one specific style to a TextArea, but not an entire StyleSheet. my:Style does not accept an id attribute and there does not seem to be any way to link that loaded CSS file to a TextArea.styleSheet property. I have read that AS 3 cannot currently load a CSS at runtime, that sucks, but I am open to a work around even if it means having to define all my styles in AS (ick). Here is the big QUESTION: How can I embed an external CSS StyleSheet into my SWF, give it an ID, and assign it to a TextArea.styleSheet property at runtime? If that is not possible, how can I create a Class (Styles.as) that will house all my styles and somehow return a flash.text.StyleSheet object that I can assign to my TextArea.styleSheet property? I seem to have exhausted the help file on this issue. Thanks for any insight you can give on this. --jason -- Flexcoders Mailing List FAQ: http://groups. http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail- http://www.mail-archive.com/flexcoders%40yahoogroups.com archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links
RE: [flexcoders] Re: How do I reset itemRenderer inside DataGrid when dataProvider is updated?
Thanks guys, I suspected that's how it worked - makes a lot of sense. It'd be cool if DataGrid had a creationPolicy property like other components do. Then you could adjust this behavior if you wanted to. BTW, nice site, Ben!! _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Tuesday, December 19, 2006 8:40 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: How do I reset itemRenderer inside DataGrid when dataProvider is updated? Yep. Tom, Lach is correct, and here is an explanation with a bit more detail. If your DataGrid's dataProvider has 100 items, but it is only big enough to display 10 at any given time, the DataGrid only actually draws 10 items, in order to maximize performance. When you scroll the DataGrid there aren't any new items being drawn, it is simply swapping the data properties between the already drawn items. So scrolling down one row means that the piece of data for the second item is switched to be the data for the first item, the second item receives the third item's data, and so on and so on. I've written a couple of articles on my site about itemRenderers and some key concepts around them in case you're interested. HTH, Ben http://www.returnun http://www.returnundefined.com/ defined.com/ --- In [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com, Lachlan Cotter [EMAIL PROTECTED] wrote: Sorry if this is out of left field (and wrong), as I haven't read through the rest of the thread, but is it the case that dataChange is fired during scrolling because the item renderers are reused by the list control with different items in the dataProvider? Cheers, Lach On 19/12/2006, at 11:08 AM, Tom Lee wrote: as is so often the case, we have no answer to the question at hand (why does a dataChange event fire when the datagrid is scrolled?)
RE: [flexcoders] making simultaneous javascript calls from flex using FABridge
Hi Thiru, I haven't used the Flex/Ajax bridge. However, I have done a lot of work with Flash/JavaScript communication. One thing I've learned is that if you make multiple calls too rapidly, they have a tendency to fail at random in certain browsers. If possible, I would suggest that you combine your two JavaScript calls into one call, or put some delay between them. -tom _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of thiru vengadam Sent: Tuesday, December 19, 2006 3:58 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] making simultaneous javascript calls from flex using FABridge Hi Friends I am working on communicating between flex and JavaScript, when I am trying to call 2 JavaScript method simultaneous my first call fails, I like to know how to make 2 calls at a same time, or is there any way we can make 2 calls to JavaScript. Regards Thiru
RE: [flexcoders] Transform XML with external CSS styleSheet via htmlText
Jason, Have you found a solution for this issue? I can't seem to make this work either, although I used to do this all the time in Flash. Thanks, -tom -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Jason Sent: Thursday, August 03, 2006 10:15 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Transform XML with external CSS styleSheet via htmlText I am looking for a little help. What was fairly easy to do in AS2 and Flash 8 is proving to be very tricky in Flex 2 AS3. What I want to do is assign a stylesheet to a TextArea component and then add text via htmlText. The text is coming from XML. In AS2/F8 I had a nice system were all my XML element names matched up to a style name in an external CSS file. styles.css SNIP [CODE] questions { display: block; margin-left: 30px; } question { color: #00; font-family: Arial; font-size: 10; display: block; } options { display: block; margin-left: 30px; } option { color: #00; font-family: Arial; font-size: 10; display: block; } [/CODE] SNIP from XML file [CODE] interaction id=506 questions questionWhile the nurse is explaining .../question /questions options option id=1Anger/option option id=2Denial/option option id=3Anxiety/option option id=4Depression/option /options [/CODE] I could just assign the htmlText of a text field to the XML node, the XML element tags would be treated as HTML tags and the appropriate styles would be applied. I have read through dozens of posts in this forum about this exact problem, most people are just trying to get a links to underline. I have not found any solutions that make sense to me. The help entry for TextArea.styleSheet just points to the flash.text.StyleSheet class. That class has one example, http://livedocs.macromedia.com/flex/2/langref/flash/text/StyleSheet.html#inc ludeExamplesSummary , but I have not had any luck in getting the Example to work. I am not exactly sure what to do with the code. I have tried to build a StyleSheet object in the mx:Script tag, and I have also tried to make an class file that has a method that returns a StyleSheet. The addChild(label); line in the example does not seem to be like a document.write as I thought it was. I can't get that to output anything to the screen. The constructor of the Class is firing however. I am controlling the styles of all my components with no problem from an external CSS file with mx:Style source=styles/main.css/. I can assign one specific style to a TextArea, but not an entire StyleSheet. my:Style does not accept an id attribute and there does not seem to be any way to link that loaded CSS file to a TextArea.styleSheet property. I have read that AS 3 cannot currently load a CSS at runtime, that sucks, but I am open to a work around even if it means having to define all my styles in AS (ick). Here is the big QUESTION: How can I embed an external CSS StyleSheet into my SWF, give it an ID, and assign it to a TextArea.styleSheet property at runtime? If that is not possible, how can I create a Class (Styles.as) that will house all my styles and somehow return a flash.text.StyleSheet object that I can assign to my TextArea.styleSheet property? I seem to have exhausted the help file on this issue. Thanks for any insight you can give on this. --jason -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links
RE: [flexcoders] Re: How do I reset itemRenderer inside DataGrid when dataProvider is updated?
Ben, Did you ever find a satisfactory answer to this? I'm facing the same issue. Thanks, -tom -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Thursday, July 20, 2006 11:59 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: How do I reset itemRenderer inside DataGrid when dataProvider is updated? Hey Tim, No worries, I didn't think you were being harsh, I just wanted to clarify what I was referring to. I am very new to Flex, so as long as it doesn't involve calling me names I am willing to listen to just about any advice. Actually, I could probably overlook namecalling if the info was good enough. :) I suppose I understand the event firing due to the redraw, it just seems like a 'dataChange' event should only fire when, you know, data changes. I will look into your article and custom events when I get some time, thanks for the tip. Jesse, going to those lengths seems like a bit of overkill when all the itemRenderer consists of is a Checkbox with a dynamic label. I guess for now I will stick with my 'dirty and hackish' flag var, until I have time to further investigate/implement something like what Tim showed. Thanks for everyone's help. Ben -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links
RE: [flexcoders] Re: How do I reset itemRenderer inside DataGrid when dataProvider is updated?
Hi Ben, Thanks for your advice - as is so often the case, we have no answer to the question at hand (why does a dataChange event fire when the datagrid is scrolled?), but I was able to work around the problem by completely changing my mindset regarding the data model. and probably made my app significantly better in the process. So, thanks for triggering that thought process! -tom _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Monday, December 18, 2006 5:16 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: How do I reset itemRenderer inside DataGrid when dataProvider is updated? Hey Tom, This thread is pretty old and I don't have time to read through it all again to gain context, but I can offer a quick recap of what (I think) I am doing differently these days. It seems to make things a lot easier if you use ArrayCollections as your dataProvider rather than XMLListCollection, especially if your AC is full of bindable class instances. Check out Darron Schall's ObjectTranslator (darronschall.com) to ease the process of creating typed objects from the generic ones returned by a WS. If this is completely not helpful to your situation due to my lack of reading the thread I apologize. I am walking out the door so here is hoping this is useful :) Ben --- In [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com, Tom Lee [EMAIL PROTECTED] wrote: Ben, Did you ever find a satisfactory answer to this? I'm facing the same issue. Thanks, -tom -Original Message- From: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com] On Behalf Of ben.clinkinbeard Sent: Thursday, July 20, 2006 11:59 AM To: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com Subject: [flexcoders] Re: How do I reset itemRenderer inside DataGrid when dataProvider is updated? Hey Tim, No worries, I didn't think you were being harsh, I just wanted to clarify what I was referring to. I am very new to Flex, so as long as it doesn't involve calling me names I am willing to listen to just about any advice. Actually, I could probably overlook namecalling if the info was good enough. :) I suppose I understand the event firing due to the redraw, it just seems like a 'dataChange' event should only fire when, you know, data changes. I will look into your article and custom events when I get some time, thanks for the tip. Jesse, going to those lengths seems like a bit of overkill when all the itemRenderer consists of is a Checkbox with a dynamic label. I guess for now I will stick with my 'dirty and hackish' flag var, until I have time to further investigate/implement something like what Tim showed. Thanks for everyone's help. Ben -- Flexcoders Mailing List FAQ: http://groups. http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail- http://www.mail-archive.com/flexcoders%40yahoogroups.com archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links
RE: [flexcoders] Re: Bubbling, Practical Use?
I have to take issue with a few of your points. If implemented correctly, custom events can be very powerful and more flexible than other options. Bubbling has very few real-life applications outside of low-level mouse and keyboard events. Mouse and keyboard events make for a lot of real-life applications. But pretty much any time you need an ancestor to do something when its descendant changes in some way, event bubbling can be of use. Any object listening for the event on the parent would also be notified by the event from the child. Bubbling events affect every parent of the event source, right up to the SWF root, so it's pretty much just as bad as using a root reference to store arbitrary properties and methods. Isn't that what the cancelable property is for? You can (and maybe should) cancel the event at the last place you really need to listen for it. The ComboBox-as-ItemRenderer scenario is a good real-life application for custom events. Suppose I have a custom component which is based on the DataGrid. I want to keep an array of all the selected checkboxes in my DataGrid, so that I can access it later via myComponent.selectedCheckBoxes. When a ComboBox is selected, its reference will be put in the array. IMHO, it would be poor architecture to have each ComboBox target its parentDocument and put a reference to itself in that array. What if you want to nest the ComboBox more deeply at some point down the line? You have to change that parentDocument reference. With a custom event, you won't have to change anything, because it just bubbles up. Custom events also have the advantage that they are not broadcast by default from every component in your structure, which makes it easy to listen for an event from a particular component. In the above scenario, you can't just listen for click events: what if there's something else in there that can dispatch a click? You'd end up having to filter by event.target to see whether your ComboBox was the dispatcher. Instead, just dispatch a custom event from the ComboBox and listen for that custom event. Custom events can also contain any custom properties or data you would like to pass along, which can simplify the listening code greatly. Worried about name collisions? You can name your custom event anything you like - obviously you need some sort of strategy for that, but a quick pass through your class library should show you what names are already in use. I'm sure there's more to this topic - but my laptop battery's about to die. Would love to hear more. -tom -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Peter Hall Sent: Sunday, September 03, 2006 9:02 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Bubbling, Practical Use? Bubbling has very few real-life applications outside of low-level mouse and keyboard events. When you have nested objects, you might not be interested that the user clicked on some tiny little graphic inside your button, you are much more interested in the fact that they clicked on the button, so that is where you listen for the event. Likewise, you might want to know that they clicked somewhere on your form, so that you can focus the form, but not have to listen for the click event on every item. The bubbling mechanism is exposed in ActionScript so that the native mouse and keyboard events are implemented transparently, without some mysterious behind-the-scenes magic. If you start adding and using custom bubbling events, things can get a little bit dangerous. I don't think there are many legitimate use cases. One danger is that a child component might dispatch a bubbling event that has the same name as an event dispatched by one of its parents. Any object listening for the event on the parent would also be notified by the event from the child. Bubbling events affect every parent of the event source, right up to the SWF root, so it's pretty much just as bad as using a root reference to store arbitrary properties and methods. Peter On 8/31/06, barry.beattie [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: Say you've got a DataGrid that uses a ComboBox as an itemRenderer. You probably wouldn't want the logic that handles the change event of the CB inside that itemRenderer component, you would want it in the parent of the DataGrid Ben, please forgive my lack of Flex experiance, but can I ask why not? shouldn't the ComboBox be seen as a self-contained component that should handle all it's own stuff? it's goal is to capture a users selection, the data of which is held as public var CbSelection:String;. lets say you want to have a custom version of this that is a listbox - it has a property of mandetoryItemsSelected where 2 means that the user has to select 2 items. Surely the validation of that goes into the itemRenderer component, not the parent of the datagrid? The output of the component is a list of the two items, and the
RE: [flexcoders] Re: Bubbling, Practical Use?
Thanks for the reply - Yeah, I meant stopPropagation(), apologies. If I understand you correctly, you're saying that because events go through a top-down (parent-to-child) capture phase before they bubble up, it would be possible for someone to mistakenly add a capture-phase listener to the event. I'd have to agree that if you use common event names like click for your custom events you'd be likely to run into trouble. To avoid these cases, it might be helpful to create a static constant for the event type, where the constant can be named something 'normal' but its string value can be more unique: public static const CLICK:String = mySpecialComboBoxClick; Of course, then you'd basically be asking folks to only add listeners for the event by passing your developer-friendly static constant as the event type: the string itself would be too unwieldy. And you'd also be weighing the possibility that someone else happens to create a custom event type using the same cryptic string. Come to think of it, that whole scenario seems a little weird, and doesn't offer a 100% foolproof resolution to the problem. If there's another way around this, I'd love to hear it (and don't say don't use custom events ;) ). Surely there must be a way to definitively preclude the possibility of event type naming conflicts. BTW, what are some other use-cases for capture-phase event listeners? So far I have placed them in the things that can be done, but should be generally avoided category. Thanks for the discussion -tom -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Peter Hall Sent: Sunday, September 03, 2006 12:34 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Bubbling, Practical Use? Any object listening for the event on the parent would also be notified by the event from the child. Bubbling events affect every parent of the event source, right up to the SWF root, so it's pretty much just as bad as using a root reference to store arbitrary properties and methods. Isn't that what the cancelable property is for? You can (and maybe should) cancel the event at the last place you really need to listen for it. No. Cancelable is connected with preventDefault(), which prevents a default action from occuring when the event occurs. For example a component might automatically show an alert box when it dispatches a status event - but a handler might present the error in a different way, and call preventDefault() to stop the built-in alert from showing. You are probably thinking of stopPropagation(). This will prevent an event from bubbling past a certain point. However, you cannot do anything about the capture phase; a bubbling event will always trigger at the root and every parent in between before the target is even reached. If you were to call stopPropagation() at that point then nothing could listen for your event. (This exact technique is used with mouse events to prevent forms from being clickable, to implement modal windows). The ComboBox-as-ItemRenderer scenario is a good real-life application for custom events. Suppose I have a custom component which is based on the DataGrid. I want to keep an array of all the selected checkboxes in my DataGrid, so that I can access it later via myComponent.selectedCheckBoxes. When a ComboBox is selected, its reference will be put in the array. IMHO, it would be poor architecture to have each ComboBox target its parentDocument and put a reference to itself in that array. What if you want to nest the ComboBox more deeply at some point down the line? You have to change that parentDocument reference. With a custom event, you won't have to change anything, because it just bubbles up. The point of the cellrenderer architecture is to provide a solid framework, together with application-specific extension points. In your example, you extend DataGrid and create cellRenderers, which compose a ComboBox. By the very nature of the fact that the cellRender implements the cellrenderer interface, it knows its context and how it is being used, so there is a dependency. It is perfectly ok for this renderer to know that it is part of your specially extended DataGrid, and to use its methods. Alternatively, your extended DataGrid might know that it uses this custom cellrenderer and can coerce the type, in order to use its methods and listen to its events. In fact, depending on your needs, I would suggest one of these options is the best(tm) way. When considering architectural approaches, it is important to understand the dependencies in your code. Dependencies must exist, but they affect the way that code is reused, so your dependencies must reflect how you intend to reuse the code in the future. A common architectural blunder is to attempt to remove ALL dependencies, which results in very confusing code. In this example, we are saying that our cellRenderer is dependent on your special DataGrid, and is
[flexcoders] Event architecture question
Hi guys, I have a custom component which is basically an Accordion where every pane contains a TileList which uses a ComboBox for the item renderer. In the Accordion, I have an array which will hold the data from the selected ComboBoxes (each ComboBox has a unique integer in its data property). My problem is I basically have too many options for how to get the data into the Array when a ComboBox is clicked. Presently, I have a listener in the Accordion which listens for the click event from the ComboBox to bubble up, but it also captures other clicks which I dont want, so it seems I have to filter the events by the type of the event target. I am also exploring the option of dispatching a custom event from the ComboBox, but that seems like it may be overkill for what I want to achieve. So, I thought Id see what you all have to say about it. What do you think is the best approach for this sort of thing? -tom __._,_.___ -- 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 Software development tool Software development Software development services Home design software Software development company 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] Embedding fonts at runtime
Title: Re: [flexcoders] Embedding fonts at runtime Just wondering, is [Embed] directive compile-time, or run-time? From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Brian Deitte Sent: Wednesday, August 30, 2006 2:43 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Embedding fonts at runtime One addition to this, which is that we always include the space character when you specify the unicode range. I'm not sure the original reasoning for this, but I just noticed it in the code. Also, you can specify multiple ranges, separated by commas. -Brian From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Dirk Eismann Sent: Wednesday, August 30, 2006 2:07 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Embedding fonts at runtime Yes, this is possible: [Embed(source=Arial.ttf, fontName=myArial, unicodeRange=U+0041-U+005A )] public var myClass:Class; Dirk. Von: flexcoders@yahoogroups.com im Auftrag von Daniel Wabyick Gesendet: Mi 30.08.2006 18:58 An: flexcoders@yahoogroups.com Betreff: Re: [flexcoders] Embedding fonts at runtime Awesome! I'll definitely have to check this out. On a related note, I wonder if its possible to embed fonts with a specific unicode range via this syntax. It doesn't appear to be. [Embed(systemFont='Symbol', fontName='mySymbol', mimeType='application/x-font')] var myFont:Class; I know you can use @font-face, which appears to automatically generate a variable in the class, but its not a consistently named variable. I am sure a utility function in the class could be used to ferret out that variable name. Daniel Freiman wrote: I altered the code a little and got it half working. It works if you're setting the imported font using setStyle, but not if you're setting the font through the TextFormat object. Simply add the lines: var content:DisplayObject = ldr.content; var c:Class = content[myFont]; Font.registerFont(c); to the begining of onloadercomplete. I'm going to continue working on how to get the font to show up through TextFormat. On 8/29/06, * Daniel Wabyick* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: I just tried to dynamically load a font at runtime, and the results are not too promising. For other's benefits, here is what I did: - Created an AS3 project and generated a SWF (SymbolEmbed.swf) with the Symbol font embedded. - Verified the font is available in the SWF via Font.enumerateFonts(); - Loaded SymbolEmbed.swf into a Flex app using the Loader class, following instructions to keep the SWF's on the same applicationDomain. - Checked if the font is available to the Flex app, it is not. Please let me know if anyone has any ideas, -Daniel Code: AS3 project with embedded font. --- public class SymbolInclude extends Sprite { public function SymbolInclude() { [Embed(systemFont='Symbol', fontName='mySymbol', mimeType='application/x-font')] var myFont:Class; trace(here in SymbolInclude); var fontList : Array = Font.enumerateFonts(); for ( var i:String in fontList ) { trace(font: + Font( fontList[i] ).fontName); } } } Code: Loader code in Flex app. --- mx:Script ![CDATA[ private var ldr:Loader; private function onInit() : void { showFonts(); var context:LoaderContext = new LoaderContext(); //context.securityDomain = SecurityDomain.currentDomain; context.applicationDomain = ApplicationDomain.currentDomain; ldr = new Loader(); ldr.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoaderComplete ); ldr.load( new URLRequest( SymbolInclude.swf), context ); } private function onLoaderComplete(e:Event) : void { trace(onLoaderComplete: ); showFonts(); } public function showFonts():void { trace(showFonts()); var fontList : Array = Font.enumerateFonts (); for ( var i:String in fontList ) { trace(font: + Font( fontList[i] ).fontName); } } ]] /mx:Script Daniel Freiman wrote: I have this question too but it hasn't reached the top of my to-do list yet. What I'm hoping is that is that you can embed a font in a swf and then load that swf at runtime using a swfloader. On 8/28/06, *Daniel Wabyick* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] mailto: [EMAIL PROTECTED] wrote: Hey guys, Is there any way to include a font at runtime using Flex 2? There was a weird hack that works in Flash 8 where you load a movie that loads an RSL. Does anything like this work in Flex 2 ? Thanks, -Daniel -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives:
RE: [flexcoders] Flex 2 patch timeline
I figure Adobe Labs would be a great middle ground for this sort of thing Put the fixes out there for the early adopters (with the appropriate warnings) and then make official releases less often. After all, its not like these fixes are Player revisions. From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of hank williams Sent: Wednesday, August 30, 2006 4:12 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Flex 2 patch timeline On 8/30/06, Jack Caldwell [EMAIL PROTECTED] wrote: Jeff: I fully understood what Matt was saying. That's just it . . . . it is not a top priority. The issue is that Adobe is fixing the bugs, but not releasing them. Jack, With any big software project, there are **always** bugs. Typically hundreds. You *never* get down to zero and rarely even into the dozens. The question is how many of them are there and how important are they. You cant put a new release out every time there is a bug. So you have to decide when a good time to do it is. If there are major and important bugs to fix, you put a release out. But you cant do that weekly. Thats why its important for them to know if there are any showstopper or really important bugs. So Matt's question was important. Are there any bad bugs that they dont know about? It makes total sense to me, if there are no major bugs, to wait and put out a new release in 4 or 5 months. New releases are organizationally traumatic. And they are also not risk free. It is always possible to introduce new bad bugs while fixing old not so important ones. So waiting a while and being sure everything is right with a full QA cycle is not a bad thing at all. Doing that around a major change like mac support (which will also effect the windows version because its the same codebase) seems like the right thing to do if there are no major problems. Regards Hank __._,_.___ -- 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 Software development tool Software development Software development services Home design software Software development company 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] TileList columnWidth = widest item?
Thanks Sam Was hoping there was a fitToWidestItemInColumn property that I just wasnt seeing in the docs ;) From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Samuel Reuben Sent: Monday, August 28, 2006 5:59 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] TileList columnWidth = widest item? Hi Tom, You can use a combinationofmaxColumns,columnWidth and rowHeight to achieve what you are trying to do. You could make a customized Tile list if you want it all done. Regards, -sam On 8/27/06, Tom Lee [EMAIL PROTECTED] wrote: Hi guys, By default, the width of a column in a TileList component is equal to the width of the first item in that column. This is weird, because if any subsequent item is wider, it gets clipped. Does anyone know of a way to make the column width fit the widest item? Thanks!! -tom __._,_.___ -- 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] Zlib Compression was Backend Choice...
Very useful So, for clarification, under what circumstances will the browser handle decompression of HTTP Compressed data, and when is it necessary to use ByteArray.compress/uncompress? Im under the impression that the Flash Player handles communication for the URLStream and Socket class and the browser handles other communications. Therefore, I would assume that the ByteArray methods would only be needed for URLStream and Socket Right? From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Ted Patrick Sent: Monday, August 28, 2006 10:30 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Zlib Compression was Backend Choice... Flash Player 9 supports direct use of zlib compression independent of the browser!!! flash.util.ByteArray.compress flash.util.ByteArray.uncompress You can retrieve a ByteArray from flash.net.URLStream and flash.net.Socket. These allow you to get a bytearray of data directly from any url or TCP based socket server. Some useful use patterns: ZLIB XML HTTP URLStream ByteArray.uncompress ByteArray.UTFReadBytes ZLIB SWF/GIF/JPG/PNG HTTP URLStream ByteArray.uncompress Loader.writeBytes( ByteArray.readBytes ) ZLIB AMF HTTP URLStream ByteArray.uncompress ByteArray.readObject ZLIB XML TCPSocket Socket ByteArray.uncompress ByteArray.UTFReadBytes ZLIB SWF/GIF/JPG/PNG TCPSocket Socket ByteArray.uncompress Loader.writeBytes( ByteArray.readBytes ) ZLIB AMF TCPSocket Socket ByteArray.uncompress ByteArray.readObject I explored all these patterns in depth during the evolution of AS3 AVM2 and Flash Player 9. I have some zlib tools in Python and some examples of these patterns. I will clean them up and post them to my blog. Cheers, Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Tom Lee Sent: Wednesday, August 23, 2006 11:20 AM To: flexcoders@yahoogroups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Speaking of that Ive always wondered, is the gzip decompression handled by the browser, or by the Flash player? Ive assumed it was the browser (HTTP Compression, right?). That being the case, arent there some browsers which dont have gzip support, or are they all dead? __._,_.___ -- 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. __,_._,___
[flexcoders] TileList columnWidth = widest item?
Hi guys, By default, the width of a column in a TileList component is equal to the width of the first item in that column. This is weird, because if any subsequent item is wider, it gets clipped. Does anyone know of a way to make the column width fit the widest item? Thanks!! -tom __._,_.___ -- 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 Software development tool Software development Software development services Home design software Software development company 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] POP3 by Socket
Sometimes it's not obvious from debugging that the lack of a crossdomain.xml file is at issue. Perhaps you could list some common symptoms of malformed or non-existent crossdomain.xml files? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Ted Patrick Sent: Friday, August 25, 2006 2:20 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] POP3 by Socket I will get that added ASAP. Great feedback. Anyone else? Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tracy Spratt Sent: Friday, August 25, 2006 10:09 AM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] POP3 by Socket Ted, that is a handy site. A suggestion: An issue that is not obvious to those who are not web/network administratiors is: Where do I put the crossdomain.xml file. While I bet this is discussed on more than one of the links you provide, consider a quick paragraph on the subject, for additional convenience. The usual response: In the root of the web server is not enough for non-experts. Include an example path for, say the default integrated Flex 1.5 install, one for a default Tomcat install, and one for a default IIS install. I figured mine out by putting a full access crossdomain file in every possible folder until my call worked, then deleting them until I broke it again. This showed me the right place. You see why I am not offering to provide the examples! Tracy From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Ted Patrick Sent: Friday, August 25, 2006 12:14 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] POP3 by Socket Rogerio, http://www.crossdomainxml.org http://www.crossdomainxml.org With Socket operations you will need to have a crossdomain.xml file on the server you are connecting to, in this case the POP server! This particular crossdomain.xml file needs to permit access to use low/high ports for inbound connections. It is identical to the process needed to support XMLSocket servers. The use of crossdomain policy files prevents Flash/Flex clients from abusing other peoples servers. As permission is delegated to the server owner, they can decide what ports Flash Player can connect to. Example: cross-domain-policy allow-access-from domain=* to-ports=507 / allow-access-from domain=*.foo.com to-ports=507,516 / allow-access-from domain=*.bar.com to-ports=516-523 / allow-access-from domain=www.foo.com to-ports=507,516-523 / allow-access-from domain=www.bar.com to-ports=* / /cross-domain-policy I put together this small site on crossdomain policy files. It doesn't have any glits and gives you the bare bones knowledge on using crossdomain. http://www.crossdomainxml.org http://www.crossdomainxml.org IFBIN on Flexcoders You just made my day! Go IFBIN! Cheers, Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Santo Sent: Friday, August 25, 2006 6:46 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] POP3 by Socket Bom dia pessoal, Hi folks, I want to know if anyone of you try make the POP3 by Socket example, from IFBIN(Flex by Example), work with final version of Flex 2. Now that he´s free, I try to test something but it just don´t work. Don´t give me any errors. Seems to be a security issue, like crossdomain, but I can´t figure out the real problem. Thanks Rogerio Gonzalez -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
Speaking of that Ive always wondered, is the gzip decompression handled by the browser, or by the Flash player? Ive assumed it was the browser (HTTP Compression, right?). That being the case, arent there some browsers which dont have gzip support, or are they all dead? From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Carson Hager Sent: Wednesday, August 23, 2006 12:53 PM To: flexcoders@yahoogroups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Simply turing on gzip compression has an amazing effect here dramatically reducing the total payload size of web service calls. Carson Carson Hager Cynergy Systems, Inc. http://www.cynergysystems.com Email: [EMAIL PROTECTED] Office: 866-CYNERGY Mobile: 1.703.489.6466 From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Tom Lee Sent: Wednesday, August 23, 2006 9:22 AM To: flexcoders@yahoogroups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides I'm sure someone already pointed this out, but network latency is also a factor. AMF is a compressed format, so it can load faster and in that sense make your app more responsive. With XML web services, the tags themselves add a degree of overhead. There are schemes for compressing web services which can help. -Original Message- From: [EMAIL PROTECTED]ups.com [mailto:[EMAIL PROTECTED]ups.com] On Behalf Of Martin Wood Sent: Wednesday, August 23, 2006 11:27 AM To: [EMAIL PROTECTED]ups.com Subject: Re: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Jack Caldwell wrote: Martin: OK . . . . so the lag time is when the data gets back to the end-user? exactly, its the time it takes for the flash player or actionscript code to convert the incoming data into a format usable by the application. Before in the flash world that was a big deal as XML processing was expensive and often tedious to code whilst remoting was natively implemented and provided you with typed business objects as a result of the call. With Flex 2 the differences are not so important as the features like data binding and e4x pretty much level the playing field for the data formats. Bottom line . . . . with all things being equal . . . . Does a web service request take longer to process on the server than a AMF request? If the answer is . . . . in general yes, then that can be an issue with an increase in users. If the answer is . . . . it depends on the data being requested and/or the data format then that seems to suggest that everyone must run tests to compare results and then test again based on scaling up. I suppose one of the main factors would be the server code that handles the incoming request and then transforms the business data into the required format to send back to the client. That could be anything from some hand written php code to a commercial remoting gateway. Its so context dependent that its impossible to make a general statement of the type 'Remoting performs better than Web Services' It would be interesting to see a comparison of the throughput you could expect when comparing different solutions on the same server hardware, e.g. PHP Nu-Soap against AMFPHP.. Jrun's remoting vs. OpenAMF vs JAX-WS etc.. and where they each perform the same business operation and return the same data.. but then there are other concerns such as memory usage and what else the server is used for and how it performs for those use cases. thats what i mean by you have to take it on a case by case basis. :) martin -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links __._,_.___ -- 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: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
Id like to hear the first story that changing webservices by AMF increased the user experience significantly and sealed a certain business proposition. I was developing a Flash front-end for an existing .Net application. The Flash app used web services, whereas the .Net app was able to access SQL stored procedures and such directly. The .Net app was slightly more responsive, due to the fact that less data was being sent over the wire, as well as the extra parsing time. Long story short, the Flash app got canned because it was being compared side by side to a faster alternative. If I could have convinced them to give AMF a shot, Im sure we couldve got those performance issues ironed out. From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Franck de Bruijn Sent: Thursday, August 24, 2006 1:33 AM To: flexcoders@yahoogroups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Hi Ted, We all understand your arguments 1 and 2. But in the end, and thats already identified in this topic, its the user experience that counts. If it does not suffer by using web services, its not an issue! Id like to hear the first story that changing webservices by AMF increased the user experience significantly and sealed a certain business proposition. For argument 3 Developer Productivity its true that developers need to program more lines of code to obtain the same result (having your webservice result as an ActionScript object), which is, I admit, error prone. But in the total view of the costs of a development project ... it will not make much of a difference. The actual additional lines of code Im talking about, however, are very easy to generate from a model if you wish. Again, FDS is cool, really true and it does have its place. But for many applications FDS (including the extra features messaging and data management) is neither an option nor necessary. Cheers, Franck From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Ted Patrick Sent: Wednesday, August 23, 2006 6:47 PM To: flexcoders@yahoogroups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides AMF is faster in 3 fundamental ways: Bandwidth Size Smaller, lighter, faster!!! Parsing Speed Less work on both client and server!!! Developer Productivity Less work for developers!!! Web Services are dependent on XML Parsing on both the client and server side. Although its a good story, XML parsers are not very efficient as parsing documents is an interpreted process. The Flash Player XML parser will always be dramatically slower than AMF parsing, binary formats are notoriously faster in this regard. XML parsing additionally decays rapidly as the file size increases. Flash Player XML parsing time increase non-linearly with larger XML documents. With AMF parsing times are linear with data size. The XML decay can be attributed to the number of inner objects that need to be created during a parsing run. AMF objects are 1:1 with the data received where XML data is 1:N per Elements/Attribute. Comparing XML to AMF is an unfair race, AMF wins every time. When you add in the overhead of WS SOAP parsing atop the base XML parser speed you begin to see performance issues. With SOAP, you interpret an XML document back into typed objects depending on the SOAP specifics used. Sure 350ms is ok once or twice, but try doing 200 transactions in this format and you will see performance issues arise. Using Web Services you are forcing the Flash Player to do allot of unneeded work. The goal is to build richer applications, not burn up player performance in crud operations. Additionally non-proxied Web Service use suffers with Flash Player because of the browser variation in the plug-in APIS. You cannot get the 500 Errors response content in IE and thus the SOAP fault standard breaks down. In SOAP there are important messages that arrive with 500 Errors and the inability of the Flash Player to receive these is a problem. Unfortunately there is no seamless way to get 500 Errors into the Flash Player other then rewriting an HTTP Client in the Socket class. This effort would also require a new SOAP library within Flex and socket use on low ports requires a more complex crossdomain.xml configuration. Even then you still suffer the same performance issues. Performance aside, the productivity discussion is much more important. AMF3 and Flex Data Services are wildly productive. Once you compile your Java Class and configure a destination in FDS (1 XML Element), you are done. All typing is handled, All methods are ready to run with any number of client applications. It is the easiest way to create a server side API that I know of. Actually most cases, implementing FDS will removes $20,000 of developer time wasted on implementing other data
RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
I can vouch for that statement, from my own personal experience. If you're working with large amounts of data, the lag is quite unacceptable. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Claus Wahlers Sent: Thursday, August 24, 2006 1:00 PM To: flexcoders@yahoogroups.com Subject: Re: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides On a high quality machine, WS can take 400ms, but on a slower machine it can take 3-10 seconds for a single call and the larger the data exchanged, the worse it gets. Not good. Aren't you exaggerating a bit here? Can you give a real world example of a SOAP XML that takes 400ms to parse/consume on a high end machine? I mean, we're talking Flash Player 9, aren't we? Cheers, Claus. -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
One key enterprise objection to using AMF is the lack of AMF clients for integration. Would non-flash clients for AMF and Messaging help? I can understand why it would be difficult to shell out $20K per proc for something that is solely for the Flash platform. That's almost as much as SQL licenses. Not feasible where I work. If you have to use Flex Data Services to realize the full benefits of Flex, that high cost can lead teams to shy away from the Flash Platform because the remaining benefits may be less clear. However, aside from the cost, I don't see why anyone would have a problem with putting middleware in place for a specific client. Non-Flash clients can use whatever other communications protocols you like, which are possibly already in place. Granted, you've got to test things thoroughly to make sure your existing environment is not affected by the installation of FDS (which can be a daunting task). -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Ted Patrick Sent: Thursday, August 24, 2006 12:50 PM To: flexcoders@yahoogroups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Frank, RPC IS LESS THAN 25% OF FLEX DATA SERVICES!!! Flex Data Services is so much more that RPC. This entire discussion is really FDS.RPC to WebServices. FDS contains 4 major parts: 1. Messaging - ASMessaging and JMSMessaging 2. Data Management - Data Synchronization and Distributed ArrayCollections 3. Web Tier Compiler - Compilation of AS/MXML on the server side. 4. RPC - Remoting and WebService Proxy Using Web Services directly affects user experience!!! Using Web Services directly affects user experience!!! Using Web Services directly affects user experience!!! Web Services burns up player performance that you could be using to make the user experience better. When working in Flash Player, everything affects performance. If you abuse the player in one area, you limit what you can do elsewhere before the player starts to slow down. The Flash Player (like all software) is limited in capability; if you spend that capability doing hard things (read Web Services) then you will not be able to do other things. On a high quality machine, WS can take 400ms, but on a slower machine it can take 3-10 seconds for a single call and the larger the data exchanged, the worse it gets. Not good. With Flash Player it is important to keep things light and fast. Web Services are abusive to the Flash Player runtime. Support is included for integration purposes but it was really not designed as an optimized way to exchange data. Web Services view: Flash Player Receives XML ASCII Text XML Parsing → XML Parsing!!! SOAP Parsing occurs to AS Objects → Traverse SOAP Objects Recursively!!! Objects are passed into events RemoteObject: Flash Player Receives AMF Data AMF Binary Decoding → Direct to typed objects. Objects are passed into events I am sure there are many smart people out there who will get WebServices to work well for them with Flex. It is a lot of hard work to make this work well and I have only seen one company do it really well. I do not doubt that others will make this work reliably but I question its use. It will affect performance which is why AMF was created in the first place as an optimized data exchange format for Flash Player. One of the key advantages for WebServices is the wide availability of Web Service clients for any language. With AMF we only have one client( Flash Player ) and several AMF servers. One key enterprise objection to using AMF is the lack of AMF clients for integration. Cases: - PHP form could remote to FDS - C++ application joins FDS messaging as a client - Java process remotes to FDS - Python process remotes to Data Services for Ruby (MidnightCoders) - C# remotes data with FDS as a client Part of the distributed computing revolution is the realization that anything can be both a client and a server. One of the problem areas in FDS is that only Flash and Java:JMS can participate within the FDS as clients. Would non-flash clients for AMF and Messaging help? Regards, Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Franck de Bruijn Sent: Wednesday, August 23, 2006 10:33 PM To: flexcoders@yahoogroups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Hi Ted, We all understand your arguments 1 and 2. But in the end, and that’s already identified in this topic, it’s the user experience that counts. If it does not suffer by using web services, it’s not an issue! I’d like to hear the first story that changing webservices by AMF increased the user experience significantly and sealed a certain business proposition. For argument 3 ‘Developer Productivity’ it’s true that
RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
Several of these posts now have seemed to indicate environments where the Flex developer has the capability to manipulate the server side to their liking. Yes, you can squeeze a lot of performance out of any transport method if you can manipulate it as you see fit. I wonder if that scenario is typical. In my case, every modification to the web services must be done with extreme care, as we have partners who also consume those services. It doesn't make sense to optimize the services just for Flex, as it is only a small part of our total picture. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ryanm Sent: Thursday, August 24, 2006 2:05 PM To: flexcoders@yahoogroups.com Subject: Re: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides I am sure there are many smart people out there who will get WebServices to work well for them with Flex. It is a lot of hard work to make this work well and I have only seen one company do it really well. I do not doubt that others will make this work reliably but I question its use. It will affect performance which is why AMF was created in the first place as an optimized data exchange format for Flash Player. I got around this problem by abstraction and preemptively loading data that was likely to be loaded. I made up template-like objects that the client loaded that describe what makes a page of data, which included all of the possible design elements and whatnot. That way, when you actually go to load the data, the size of the data going to and from the server was minimal (and compressed). And I preloaded large blocks of commonly used data and cached them on the client side, keeping it updated by sending an MD5 hash back to the server-side to be compared to the current data set on a regular basis or whenever that data was accessed. For a dial-up user that might be a problem, but for a business app it didn't even cause a noticable bump in their bandwidth usage. You just have to plan appropriately and do thorough use cases, so that you can develop a set of rules that will tell you what data is likely to be needed next. All the most common usage paths through the app were fast and responsive, and only the really heavy stuff, like real time reports that go back over tons of db records and stuff, took any noticable time to load. The end result was 100% compatible with either an AJAX front end or a Flash front end, the back end didn't know or care which it was talking to. With appropriate planning and a good architecture, which transport method you use is almost irrelevant as long as it is flexible and compatible. ;-) ryanm -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
In my world, 300 milliseconds does matter. 10 sequential calls and you have 3 seconds of latency, which is definitely in the realm of something the end user would notice. Sometimes the end user is a key decision maker comparing two apps side-by-side and making a judgment call as to which one will be further developed. Sometimes the one that feels snappier wins. Do I think I should have to be making 10 sequential web service calls? No. But then again, I don't develop web services. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Dave Wolf Sent: Tuesday, August 22, 2006 4:20 PM To: flexcoders@yahoogroups.com Subject: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides I simply have to disagree here. We can demonstrate several in production applications which we have developed using SOAP XML WebServices and they perform like a champ. One of them was the runner up for last years MAX award. The majority of the applications we develop use this architecture and to date not a single time has a client nor a user complained about the performance of runtime data services based on SOAP. There are a few false rumors that continue to creep up in the Flex community about the performance issues around SOAP. There are benchmarks which show that AMF can be drastically faster than a SOAP call for the same data. Sometimes even 100% faster. Yup that's true there are. But you have to peel away the layers of the onion to see the reality. Statistics can be misleading. For instance, if AMF is 300 milliseconds and SOAP is 600 milliseconds the 100% difference isnt even relative. How many people do you know who can even see 1/3 of a seconds difference? In the end raw marshalling isnt the issue, it is the user and their experience. Flex2 made DRASTIC improvements it the performance of XML parsing and in our own benchmarks the delta between the two services choices is often as low as 10%. Of a much greater impact that the marshalling time is the UI shredding and binding of the data. Most badly performing RIA's suffer from data being returned from the back-end in a format that holds no fidelity with the RIA. This requires the RIA to tear apart the returned structural data and place it into its own structures and objects and bind those to UI controls. Developing your user experience in a front-to-back approach which assures great fidelity between the data formats of the tiers can account for an order of magnitude performance increase. That is the kind of performance increase users will actually experience. There are many other very smart things you can do like extending existing controls to do streaming rendering of data to provide the perception of speed, server side paging, caching, etc. In the end perception is reality. All that matters from the UI perspective is the experience that the user has. Worring about 300 milliseconds is like trying to debate the number of angels that could dance on the end of a pin. If the user can't see them, it doesn't matter how many there are. The running rumor that you simply cannot develop first class RIAs in Flex using a SOAP web services back-end is simply not accurate, and we have the apps in production with our clients to prove it. -- Dave Wolf Cynergy Systems, Inc. Adobe Flex Alliance Partner http://www.cynergysystems.com http://www.cynergysystems.com/blogs Email: [EMAIL PROTECTED] Office: 866-CYNERGY --- In flexcoders@yahoogroups.com, Shannon Hicks [EMAIL PROTECTED] wrote: Bob- Web Services / HTTP services are not built to be the primary backend of your flex applications. Because they are XML based, they have quite a bit more overhead than flex's built-in AMF (Action Message Format). AMF is smaller, faster and uses less bandwidth than XML. AMF is what FDS and ColdFusion 7.0.2 use to communicate to a Flex app. So let's say that your question is narrowed down to FDS or CF?. Adobe's ideal answer is yes. They are complimentary to each other, CF allows for wonderful rapid development of Flex apps, and FDS brings some amazing features to the table through it's Messaging an Data Management services. Web Services (SOAP) support is in Flex primarily to consume third-party data, allowing you to add it to your app. Hope this points you in the right direction. Shan _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of rhlarochelle Sent: Tuesday, August 22, 2006 10:27 AM To: flexcoders@yahoogroups.com Subject: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides best functionality Franck, I appreciate your respons. When you say Remote Objects/Flex Data Services provides the most advanced way of interoperating with the backend, what specifically is possible? What are the capabilities that I would get leveraging Remote Objects/Flex Data Services that I would not get (or would be
RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
I'm sure someone already pointed this out, but network latency is also a factor. AMF is a compressed format, so it can load faster and in that sense make your app more responsive. With XML web services, the tags themselves add a degree of overhead. There are schemes for compressing web services which can help. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Martin Wood Sent: Wednesday, August 23, 2006 11:27 AM To: flexcoders@yahoogroups.com Subject: Re: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Jack Caldwell wrote: Martin: OK . . . . so the lag time is when the data gets back to the end-user? exactly, its the time it takes for the flash player or actionscript code to convert the incoming data into a format usable by the application. Before in the flash world that was a big deal as XML processing was expensive and often tedious to code whilst remoting was natively implemented and provided you with typed business objects as a result of the call. With Flex 2 the differences are not so important as the features like data binding and e4x pretty much level the playing field for the data formats. Bottom line . . . . with all things being equal . . . . Does a web service request take longer to process on the server than a AMF request? If the answer is . . . . in general yes, then that can be an issue with an increase in users. If the answer is . . . . it depends on the data being requested and/or the data format then that seems to suggest that everyone must run tests to compare results and then test again based on scaling up. I suppose one of the main factors would be the server code that handles the incoming request and then transforms the business data into the required format to send back to the client. That could be anything from some hand written php code to a commercial remoting gateway. Its so context dependent that its impossible to make a general statement of the type 'Remoting performs better than Web Services' It would be interesting to see a comparison of the throughput you could expect when comparing different solutions on the same server hardware, e.g. PHP Nu-Soap against AMFPHP.. Jrun's remoting vs. OpenAMF vs JAX-WS etc.. and where they each perform the same business operation and return the same data.. but then there are other concerns such as memory usage and what else the server is used for and how it performs for those use cases. thats what i mean by you have to take it on a case by case basis. :) martin -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
Exactly so. My experience has been that some folks expect the Flash platform to be a means of improving the user experience for legacy systems. The data services themselves can't change: they're in use already by partners, or by other front ends. So, you end up going through a lot of client-side gyrations to give the illusion of better performance. Using AMF to squeeze every last bit of performance out of the data transfer can be an option, because you can implement as middleware. It looks like the original message was dealing with starting from scratch though... So I won't hijack the thread any further. ;) -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Dave Wolf Sent: Wednesday, August 23, 2006 11:34 AM To: flexcoders@yahoogroups.com Subject: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides --- In flexcoders@yahoogroups.com, Tom Lee [EMAIL PROTECTED] wrote: Do I think I should have to be making 10 sequential web service calls? No. But then again, I don't develop web services. Which is an interesting loop back to my initial reply to this thread where I discussed developing RIA's from the front to the back or as DK pointed out, using the UI to drive out the middle tier API's. See the issue you have isnt with the choice of marshalling prototcol. The issue is with an API that holds no fidelity with the user experience you are trying to present. In your case having to make multiple sequential calls. In other cases it can be much worse where the RIA has to shread and re-combine data feeds to match the experience. This is exactly what I pointed out as being one of the largest contributors to a poorly peforming RIA. It is the elephant in the room. -- Dave Wolf Cynergy Systems, Inc. Adobe Flex Alliance Partner http://www.cynergysystems.com http://www.cynergysystems.com/blogs Email: [EMAIL PROTECTED] Office: 866-CYNERGY -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Dave Wolf Sent: Tuesday, August 22, 2006 4:20 PM To: flexcoders@yahoogroups.com Subject: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides I simply have to disagree here. We can demonstrate several in production applications which we have developed using SOAP XML WebServices and they perform like a champ. One of them was the runner up for last years MAX award. The majority of the applications we develop use this architecture and to date not a single time has a client nor a user complained about the performance of runtime data services based on SOAP. There are a few false rumors that continue to creep up in the Flex community about the performance issues around SOAP. There are benchmarks which show that AMF can be drastically faster than a SOAP call for the same data. Sometimes even 100% faster. Yup that's true there are. But you have to peel away the layers of the onion to see the reality. Statistics can be misleading. For instance, if AMF is 300 milliseconds and SOAP is 600 milliseconds the 100% difference isnt even relative. How many people do you know who can even see 1/3 of a seconds difference? In the end raw marshalling isnt the issue, it is the user and their experience. Flex2 made DRASTIC improvements it the performance of XML parsing and in our own benchmarks the delta between the two services choices is often as low as 10%. Of a much greater impact that the marshalling time is the UI shredding and binding of the data. Most badly performing RIA's suffer from data being returned from the back-end in a format that holds no fidelity with the RIA. This requires the RIA to tear apart the returned structural data and place it into its own structures and objects and bind those to UI controls. Developing your user experience in a front-to-back approach which assures great fidelity between the data formats of the tiers can account for an order of magnitude performance increase. That is the kind of performance increase users will actually experience. There are many other very smart things you can do like extending existing controls to do streaming rendering of data to provide the perception of speed, server side paging, caching, etc. In the end perception is reality. All that matters from the UI perspective is the experience that the user has. Worring about 300 milliseconds is like trying to debate the number of angels that could dance on the end of a pin. If the user can't see them, it doesn't matter how many there are. The running rumor that you simply cannot develop first class RIAs in Flex using a SOAP web services back-end is simply not accurate, and we have the apps in production with our clients to prove it. -- Dave Wolf Cynergy Systems, Inc. Adobe Flex Alliance Partner http://www.cynergysystems.com http://www.cynergysystems.com/blogs Email: [EMAIL
RE: [flexcoders] Re: WebService - What's wrong with this code?
And my personal favorite: http://groups.yahoo.com/group/flexcoders/message/47493 -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Friday, August 18, 2006 10:50 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: WebService - What's wrong with this code? Here are a couple. http://groups.yahoo.com/group/flexcoders/messages/47267?threaded=1m=evar=1 tidx=1 http://groups.yahoo.com/group/flexcoders/messages/46548?threaded=1m=evar=1 tidx=1 I can confirm that I am working with an Adobe engineer to try and resolve both issues (our company has a support contract with Adobe), so they are listening and interested in fixing issues people are having. I think thats a good sign. Ben --- In flexcoders@yahoogroups.com, Samuel D. Colak [EMAIL PROTECTED] wrote: Umm Franck what issues with webservices? On 15/8/06 20:00, Franck de Bruijn [EMAIL PROTECTED] wrote: That¹s exactly what Ben is hammering at. It¹s too hard to get webservices up and running in a production-like application easy. It¹s true that Adobe is focussing more on FDS than on the support for webservices, which is truely a pity. Let¹s hope it¹ll change in the (near) future. I already saw a good sign of an Adobe engineer trying to look into our problems. Cheers, Franck From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Samuel D. Colak Sent: Tuesday, August 15, 2006 10:22 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: WebService - What's wrong with this code? Hold on VS buggy ?? My god, that¹s amazing news there was I thinking for a moment that M$oft had got it right at least once - Œfraid to say im most disappointed my world has surely shattered frankly I would advise everyone that can to use the Eclipse plugin rather than the IDE under Windows. I have experienced far fewer issues with Eclipse ;) But I have experienced SOME ! Im working with both VS.Net 2005 and Eclipse/Flex cant say that there have been any issues with WebServices AT-ALL categorically using actionscript. I must admit it wasn¹t easy but its a tad different getting use to asyncronous webservice calling though Flex¹s event model but I finally managed to make something very elegant and scalable. Obviously this isnt for the fainthearted and you might have to unlearn somethings from the VS world (as I did) to deal with the Flex logic. If anyone is stuck, give me a shout.. Samuel On 15/8/06 10:02, sinatosk [EMAIL PROTECTED] wrote: ah white spaces. convert that URL using urlencode can't remember the function/method name but it's around thats might do the trick :p On 14/08/06, Tom Lee [EMAIL PROTECTED] wrote: Thanks, Ben - Your code works fine. My code, even after I manually edited to make it identical to yours, does not. I can only conclude that Flex Builder is on crack. Seriously, I went over it line by line... No differences except whitespace. I hope this is not going to become a behavioral pattern in Builder... I work with Visual Studio, and there's no room for more than one buggy IDE in my life. Thanks again, -tom -Original Message- From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of ben.clinkinbeard Sent: Friday, August 11, 2006 10:01 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] Re: WebService - What's wrong with this code? Does it compile for you without errors? Yep, this exact code works for me. ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationComplete=init() mx:Script ![CDATA[ import mx.rpc.soap.LoadEvent; import mx.rpc.soap.WebService; private function init():void { var myWebService:WebService; myWebService = new WebService(); myWebService.loadWSDL(http://webservices.amazon.com/AWSECommerceService/AWS ECommerceService.wsdl); myWebService.addEventListener(load, loadComplete); } private function loadComplete(event:LoadEvent):void { trace(ALL GOOD); } ]] /mx:Script /mx:Application -Original Message- From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of ben.clinkinbeard Sent: Friday, August 11, 2006 12:42 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] Re: WebService - What's wrong with this code? For your second example, if you wrap the lines other than the import inside of a function it should work. HTH, Ben --- In flexcoders@yahoogroups.com
[flexcoders] XML parser chokes on un-typed xmlns
Hi everyone, I am having some difficulty parsing .Net web service results. The problem lies in the fact that Flexs XML parser doesnt like un-typed xmlns declarations of the type found by default in .Net web services. Try the following: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute creationComplete=doIt() mx:Script ![CDATA[ function doIt(){ var myXML:XML = 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 a xmlns:soap=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML: +myXML.descendants(b)); var myXML2:XML = 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 a xmlns=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML2: +myXML2.descendants(b)); } ]] /mx:Script /mx:Application This code results in the following traces: Node B from myXML: Hi Node B from myXML2: As you can see, the only difference between the two blocks of XML is that the successful one uses xmlns:soap= while the unsuccessful one uses xmlns=. While I am no SOAP expert, I dont believe the 2nd one is invalid syntax, so there should be no reason for the XML parser to ignore it, right? Anyone have a workaround for me that doesnt require modifying the web services? (I dont have administrative access to them). Thanks! -tom __._,_.___ -- 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 Software development tool Software development Software development services Home design software Software development company 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] Re: XML parser chokes on un-typed xmlns
Thanks, Ben - I've seen this before (I believe you directed me to this page on a previous issue). However, I don't understand how it applies to my particular problem - how would you fix my example using the namespace directive? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 12:46 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns http://www.returnundefined.com/2006/07/dealing-with-default-namespaces-in-fl ex-2as3/ Ben http://www.returnundefined.com/ --- In flexcoders@yahoogroups.com, Tom Lee [EMAIL PROTECTED] wrote: Hi everyone, I am having some difficulty parsing .Net web service results. The problem lies in the fact that Flex's XML parser doesn't like un-typed xmlns declarations of the type found by default in .Net web services. Try the following: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationComplete=doIt() mx:Script ![CDATA[ function doIt(){ var myXML:XML = 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 a xmlns:soap=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML: +myXML.descendants(b)); var myXML2:XML = 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 a xmlns=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML2: +myXML2.descendants(b)); } ]] /mx:Script /mx:Application This code results in the following traces: Node B from myXML: Hi Node B from myXML2: As you can see, the only difference between the two blocks of XML is that the successful one uses xmlns:soap= while the unsuccessful one uses xmlns=. While I am no SOAP expert, I don't believe the 2nd one is invalid syntax, so there should be no reason for the XML parser to ignore it, right? Anyone have a workaround for me that doesn't require modifying the web services? (I don't have administrative access to them). Thanks! -tom -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [flexcoders] Re: XML parser chokes on un-typed xmlns
At the risk of seeming dense: how would I fix my second example? Ive been through the help docs and Bens examples, but Im just not getting it. From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Gordon Smith Sent: Wednesday, August 16, 2006 1:26 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: XML parser chokes on un-typed xmlns More explanation... Tom, the behavior you saw was correct. In your first case, defining the soap namespace prefix on a doesn't affect b, because b has no namespace prefix and is therefore in the undefined default namespace, not in the soap namespace. In your second case, you are defining a default namespace on a, which affects the child tag b. So descendants(b) doesn't find b. I didn't look at Ben's links, but they presumably explain how to programmatically access tags and attributes when you define a default namespace. - Gordon From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 9:46 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns http://www.returnundefined.com/2006/07/dealing-with-default-namespaces-in-flex-2as3/ Ben http://www.returnundefined.com/ --- In flexcoders@yahoogroups.com, Tom Lee [EMAIL PROTECTED] wrote: Hi everyone, I am having some difficulty parsing .Net web service results. The problem lies in the fact that Flex's XML parser doesn't like un-typed xmlns declarations of the type found by default in .Net web services. Try the following: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute creationComplete=doIt() mx:Script ![CDATA[ function doIt(){ var myXML:XML = 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 a xmlns:soap=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML: +myXML.descendants(b)); var myXML2:XML = 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 a xmlns=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML2: +myXML2.descendants(b)); } ]] /mx:Script /mx:Application This code results in the following traces: Node B from myXML: Hi Node B from myXML2: As you can see, the only difference between the two blocks of XML is that the successful one uses xmlns:soap= while the unsuccessful one uses xmlns=. While I am no SOAP expert, I don't believe the 2nd one is invalid syntax, so there should be no reason for the XML parser to ignore it, right? Anyone have a workaround for me that doesn't require modifying the web services? (I don't have administrative access to them). Thanks! -tom __._,_.___ -- 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 Software development tool Software development Software development services Home design software Software development company 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] Re: XML parser chokes on un-typed xmlns
Awesome! That's got it! Thanks so much. Seems odd that we have to manually declare these namespaces just to parse a little XML, doesn't it? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 2:31 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns Hi Tom, Sorry, I've not used the descendants method before and I just assumed the approach I use would work. If you use .. instead it will work as expected. namespace temp = http://tempuri.org/;; use namespace temp; trace(Node B from myXML2: + myXML2..b); HTH, Ben --- In flexcoders@yahoogroups.com, Tom Lee [EMAIL PROTECTED] wrote: Thanks, Ben - I've seen this before (I believe you directed me to this page on a previous issue). However, I don't understand how it applies to my particular problem - how would you fix my example using the namespace directive? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 12:46 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns http://www.returnundefined.com/2006/07/dealing-with-default-namespaces-in-fl ex-2as3/ Ben http://www.returnundefined.com/ --- In flexcoders@yahoogroups.com, Tom Lee design@ wrote: Hi everyone, I am having some difficulty parsing .Net web service results. The problem lies in the fact that Flex's XML parser doesn't like un-typed xmlns declarations of the type found by default in .Net web services. Try the following: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationComplete=doIt() mx:Script ![CDATA[ function doIt(){ var myXML:XML = 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 a xmlns:soap=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML: +myXML.descendants(b)); var myXML2:XML = 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 a xmlns=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML2: +myXML2.descendants(b)); } ]] /mx:Script /mx:Application This code results in the following traces: Node B from myXML: Hi Node B from myXML2: As you can see, the only difference between the two blocks of XML is that the successful one uses xmlns:soap= while the unsuccessful one uses xmlns=. While I am no SOAP expert, I don't believe the 2nd one is invalid syntax, so there should be no reason for the XML parser to ignore it, right? Anyone have a workaround for me that doesn't require modifying the web services? (I don't have administrative access to them). Thanks! -tom -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [flexcoders] Re: XML parser chokes on un-typed xmlns
I've been debating about whether it might not be worth it just to strip out all the xmlns declarations with a little regex... I talked it over briefly with the web service developers and they couldn't even really explain why those are present or what they are for... Just that Visual Studio puts them in by default. I understand that they might prevent collisions between nodes of the same name, but in our case that's irrelevant since we never use the same node name for multiple purposes. Another idea I had would be to automagically loop through all the nodes in the XML, find all the namespaces, and declare them... But frankly, I don't know enough about the topic to understand the downsides of doing something like that. What do you think of the idea? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 3:18 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns Don't get me started on default namespaces in Flex/AS3... :) --- In flexcoders@yahoogroups.com, Tom Lee [EMAIL PROTECTED] wrote: Awesome! That's got it! Thanks so much. Seems odd that we have to manually declare these namespaces just to parse a little XML, doesn't it? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 2:31 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns Hi Tom, Sorry, I've not used the descendants method before and I just assumed the approach I use would work. If you use .. instead it will work as expected. namespace temp = http://tempuri.org/;; use namespace temp; trace(Node B from myXML2: + myXML2..b); HTH, Ben --- In flexcoders@yahoogroups.com, Tom Lee design@ wrote: Thanks, Ben - I've seen this before (I believe you directed me to this page on a previous issue). However, I don't understand how it applies to my particular problem - how would you fix my example using the namespace directive? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 12:46 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns http://www.returnundefined.com/2006/07/dealing-with-default-namespaces-in-fl ex-2as3/ Ben http://www.returnundefined.com/ --- In flexcoders@yahoogroups.com, Tom Lee design@ wrote: Hi everyone, I am having some difficulty parsing .Net web service results. The problem lies in the fact that Flex's XML parser doesn't like un-typed xmlns declarations of the type found by default in .Net web services. Try the following: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationComplete=doIt() mx:Script ![CDATA[ function doIt(){ var myXML:XML = 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 a xmlns:soap=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML: +myXML.descendants(b)); var myXML2:XML = 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 a xmlns=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML2: +myXML2.descendants(b)); } ]] /mx:Script /mx:Application This code results in the following traces: Node B from myXML: Hi Node B from myXML2: As you can see, the only difference between the two blocks of XML is that the successful one uses xmlns:soap= while the unsuccessful one uses xmlns=. While I am no SOAP expert, I don't believe the 2nd one is invalid syntax, so there should be no reason for the XML parser to ignore it, right? Anyone have a workaround for me that doesn't require modifying the web services? (I don't have administrative access to them
RE: [flexcoders] Re: XML parser chokes on un-typed xmlns
Thanks for your help on this, Claus and Ben. I'll keep looking into it and see if I can come up with something a little more dynamic. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 4:19 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns I went round and round with different ideas about how to deal with these issues shortly after I started working with Flex. I even had some issues using namespaceDeclarations() which, as Claus points out, should work in retrieving them. The solution I posted on my site was the best I was able to devise because the 'use namespace' directive provided the most flexible way to work with XML, but you can only define those types of namespaces with compile-time constants. For instance, you can't do this: namespace def = myXML.namespaceDeclarations()[0]; use namespace def; If someone figures out an easier and/or more flexible way I am definitely all ears though. Ben --- In flexcoders@yahoogroups.com, Tom Lee [EMAIL PROTECTED] wrote: I've been debating about whether it might not be worth it just to strip out all the xmlns declarations with a little regex... I talked it over briefly with the web service developers and they couldn't even really explain why those are present or what they are for... Just that Visual Studio puts them in by default. I understand that they might prevent collisions between nodes of the same name, but in our case that's irrelevant since we never use the same node name for multiple purposes. Another idea I had would be to automagically loop through all the nodes in the XML, find all the namespaces, and declare them... But frankly, I don't know enough about the topic to understand the downsides of doing something like that. What do you think of the idea? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 3:18 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns Don't get me started on default namespaces in Flex/AS3... :) --- In flexcoders@yahoogroups.com, Tom Lee design@ wrote: Awesome! That's got it! Thanks so much. Seems odd that we have to manually declare these namespaces just to parse a little XML, doesn't it? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 2:31 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns Hi Tom, Sorry, I've not used the descendants method before and I just assumed the approach I use would work. If you use .. instead it will work as expected. namespace temp = http://tempuri.org/;; use namespace temp; trace(Node B from myXML2: + myXML2..b); HTH, Ben --- In flexcoders@yahoogroups.com, Tom Lee design@ wrote: Thanks, Ben - I've seen this before (I believe you directed me to this page on a previous issue). However, I don't understand how it applies to my particular problem - how would you fix my example using the namespace directive? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Wednesday, August 16, 2006 12:46 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: XML parser chokes on un-typed xmlns http://www.returnundefined.com/2006/07/dealing-with-default-namespaces-in-fl ex-2as3/ Ben http://www.returnundefined.com/ --- In flexcoders@yahoogroups.com, Tom Lee design@ wrote: Hi everyone, I am having some difficulty parsing .Net web service results. The problem lies in the fact that Flex's XML parser doesn't like un-typed xmlns declarations of the type found by default in .Net web services. Try the following: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationComplete=doIt() mx:Script ![CDATA[ function doIt(){ var myXML:XML = 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 a xmlns:soap=http://tempuri.org/ bHi/b /a /soap:Body /soap:Envelope trace(Node B from myXML: +myXML.descendants(b
RE: [flexcoders] Re: WebService - What's wrong with this code?
Thanks, Ben - Your code works fine. My code, even after I manually edited to make it identical to yours, does not. I can only conclude that Flex Builder is on crack. Seriously, I went over it line by line... No differences except whitespace. I hope this is not going to become a behavioral pattern in Builder... I work with Visual Studio, and there's no room for more than one buggy IDE in my life. Thanks again, -tom -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Friday, August 11, 2006 10:01 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: WebService - What's wrong with this code? Does it compile for you without errors? Yep, this exact code works for me. ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationComplete=init() mx:Script ![CDATA[ import mx.rpc.soap.LoadEvent; import mx.rpc.soap.WebService; private function init():void { var myWebService:WebService; myWebService = new WebService(); myWebService.loadWSDL(http://webservices.amazon.com/AWSECommerceService/AWS ECommerceService.wsdl); myWebService.addEventListener(load, loadComplete); } private function loadComplete(event:LoadEvent):void { trace(ALL GOOD); } ]] /mx:Script /mx:Application -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Friday, August 11, 2006 12:42 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: WebService - What's wrong with this code? For your second example, if you wrap the lines other than the import inside of a function it should work. HTH, Ben --- In flexcoders@yahoogroups.com, Tom Lee design@ wrote: I can't figure this out for the life of me - I'm following other people's examples, but still getting errors. This must be something obvious. Here's my code (I've removed the actual WSDL url): ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute mx:Script ![CDATA[ import mx.rpc.soap.WebService; var myWebService:WebService; function initWS(){ myWebService = new WebService(); myWebService.loadWSDL(**); } ]] /mx:Script /mx:Application And here's my error: 1061: Call to a possibly undefined method loadWSDL through a reference with static type WebService. (Line 9) I've tried a bunch of different stuff - here's another variation, which throws different errors: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute mx:Script ![CDATA[ import mx.rpc.soap.WebService; var myWebService:WebService; myWebService = new WebService(); myWebService.loadWSDL(**); ]] /mx:Script /mx:Application And the errors: 1120: Access of undefined property myWebService. (Lines 8 9) Thanks! - tom -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http
[flexcoders] WebService - What's wrong with this code?
I cant figure this out for the life of me Im following other peoples examples, but still getting errors. This must be something obvious Heres my code (Ive removed the actual WSDL url): ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute mx:Script ![CDATA[ import mx.rpc.soap.WebService; var myWebService:WebService; function initWS(){ myWebService = new WebService(); myWebService.loadWSDL(**); } ]] /mx:Script /mx:Application And heres my error: 1061: Call to a possibly undefined method loadWSDL through a reference with static type WebService. (Line 9) Ive tried a bunch of different stuff heres another variation, which throws different errors: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute mx:Script ![CDATA[ import mx.rpc.soap.WebService; var myWebService:WebService; myWebService = new WebService(); myWebService.loadWSDL(**); ]] /mx:Script /mx:Application And the errors: 1120: Access of undefined property myWebService. (Lines 8 9) Thanks! - tom __._,_.___ -- 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] Re: WebService - What's wrong with this code?
Thanks Ben, but no such luck - I get the same error as in my first example. Does it compile for you without errors? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ben.clinkinbeard Sent: Friday, August 11, 2006 12:42 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: WebService - What's wrong with this code? For your second example, if you wrap the lines other than the import inside of a function it should work. HTH, Ben --- In flexcoders@yahoogroups.com, Tom Lee [EMAIL PROTECTED] wrote: I can't figure this out for the life of me - I'm following other people's examples, but still getting errors. This must be something obvious. Here's my code (I've removed the actual WSDL url): ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute mx:Script ![CDATA[ import mx.rpc.soap.WebService; var myWebService:WebService; function initWS(){ myWebService = new WebService(); myWebService.loadWSDL(**); } ]] /mx:Script /mx:Application And here's my error: 1061: Call to a possibly undefined method loadWSDL through a reference with static type WebService. (Line 9) I've tried a bunch of different stuff - here's another variation, which throws different errors: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute mx:Script ![CDATA[ import mx.rpc.soap.WebService; var myWebService:WebService; myWebService = new WebService(); myWebService.loadWSDL(**); ]] /mx:Script /mx:Application And the errors: 1120: Access of undefined property myWebService. (Lines 8 9) Thanks! - tom -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
[flexcoders] Debugging Web Service call
Hi guys, Im having some trouble with a WebService call and cant seem to pinpoint the trouble. The WSDL loads fine, but any calls to the web service result in nothing. No fault, no result, not even the busy cursor (even though Ive got showBusyCursor=true). Anyone have any suggestions for how I might debug this? Are there any low-level status events I can hook into? I have better luck with the MXNA web services, so I know my syntax is right Thanks! -tom __._,_.___ -- 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] Re: Debugging Web Service call
Yeah, I hate generic questions too, sorry about that. Problem is, I can't show you the web services due to company policy, and can't show you my code because it would expose the web services. I can tell you that I've connected successfully to other web services using the same syntax, so I'm pretty sure my code's not at fault. What I'm really after are general tips on debugging web service calls. Usually you'd look at the fault message when a call fails, but this failure isn't generating a fault. Also, it prevents subsequent function calls from executing, which I find odd: function doIt():void{ myWebService.myMethod.send(); //The following will not fire: Alert.show(Call made to webservice); } Sorry I can't post my code. I appreciate anything you might be able to offer despite that fact. -tom -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of flexnadobe Sent: Thursday, August 10, 2006 12:29 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Debugging Web Service call Hi Tom, If you want try to post some code so we can see what you are doing? There are alot of cool bro's on this site that will help but we will need a starting point. cya, Rich --- In flexcoders@yahoogroups.com, Tom Lee [EMAIL PROTECTED] wrote: Hi guys, I'm having some trouble with a WebService call and can't seem to pinpoint the trouble. The WSDL loads fine, but any calls to the web service result in nothing. No fault, no result, not even the busy cursor (even though I've got showBusyCursor=true). Anyone have any suggestions for how I might debug this? Are there any low-level status events I can hook into? I have better luck with the MXNA web services, so I know my syntax is right. Thanks! -tom -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [flexcoders] Re: Debugging Web Service call
Exactly what I was looking for, James! Thanks so much... The request was not being sent at all, so I stepped into the debugger. It turns out I have a WSDL error - looks like the WSDLParser is choking on a namespace, saying it's not resolvable. It's one of those ASP.Net default tempuri.org namespaces. Anyone ever have trouble with ASP.Net web service namespaces? -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of james_dhap Sent: Thursday, August 10, 2006 3:27 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Debugging Web Service call Hi Tom, There are two places I would recommend starting with. The first is to see if any data is actually being sent out by the player to the WebService. The easiest way to do this is to use an HTTP request debugger to sniff the outgoing/incoming data. There are a lot of options out there but I prefer Tamper Data (see my previous post), mainly because it intergrates with Firefox: https://addons.mozilla.org/firefox/966/ What you want to do with this app (or any other debugger) is to see if the request is being sent out to the service by the player. If you don't see a request being sent out then you know that there is some problem in your Flex code or a conflict in the Flex Framework. If the data never leaves I would set a breakpoint on the send method and start stepping into the Framework code and see where it goes wrong. If you see the request is being sent but nothing is being returned then you can pursue the service and verify that its not hanging or doing something wrong. It's kind of hard to recommend other ideas without seeing your code, but I totally understand why you can't post it. -- James --- In flexcoders@yahoogroups.com, Tom Lee [EMAIL PROTECTED] wrote: Yeah, I hate generic questions too, sorry about that. Problem is, I can't show you the web services due to company policy, and can't show you my code because it would expose the web services. I can tell you that I've connected successfully to other web services using the same syntax, so I'm pretty sure my code's not at fault. What I'm really after are general tips on debugging web service calls. Usually you'd look at the fault message when a call fails, but this failure isn't generating a fault. Also, it prevents subsequent function calls from executing, which I find odd: function doIt():void{ myWebService.myMethod.send(); //The following will not fire: Alert.show(Call made to webservice); } Sorry I can't post my code. I appreciate anything you might be able to offer despite that fact. -tom -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of flexnadobe Sent: Thursday, August 10, 2006 12:29 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Debugging Web Service call Hi Tom, If you want try to post some code so we can see what you are doing? There are alot of cool bro's on this site that will help but we will need a starting point. cya, Rich --- In flexcoders@yahoogroups.com, Tom Lee design@ wrote: Hi guys, I'm having some trouble with a WebService call and can't seem to pinpoint the trouble. The WSDL loads fine, but any calls to the web service result in nothing. No fault, no result, not even the busy cursor (even though I've got showBusyCursor=true). Anyone have any suggestions for how I might debug this? Are there any low-level status events I can hook into? I have better luck with the MXNA web services, so I know my syntax is right. Thanks! -tom -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/