lucee / extension-flex

GNU Lesser General Public License v2.1
0 stars 2 forks source link

Flash Services Gateway not passing message through to CFC #4

Open byron70 opened 6 years ago

byron70 commented 6 years ago

Originally posted this issue to the cfml.slack.com Lucee channel. I have not done much Java work, but managed to put a couple of fixes in place on my fork.

java.lang.NullPointerException
        at org.lucee.extension.net.flex.CFMLProxy.invokeBody(CFMLProxy.java:92)
        at org.lucee.extension.net.flex.BlazeDS.invoke(BlazeDS.java:49)
        at org.lucee.extension.net.flex.LuceeAdapter.invoke(LuceeAdapter.java:89)
        at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
        at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1529)
        at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:907)
        at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
        at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
        at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
        at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
        at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:147)
        at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
        at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:322)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)

Fix 1 - Remoting Message does not pass along the destination CFC properly, so the above exception occurs as serviceName is null on this line.

My fix is here.

Fix 2 - The above got me to the point where the CFC would be instantiated, but Lucee was then throwing an exception due to the types of parameters being created from the remoting message payload, list of structures, as opposed to a single numeric argument the CFC was expecting. This commit/fix has more comments regarding this issue.

Here's a gist with my remoting configs. https://gist.github.com/byron70/5582cb5149ab91d7156fdf2f4b7bd05a

byron70 commented 6 years ago

Guess I should note, I didn't do extensive testing as the flash remoting is the only feature I'm attempting to get working.