Joanne, My example is showing of usage http service class from module Network [1]
import org.apache.royale.net.HTTPService; import org.apache.royale.net.beads.CORSCredentialsBead; URLSearchParams [2] is native HTML/JS class - whatever API is native you can just use it in theory and your code completion should see it - If not something is wrong with you code completion. [1] https://github.com/apache/royale-asjs/tree/develop/frameworks/projects/Network/src/main/royale/org/apache/royale/net [2] https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams Thanks, Piotr wt., 28 lip 2020 o 15:17 Joanne Seneque <joannesene...@intnet.mu> napisał(a): > Sorry, updated code to be found here instead: > https://bit.ly/2Esj8EQ > > On 2020/07/28 13:14:09, Joanne Seneque <joannesene...@intnet.mu> wrote: > > Hi Piotr, > > > > Thanks for the example - I tried modifying my code but now I am having > compilation errors : > > > > C:\Dev\moonshine\ESSLite\src\service\LoginDelegate.as(34): col: 17 > Error: Access of possibly undefined property contentData through a > reference with static type mx.rpc.http.HTTPService. > > : > > : loginService.contentData = urlParams; > > > > Is the example you provided using "mx.rpc.http.HTTPService" ? Because I > can't seem to find the property "contentData" on the HTTPService instance > (looked through the asDocs here [1]) > > > > Also, I can't find the "URLSearchParams" either in the docs... and I > tried to replace that with "org.apache.royale.net.URLVariables" - is this > OK or it's not the same thing at all ? see [2] for the updated code. > > > > The project I am working on is to be compiled for "JS" only. > > > > Thanks for your help. > > Joanne > > > > [1] https://royale.apache.org/asdoc/index.html#!mx.rpc.http/HTTPService > > [2] https://www.paste.org/flatcode/108158 > > > > > > > > On 2020/07/28 05:51:03, Piotr Zarzycki <piotrzarzyck...@gmail.com> > wrote: > > > 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 > > > > > > > > > > > > > > -- Piotr Zarzycki Patreon: *https://www.patreon.com/piotrzarzycki <https://www.patreon.com/piotrzarzycki>*