May I open an issue on github ?

Here is URLLoader;

COMPILE::JS
            {
                var element:XMLHttpRequest = this.element as XMLHttpRequest;
                element.onreadystatechange = progressHandler;

                var url:String = request.url;

                /*
                var contentData:String = null;
                if (_contentData != null) {
                    if (_method == HTTPConstants.GET) {
                        if (url.indexOf('?') != -1) {
                            url += _contentData;
                        } else {
                            url += '?' + _contentData;
                        }
                    } else {
                        contentData = _contentData;
                    }
                }
                */

                element.open(request.method, request.url, true);
                // element.timeout = _timeout;

                var sawContentType:Boolean = false;
                if (request.requestHeaders) {
                    var n:int = request.requestHeaders.length;
                    for (var i:int = 0; i < n; i++) {
                        var header:HTTPHeader = request.requestHeaders[i];
                        if (header.name == HTTPHeader.CONTENT_TYPE) {
                            sawContentType = true;
                        }

                        element.setRequestHeader(header.name, header.value);
                    }
                }

                /*
                if (request.method != HTTPConstants.GET &&
                    !sawContentType && contentData) {
                    element.setRequestHeader(
                        HTTPHeader.CONTENT_TYPE, _contentType);
                }
                */
                /*
                if (contentData) {
                    element.send(contentData);
                } else {*/
                    element.send();
                /*
                }
                */
            }

            dispatchEvent(new Event("postSend"));
        }

17.01.2019 22:38 tarihinde Alex Harui yazdı:

Hi Serkan,

I think URLLoader needs to check the method and if it is POST to set request.data on the element.

HTH,

-Alex

*From: *Serkan Taş <serkan....@likyateknoloji.com>
*Reply-To: *"users@royale.apache.org" <users@royale.apache.org>
*Date: *Thursday, January 17, 2019 at 11:23 AM
*To: *"users@royale.apache.org" <users@royale.apache.org>
*Subject: *Re: Work on Emulation

Hi Alex,

DirectHttpChannel calls URLLoader.load with */urlRequest /*parameter, which is correct and contains input data.

mx.messaging.channels.DirectHTTPChannel.prototype.internalSend = function(msgResp) {   var /** @type {mx.messaging.channels.DirectHTTPChannel.DirectHTTPMessageResponder} */ httpMsgResp = org.apache.royale.utils.Language.as(msgResp, mx.messaging.channels.DirectHTTPChannel.DirectHTTPMessageResponder, true);
  var /** @type {org.apache.royale.net.URLRequest} */ urlRequest;
  try {
    urlRequest = this.http_$$www_adobe_com$2006$flex$mx$internal__createURLRequest(httpMsgResp.message);
  } catch (e) {
    httpMsgResp.agent.fault(e.fault, httpMsgResp.message);
    return;
  }
  var /** @type {org.apache.royale.net.URLLoader} */ urlLoader = httpMsgResp.urlLoader;   urlLoader.addEventListener(mx.events.ErrorEvent.ERROR, org.apache.royale.utils.Language.closure(httpMsgResp.errorHandler, httpMsgResp, 'errorHandler')); urlLoader.addEventListener(mx.events.IOErrorEvent.IO_ERROR, org.apache.royale.utils.Language.closure(httpMsgResp.errorHandler, httpMsgResp, 'errorHandler')); urlLoader.addEventListener(mx.events.SecurityErrorEvent.SECURITY_ERROR, org.apache.royale.utils.Language.closure(httpMsgResp.securityErrorHandler, httpMsgResp, 'securityErrorHandler')); urlLoader.addEventListener(org.apache.royale.events.Event.COMPLETE, org.apache.royale.utils.Language.closure(httpMsgResp.completeHandler, httpMsgResp, 'completeHandler')); urlLoader.addEventListener(mx.events.HTTPStatusEvent.HTTP_STATUS, org.apache.royale.utils.Language.closure(httpMsgResp.httpStatusHandler, httpMsgResp, 'httpStatusHandler'));
  urlLoader.load(urlRequest);
};

And URLoader.load is called :

org.apache.royale.net.URLLoader.prototype.load = function(request) {

  var /** @type {XMLHttpRequest} */ element = org.apache.royale.utils.Language.as(this.org_apache_royale_net_URLLoader_element, XMLHttpRequest);   element.onreadystatechange = org.apache.royale.utils.Language.closure(this.progressHandler, this, 'progressHandler');
  var /** @type {string} */ url = request.url;
  element.open(request.method, request.url, true);
  var /** @type {boolean} */ sawContentType = false;
  if (request.requestHeaders) {
    var /** @type {number} */ n = request.requestHeaders.length;
    for (var /** @type {number} */ i = 0; i < n; i++) {
      var /** @type {org.apache.royale.net.HTTPHeader} */ header = request.requestHeaders[i];
      if (header.name == org.apache.royale.net.HTTPHeader.CONTENT_TYPE) {
        sawContentType = true;
      }
      element.setRequestHeader(header.name, header.value);
    }
  }
  element.send();
  this.dispatchEvent(new org.apache.royale.events.Event("postSend"));
};

