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
>