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&data=02%7C01%7Caharui%40adobe.com%7Cf63c32d6d50541ee5e4708d679d9e4db%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636830374110739512&sdata=gD5MNvTJP%2FrA5DjVt3RFnfHzZHRLOCvb9%2BM1o%2BkKOqQ%3D&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.
--------------------------------------