Hi Piotr, seems Joanne has problem in part due to MXRoyale not compiled with
-js-default-initializers=true (getStaticConstantsByConvention :: the reflection target mx.rpc.http.mxml.HTTPService was not Compiled with default initializers enabled) Don't know if it is possible to add that to MXRoyale. What do you think @Harbs <[email protected]> , @Yishay Weiss <[email protected]> and others? @Joanne, if you are building from sources, can you try to add that config to MRoyale library? thanks El mar., 28 jul. 2020 a las 7:51, Piotr Zarzycki (<[email protected]>) escribió: > Hi Joanne, > > Here is how we are sending POST with some parameters. [1] In that case > parameter one parameter called "dominoXML" > > I hope it helps. > > [1] https://paste.apache.org/x22su > > Thanks, > Piotr > > > > > > On Tue, Jul 28, 2020, 7:28 AM SENEQUE CRAIG THIERRY < > [email protected]> wrote: > >> Hi Carlos, >> >> I added the optional compiler parameters: >> >> -js-default-initializers=true >> -js-dynamic-access-unknown-members=true >> >> But am still having the warning in console: >> getStaticConstantsByConvention.js:52 [WARNING] >> getStaticConstantsByConvention :: the reflection target >> mx.rpc.http.mxml.HTTPService was not Compiled with default >> initializers enabled >> >> And also my POST param is still blank on server request... >> When using same request but in flex3 (by the way I am >> re-writing the client side of an existing application >> developed with flex and actionscript - with apache royale) >> and I would like to re-use the existing server functions >> (which is in PHP) - when the same request is called from >> old flex application - the POST params are present... But >> when called using HTTPService from apache royale - it is >> blank :( >> >> Do you have an example using HTTPService with POST >> parameters that work ? >> >> Thanks & Regards >> Joanne >> >> >> >> On Fri, 24 Jul 2020 10:20:28 +0200 >> Carlos Rovira <[email protected]> wrote: >> > Hi Joanne, >> > >> > "getStaticConstantsByConvention" problem use to be >> >solved using the >> > optional compilation parameter: >> >*-js-default-initializers=true* >> > >> > (See this link: >> > >> https://apache.github.io/royale-docs/create-an-application/optimizations/compiler-configuration-settings.html#default-initializers >> > ) >> > >> > In Royale by default the variables are not initialized >> >unlike in Flash / >> >Flex. >> > Crux needs for some things that these variables are >> >initialized. >> > >> > Also maybe you need to add >> >-js-dynamic-access-unknown-members=true >> > ( >> > >> https://apache.github.io/royale-docs/create-an-application/optimizations/compiler-configuration-settings.html#dynamic-access-unknown-members >> > ) >> > in case you are adding dynamic properties to plain >> >objects >> > >> > HTH >> > >> > Carlos >> > >> > El vie., 24 jul. 2020 a las 10:05, Joanne Seneque >> >(<[email protected]>) >> > escribió: >> > >> >> Hi Carlos, >> >> Thanks for the reply, I added traces to the code (client >> >>+ server side) >> >> and was able to debug up to the point where the message >> >>is constructed & >> >> sent to server (in >> >>mx.rpc.http.AbstractOperation.prototype.sendBody ) >> >> ---- >> >> message.contentType = >> >>"application/x-www-form-urlencoded" >> >> message.method = "POST" >> >> message.body = {loginMode: "1", pwd: "jbggAFxcXFx7", >> >>scope: >> >> "jbggAFdXV1fSpQ9e", username: "jbggAFhYWFgPvC96U1U="} >> >> message.httpHeaders = {} >> >> ---- >> >> We can see that the "body" contains the object to be >> >>sent to the PHP >> >> service / request call... >> >> But in my PHP log: >> >> >> >> 2020-07-24 11:45:04 +04:00 --- info: request method: >> >>POST >> >> 2020-07-24 11:45:04 +04:00 --- info: php input: >> >> 2020-07-24 11:45:04 +04:00 --- info: user: >> >> 2020-07-24 11:45:04 +04:00 --- info: pwd: >> >> 2020-07-24 11:45:04 +04:00 --- info: scope: >> >> 2020-07-24 11:45:05 +04:00 --- error: Login - Scope is >> >>not valid. >> >> 2020-07-24 11:45:05 +04:00 --- error: Login - Blank user >> >>or password given >> >> --------------------------- >> >> >> >> One thing I saw in the browser console is the following >> >>warning: >> >> [WARNING] getStaticConstantsByConvention :: the >> >>reflection target >> >> mx.rpc.http.mxml.HTTPService was not Compiled with >> >>default initializers >> >> enabled >> >> org.apache.royale.reflection.utils.getStaticConstantsByConvention >> >>@ >> >> getStaticConstantsByConvention.js:52 >> >> org.apache.royale.crux.reflection.TypeDescriptor.fromTypeDefinition >> >>@ >> >> TypeDescriptor.js:194 >> >> org.apache.royale.crux.reflection.TypeCache.getTypeDescriptor >> >>@ >> >> TypeCache.js:64 >> >> org.apache.royale.crux.BeanFactory.constructBean @ >> >>BeanFactory.js:577 >> >> org.apache.royale.crux.BeanProvider.initializeBeans @ >> >>BeanProvider.js:79 >> >> org.apache.royale.crux.BeanProvider.initialize @ >> >>BeanProvider.js:65 >> >> org.apache.royale.crux.Crux.constructProviders @ >> >>Crux.js:169 >> >> org.apache.royale.crux.Crux.init @ Crux.js:145 >> >> org.apache.royale.crux.Crux.set__strand @ Crux.js:233 >> >> org.apache.royale.core.ElementWrapper.addBead @ >> >>ElementWrapper.js:120 >> >> org.apache.royale.core.HTMLElementWrapper.addBead @ >> >> HTMLElementWrapper.js:50 >> >> org.apache.royale.jewel.Application.start @ >> >>Application.js:260 >> >> (anonymous) @ (index):560 >> >> >> >> Could this be linked to my issue (i.e. POST content is >> >>blank on PHP >> >> server) ? >> >> >> >> Thanks & Regards >> >> Joanne >> >> >> >> >> >> >> >> On 2020/07/23 07:45:44, Carlos Rovira >> >><[email protected]> wrote: >> >> > Hi Joanne, >> >> > >> >> > Here's a working example that uses mx:HTTPService with >> >>Crux [1], very >> >> > similar to your code. >> >> > >> >> > can't see any issue in your code. Just ensure the >> >>service is responding >> >> > correctly and put some traces in the classes to detect >> >>the point where it >> >> > is failing. >> >> > >> >> > [1] >> >> > >> >> >> https://github.com/codeoscopic/avant2-website/blob/master/avant2-products-companies/src/main/royale/com/codeoscopic/avant/config/Beans.mxml >> >> > >> >> > El jue., 23 jul. 2020 a las 8:48, SENEQUE CRAIG >> >>THIERRY (< >> >> > [email protected]>) escribió: >> >> > >> >> > > Hi, I am using an HTTPService to make a POST request >> >>to a >> >> > > PHP server - the issue I am having is that the POST >> >> > > data/params is not retrieved on the server... >> >> > > Below is my code in delegate file (I followed >> >>examples >> >> > > using 'crux'): >> >> > > >> >> > > Beans.mxml >> >> > > >> >> > > <crux:BeanProvider >> >> > > xmlns:fx="http://ns.adobe.com/mxml/2009" >> >> > > >> >> xmlns:crux="library://ns.apache.org/royale/crux" >> >> > > xmlns:mx="library://ns.apache.org/royale/mx" >> >> > > xmlns:model="model.*" >> >> > > xmlns:service="service.*" >> >> > > xmlns:controller="controller.*"> >> >> > > >> >> > > <!-- services config --> >> >> > > <mx:HTTPService id="loginService" >> >>showBusyCursor="true"/> >> >> > > >> >> > > LoginDelegate.as >> >> > > package service >> >> > > { >> >> > > import >> >>org.apache.royale.events.IEventDispatcher; >> >> > > import mx.rpc.AsyncToken; >> >> > > import mx.rpc.http.HTTPService; >> >> > > >> >> > > /** >> >> > > * @royalesupresspublicvarwarning >> >> > > */ >> >> > > public class LoginDelegate >> >> > > { >> >> > > >> >> > > [Dispatcher] >> >> > > public var >> >>dispatcher:IEventDispatcher; >> >> > > >> >> > > [Inject('loginService')] >> >> > > public var loginService:HTTPService; >> >> > > >> >> > > public function LoginDelegate() { >> >> > > } >> >> > > >> >> > > public function >> >>login(loginURL:String, >> >> > > params:Object):AsyncToken { >> >> > > loginService.method = >> >>"POST"; >> >> > > loginService.url = loginURL >> >>+ 'login_web'; // >> >> > > "login_URL" is for e.g. http://localhost/mySite/ >> >> > > >> >> > > >> >> > > return >> >>loginService.send(params); // "params" >> >> is >> >> > > an >> >> > > object as {user: xxx:, pwd: 123} >> >> > > } >> >> > > } >> >> > > } >> >> > > >> >> > > ------------ >> >> > > >> >> > > On my PHP server both the "$_POST" and >> >> > > "file_get_contents('php://input')" returns blank... >> >> > > >> >> > > Did I miss something on the HTTPService ? Or is >> >>there >> >> > > another way to pass data through POST request ? >> >> > > >> >> > > >> >> > > Thanks & Regards >> >> > > >> >> > > Joanne >> >> > > >> >> > >> >> > >> >> > -- >> >> > Carlos Rovira >> >> > http://about.me/carlosrovira >> >> > >> >> >> > >> > >> > -- >> > Carlos Rovira >> > http://about.me/carlosrovira >> >> -- Carlos Rovira http://about.me/carlosrovira
