You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Ben Burns (JIRA)" <ji...@apache.org> on 2013/12/06 18:43:36 UTC

[jira] [Comment Edited] (FLEX-33644) XMLEncoder improperly handles encoding the string "null".

    [ https://issues.apache.org/jira/browse/FLEX-33644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13841462#comment-13841462 ] 

Ben Burns edited comment on FLEX-33644 at 12/6/13 5:42 PM:
-----------------------------------------------------------

Thanks, Justin. I created a fork of my fiddle test case to demonstrate what you're saying.

Personally I think the real problem is that anything would ever coerce to null, or that null would ever coerce to <root>null</root>. It's my opinion that null should only ever be coerced to false (or maybe the opposite to prevent weird coercion chains) in languages which support type coercion, and that for all other purposes, a == null should be identical to a === null. In lieu of making that change, I'd recommend auditing all flex XML processing code for null checks using the weak equality operator where they should in fact be using the strict equality operator.


was (Author: benjamincburns):
Thanks, Justin. I created a fork of my fiddle test case to demonstrate what you're saying.

Personally I think the real problem is that anything would ever coerce to null, or that null would ever coerce to <root>null</root>. It's my opinion that null should only ever be coerced to false in languages which support type coercion, and that for all other purposes, a == null should be identical to a === null. In lieu of making that change, I'd recommend auditing all flex XML processing code for null checks using the weak equality operator where they should in fact be using the strict equality operator.

> XMLEncoder improperly handles encoding the string "null".
> ---------------------------------------------------------
>
>                 Key: FLEX-33644
>                 URL: https://issues.apache.org/jira/browse/FLEX-33644
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: RPC: General
>    Affects Versions: Adobe Flex SDK 3.0 (Release), Adobe Flex SDK 3.1 (Release), Adobe Flex SDK 3.2 (Release), Adobe Flex SDK 3.3 (Release), Adobe Flex SDK 3.4 (Release), Adobe Flex SDK 3.5 (Release), Adobe Flex SDK 3.6 (Release), Apache Flex 4.9.0
>            Reporter: Ben Burns
>              Labels: rpc, soap, xml, xmlrpc
>
> The following code returns an empty string:
>     var enc:XMLEncoder = new XMLEncoder();
>     enc.encode("null");
> However, SchemaMarshaller.marshall() correctly returns the string "null".
> I believe the problems is that XML.appendChild (as used in XMLEncoder.setValue) for some reason treats the string "null" differently. I have no idea why.
> If you're curious as to why I think this is a bug, see this StackOverflow question:
> http://stackoverflow.com/questions/4456438/how-can-i-pass-the-string-null-through-wsdl-soap-from-as3-to-coldfusion-web
> Finally, see this fiddle for examples:
> http://wonderfl.net/c/jYIm



--
This message was sent by Atlassian JIRA
(v6.1#6144)