The 'WARNING' is just a warning. It will not appear in a release build. It
appears in this case of the HTTPService class because
js-default-initializers is off by default in the framework builds.
Ignoring the warning in most cases it will probably be ok (particularly in
this case, where there are no actual static constants on the reflection
target). But it could result in problems in some rare cases, and the
warning would provide a helpful clue for those situations.
If someone did something like MyClass["MY_FAKE_CONSTANT"] = 'fake' it would
incorrectly collect 'MY_FAKE_CONSTANT' as a constant during the Crux
reflection checks for a class that did not have
js-default-initializers=true when it was compiled. That seems quite rare,
so we could perhaps remove this warning.

What does everyone think?






On Wed, Jul 29, 2020 at 8:02 AM Carlos Rovira <carlosrov...@apache.org>
wrote:

> Hi Harbs,
>
> I think @Greg Dove <greg.d...@gmail.com> could better respond to it. I
> think all objects injected by Crux need to be compiled with that flag to
> true to remove that warning.
>
> El mar., 28 jul. 2020 a las 21:56, Harbs (<harbs.li...@gmail.com>)
> escribió:
>
>> Right. But what values need to be initialized?
>>
>> On Jul 28, 2020, at 2:29 PM, Carlos Rovira <carlosrov...@apache.org>
>> wrote:
>>
>> Hi,
>>
>> -js-default-initializers=true is required by Crux, but MXRoyale is not
>> compiled with it
>>
>> El mar., 28 jul. 2020 a las 11:56, Harbs (<harbs.li...@gmail.com>)
>> escribió:
>>
>>> Which initializer is needed?
>>>
>>> On Jul 28, 2020, at 12:29 PM, Carlos Rovira <carlosrov...@apache.org>
>>> wrote:
>>>
>>> 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 <harbs.li...@gmail.com> , @Yishay Weiss <yishayj...@hotmail.com>
>>> 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 (<
>>> piotrzarzyck...@gmail.com>) 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 <
>>>> joannesene...@intnet.mu> 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 <carlosrov...@apache.org> 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
>>>>> >(<joannesene...@intnet.mu>)
>>>>> > 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
>>>>> >><carlosrov...@apache.org> 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 (<
>>>>> >> > joannesene...@intnet.mu>) 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
>>>
>>>
>>>
>>
>> --
>> Carlos Rovira
>> http://about.me/carlosrovira
>>
>>
>>
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>
>

Reply via email to