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

Reply via email to