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ş <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Thursday, January 17, 2019 at 11:23 AM
To: "[email protected]" <[email protected]>
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ş 
<[email protected]><mailto:[email protected]>
Reply-To: "[email protected]"<mailto:[email protected]> 
<[email protected]><mailto:[email protected]>
Date: Thursday, January 17, 2019 at 10:38 AM
To: "[email protected]"<mailto:[email protected]> 
<[email protected]><mailto:[email protected]>
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" 
<[email protected]<mailto:[email protected]>> wrote:
Try DirectHTTPChannel’s createURLRequest.

From: Alex Harui <[email protected]><mailto:[email protected]>
Reply-To: "[email protected]"<mailto:[email protected]> 
<[email protected]><mailto:[email protected]>
Date: Wednesday, January 16, 2019 at 12:22 PM
To: "[email protected]"<mailto:[email protected]> 
<[email protected]><mailto:[email protected]>
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ş 
<[email protected]><mailto:[email protected]>
Reply-To: "[email protected]"<mailto:[email protected]> 
<[email protected]><mailto:[email protected]>
Date: Wednesday, January 16, 2019 at 12:03 PM
To: "[email protected]"<mailto:[email protected]> 
<[email protected]><mailto:[email protected]>
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:[email protected]]


And here are the values of request and the element :

[cid:[email protected]]

[cid:[email protected]]

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 
[email protected]<mailto:[email protected]> 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 <[email protected]><mailto:[email protected]>





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, 
"[email protected]"<mailto:[email protected]> 
<[email protected]><mailto:[email protected]> 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 <[email protected]><mailto:[email protected]>

    > Hi Serkan,
    >
    > Have you seen AbstractOperation (for HTTP) work without XML?
    >
    > -Alex
    >
    > From: Serkan Taş 
<[email protected]><mailto:[email protected]>
    > Reply-To: "[email protected]"<mailto:[email protected]> 
<[email protected]><mailto:[email protected]>
    > Date: Sunday, January 13, 2019 at 11:01 AM
    > To: "[email protected]"<mailto:[email protected]> 
<[email protected]><mailto:[email protected]>
    > 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:[email protected]]
    >
    >
    > 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