element.open is called with correct url and correct method - got from request which correct.

element.send() is called, but there is no place in load function that sets the input parameter request.data to element before calling send method.

If you prefer I may create a sample project for you to check.

Thanks,
Serkan

17.01.2019 22:15 tarihinde Alex Harui yazdı:

    Hi Serkan,

    I assume your goal is to get DirectHTTPChannel to work?  Or maybe
    I do not understand your scenario.  Doesn’t DirectHTTPChannel
    eventually call URLLoader.load?  It looked from your screenshot
    that the XML data was not handled correctly by createURLRequest.

    -Alex

    *From: *Serkan Taş <serkan....@likyateknoloji.com>
    <mailto:serkan....@likyateknoloji.com>
    *Reply-To: *"users@royale.apache.org"
    <mailto:users@royale.apache.org> <users@royale.apache.org>
    <mailto:users@royale.apache.org>
    *Date: *Thursday, January 17, 2019 at 10:38 AM
    *To: *"users@royale.apache.org" <mailto:users@royale.apache.org>
    <users@royale.apache.org> <mailto:users@royale.apache.org>
    *Subject: *Re: Work on Emulation

    Hi Alex,

    Do you want me to replace URLLoader.load with
    DirectHTTPChannel.createURLRequest ?

    Thanks,
    Serkan

    17.01.2019 06:24 tarihinde Serkan Taş yazdı:

        I can say that server side does not get data, so I am sure
        that it is not sent.

        The point is where it is lost.

        I am going to check your point.

        Thanks,

        Serkan

        Android için Outlook
        
