Actually "parameters" is null but converted to something in AbstractOperations.

Checking the object if array and size is my first choice, I wanted to discuss if we need different approach .

Than if we agree I can create PR.

Thanks,
Serkan

26.06.2020 09:14 tarihinde Alex Harui yazdı:

It is unlikely that XMLNode is a factor. More people used e4x than flash.xml.

I’m confused because the screenshots indicate that parameters is not null or an array but rather, some string that begins with “user

Assuming there is no “request” or “argumentNames” property, then it looks like Operation will pass sendBody an empty array as params so maybe check for params is Array and params.length = 0;

HTH,

-Alex

*From: *serkan <[email protected]>
*Reply-To: *"[email protected]" <[email protected]>
*Date: *Thursday, June 25, 2020 at 12:40 PM
*To: *"[email protected]" <[email protected]>, Alex Harui <[email protected]>
*Subject: *Re: empty object is being behaved as if an xml

+

The problem is not about "parameters" to be null but the handling of the null valued parameter by Royale.

25.06.2020 20:26 tarihinde serkan yazdı:

    If we consider authAndCall of BasicAuthenticationHandler at line
    69, send() is called.

      if (parameter == null) {
    *return /* implicit cast */
    
org.apache.royale.utils.Language.as(service.operations[operationName].send(),
    mx.rpc.AsyncToken, true);*
      }
      return /* implicit cast */
    
org.apache.royale.utils.Language.as(service.operations[operationName].send(parameter),
    mx.rpc.AsyncToken, true);

    For here, the function being called is
    "mx.rpc.http.Operation.prototype.send()"

    The suspendapp method of menubar :

                private function suspendApp(eventObj:CloseEvent):void {
                    if(eventObj.detail == Alert.OK) {
                        suspendAppResult.token =
    BasicAuthenticationHandler.authAndCall(jobManagerService,
    "suspendapp");
                    }
                }


    I can share the sources for
    com.likya.pinara.utils.BasicAuthenticationHandler and
    com.likya.pinara.comps.MenuBar if you prefer.

    Thanks,
    Serkan

    25.06.2020 20:14 tarihinde Alex Harui yazdı:

        I have no idea where “parameters” came from and what it is. 
        Which method in the call stack created what is “parameters”? 
        Maybe suspendApp?  Or authAndCall?

        I think we need to understand why Flex has null at some point
        but Royale doesn’t.

        -Alex

        *From: *"[email protected]"
        <mailto:[email protected]> <[email protected]>
        <mailto:[email protected]>
        *Reply-To: *"[email protected]"
        <mailto:[email protected]> <[email protected]>
        <mailto:[email protected]>
        *Date: *Thursday, June 25, 2020 at 9:51 AM
        *To: *"[email protected]"
        <mailto:[email protected]> <[email protected]>
        <mailto:[email protected]>
        *Subject: *Re: empty object is being behaved as if an xml

        Which part you want to look Alex ?

        Android için Outlook
        
<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fghei36&data=02%7C01%7Caharui%40adobe.com%7C51699958d9174889ecee08d8193f8f46%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637287108072633214&sdata=uXo7D0H0N4xgGoTdyM9M%2BKuw%2Flngqt5UEh1enskoPIM%3D&reserved=0>'u
        edinin

        ------------------------------------------------------------------------

        *From:*Alex Harui <[email protected]> <mailto:[email protected]>
        *Sent:* Thursday, June 25, 2020 7:47:13 PM
        *To:* [email protected] <mailto:[email protected]>
        <[email protected]> <mailto:[email protected]>
        *Subject:* Re: empty object is being behaved as if an xml

        What does the code look like that calls this?

        *From: *serkan <[email protected]>
        <mailto:[email protected]>
        *Reply-To: *"[email protected]"
        <mailto:[email protected]> <[email protected]>
        <mailto:[email protected]>
        *Date: *Wednesday, June 24, 2020 at 11:53 PM
        *To: *"[email protected]"
        <mailto:[email protected]> <[email protected]>
        <mailto:[email protected]>
        *Subject: *empty object is being behaved as if an xml

        Hi,

        Regarding the exception :



        When the "parameters" is null it is being behaved like an xml
        node by AbstractOperation with the code piece below :

                    if (ctype == CONTENT_TYPE_XML)
                    {

                        if (parameters is String && xmlEncode == null)
                        {
                            paramsToSend = parameters as String;
                        } else {
                            paramsToSend = parameters.toXMLString();
                        }

        In fact Flex version checks if it is XMLNode or not than
        creates some kind of empty XML "<>"

        How can I check if "parameters" is not an xml string and
        convert it to empty xml string ? Checking null is not working
        because it is not null in royale bu an empty Array, which is
        an object according to the code below :



        Thanks,
        Serkan




Reply via email to