<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fghei36&data=02%7C01%7Caharui%40adobe.com%7Cca4c3b81e3ae434fca1008d67cb132b1%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636833497864654499&sdata=Ux4VBl0Aem626faFOga2pZZ6d2ahopE3tjgmY%2FN%2BQM0%3D&reserved=0>
        uygulamasını edinin




        On Wed, Jan 16, 2019 at 11:42 PM +0300, "Alex Harui"
        <aha...@adobe.com <mailto:aha...@adobe.com>> wrote:

            Try DirectHTTPChannel’s createURLRequest.

            *From: *Alex Harui <aha...@adobe.com>
            <mailto:aha...@adobe.com>
            *Reply-To: *"users@royale.apache.org"
            <mailto:users@royale.apache.org> <users@royale.apache.org>
            <mailto:users@royale.apache.org>
            *Date: *Wednesday, January 16, 2019 at 12:22 PM
            *To: *"users@royale.apache.org"
            <mailto:users@royale.apache.org> <users@royale.apache.org>
            <mailto:users@royale.apache.org>
            *Subject: *Re: Work on Emulation

            I haven’t looked at the code, but I would imagine data was
            set on the request before it got passed into load?  Or
            data is set on the URLLoader by some other code and you
            can set a breakpoint on the data setter.

            -Alex

            *From: *Serkan Taş <serkan....@likyateknoloji.com>
            <mailto:serkan....@likyateknoloji.com>
            *Reply-To: *"users@royale.apache.org"
            <mailto:users@royale.apache.org> <users@royale.apache.org>
            <mailto:users@royale.apache.org>
            *Date: *Wednesday, January 16, 2019 at 12:03 PM
            *To: *"users@royale.apache.org"
            <mailto:users@royale.apache.org> <users@royale.apache.org>
            <mailto:users@royale.apache.org>
            *Subject: *Re: Work on Emulation

            Hi Alex,

            Sorry for the delay, here is the debug screen-shots. Just
            trying to recover from flu

            The picture below show the places where the post request
            is sent: element.send()

            cid:part1.B62196BD.66A79116@likyateknoloji.com


            And here are the values of request and the element :

            cid:part2.BB4EE043.35BE4B87@likyateknoloji.com

            cid:part3.B23DA06F.5E8F1667@likyateknoloji.com

            I can see in the debug view that the method an the url is
            set correctly for element but can not see where the data
            is set. Even in URLLoader.as JS compiler section has no
            setting for request data.

            May be I am missing something.

            Thanks,
            Serkan

            14.01.2019 08:08 tarihinde serkan....@likyateknoloji.com
            <mailto:serkan....@likyateknoloji.com> yazdı:


                I drilled in to the DirectChannel apply method and saw
                the same picture that all the values are as expected.
                I am going to prepare the case and the screenshot
                later today.

                Thanks,
                Serkan

                Alinti Alex Harui <aha...@adobe.com>
                <mailto:aha...@adobe.com>





                    I think there is a good chance that that
                    AbstractOperation doesn't work (or the
                    AbstractInvoker it calls isn't working).  I would
                    recommend that you debug in that area first.

                    -Alex

                    On 1/13/19, 8:36 PM,
                    "serkan....@likyateknoloji.com"
                    <mailto:serkan....@likyateknoloji.com>
                    <serkan....@likyateknoloji.com>
                    <mailto:serkan....@likyateknoloji.com> wrote:

                        Sure not Alex,

                        I am going through my application workflow.

                        If you need to know, than I may prepare an
                    application to see if it is or not.

                        I think you are wondering about the emulated
                    classes causing the issue.

                        Thanks,
                        Serkan

                        Alinti Alex Harui <aha...@adobe.com>
                    <mailto:aha...@adobe.com>

                        > Hi Serkan,
                        >
                        > Have you seen AbstractOperation (for HTTP)
                    work without XML?
                        >
                        > -Alex
                        >
                        > From: Serkan Taş
                    <serkan....@likyateknoloji.com>
                    <mailto:serkan....@likyateknoloji.com>
                        > Reply-To: "users@royale.apache.org"
                    <mailto:users@royale.apache.org>
                    <users@royale.apache.org>
                    <mailto:users@royale.apache.org>
                        > Date: Sunday, January 13, 2019 at 11:01 AM
                        > To: "users@royale.apache.org"
                    <mailto:users@royale.apache.org>
                    <users@royale.apache.org>
                    <mailto:users@royale.apache.org>
                        > Subject: Re: Work on Emulation
                        >
                        > Hi Alex,
                        >
                        > Adding the part below worked for text
                    conversion.
                        >
                        >             if (ctype == CONTENT_TYPE_XML)
                        >             {
                        >                 paramsToSend =
                    parameters.toXMLString();
                        >
                        > I am not sure but I guess this time the data
                    is not sent to the
                        > server side. I debugged the code and see
                    that it is all set.
                        >
                        > Here is the capture of the debug, you can
                    see the watch expression
                        > and the parameters which are all correct.
                        >
                        >
                    [cid:part1.6700F27F.BB28F758@likyateknoloji.com]
                        >
                        >
                        > 13.01.2019 14:35 tarihinde Serkan Taş yazdı:
                        > Hi Alex,
                        >
                        > parameters is XML. It is the return of
                        >
                        > XML.conversion("username=" +
                        >
                    
com.likya.pinara.model.ModelLocator.getInstance().currentUser.username);

                        >
                        > Yes the request use POST. I am going to try
                    toXMLString.
                        >
                        > Thanks,
                        > Serkan
                        >
                        > 13.01.2019 10:01 tarihinde Alex Harui yazdı:
                        > Hi Serkan,
                        >
                        > What is parameters?  Isn’t it XML or an
                    Array with one XML element?
                        > If so, “as String” will return null since
                    neither XML or Array is a
                        > String.  I think the commented code calls
                    toXMLString on an XML
                        > instance,  I think that’s what you want to
                    do.  I think the code
                        > also switches to POST as well.
                        >
                        > HTH,
                        > -Alex


                        --
                        Serkan Taş
                        Mobil : +90 532 250 07 71
                        Likya Bilgi Teknolojileri
                        ve İletişim Hiz. Ltd. Şti.
                    
https://na01.safelinks.protection.outlook.com/?url=www.likyateknoloji.com&amp;data=02%7C01%7Caharui%40adobe.com%7Cf63c32d6d50541ee5e4708d679d9e4db%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636830374110739512&amp;sdata=gD5MNvTJP%2FrA5DjVt3RFnfHzZHRLOCvb9%2BM1o%2BkKOqQ%3D&amp;reserved=0
                    
<https://na01.safelinks.protection.outlook.com/?url=www.likyateknoloji.com&data=02%7C01%7Caharui%40adobe.com%7Cca4c3b81e3ae434fca1008d67cb132b1%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636833497864654499&sdata=luq5GiG1CAfn%2FprGvMBhEVj%2Bf1MlyuF4TVPwCzzm2ZY%3D&reserved=0>

                        --------------------------------------
                        Bu elektronik posta ve onunla iletilen bütün
                    dosyalar gizlidir. Sadece
                        yukarıda isimleri belirtilen kişiler arasında
                    özel haberleşme amacını
                        taşımaktadır. Size yanlışlıkla ulaşmışsa bu
                    elektonik postanın
                        içeriğini açıklamanız, kopyalamanız,
                    yönlendirmeniz ve kullanmanız
                        kesinlikle yasaktır. Lütfen mesajı geri
                    gönderiniz ve sisteminizden
                        siliniz. Likya Bilgi Teknolojileri ve İletişim
                    Hiz. Ltd. Şti. bu
                        mesajın içeriği ile ilgili olarak hiç bir
                    hukuksal sorumluluğu kabul
                        etmez.

                        This electronic mail and any files transmitted
                    with it are intended
                        for the private use of  the persons named
                    above. If you received this
                        message in error, forwarding, copying or use
                    of any of the information
                        is strictly prohibited. Please immediately
                    notify the sender and
                        delete it from your system. Likya Bilgi
                    Teknolojileri ve İletişim Hiz.
                        Ltd. Şti. does not accept legal responsibility
                    for the contents of
                        this message.
                        --------------------------------------












Reply via email to