Hello,

I am able to do a stand-alone .mxml project using the samples you have
provided and connect well to my php methods / backend database. The
issue I have is when trying to deploy this as part of a Flex Data
Services / Cairngorm app I can't get the remote object to allow
compile or usage without error.

Anyone have a cairngorm / FDS scope example for using AMFPHP 1.9?

If I do the closest equivelent of adding the relevant contents of your
services-config.mxml to the already created one for FDS I get a
"Destination 'AMFPHPDestination' must specify at least one adapter"
error message when starting the server (Tomcat 5.5)

If I do a purely-client side entry of the endpoint in the
services.mxml instantiation I get other errors - and this is also not
a way I want to go as the endpoint URL would be exposed.

Renaud's examples don't seem to include cairngorm-ified versions as
was the case in the past and I haven't managed to crack this nut.

Thx,
Jamie

--- In flexcoders@yahoogroups.com, Patrick Mineault
<[EMAIL PROTECTED]> wrote:
>
> Hi all,
> 
> I've finally gotten around to add AMF3 support to amfphp, so you can 
> finally use Flex 2's RemoteObject with it. To test the new features, 
> I've created a new Service Browser in Flex 2 which allows you to 
> introspect services and test methods on the fly. I need people to test 
> out the new AMF3 support.
> 
> New/changed features:
> 
> - $this->methodTable is DEAD. All methods in /services are now 
> considered remotely accessible, unless you set them to protected or 
> private (PHP5) or start the method name with an (_), in which case it 
> will throw an error. If you want to get a description of a method and 
> it's arguments without looking at the class itself, add JavaDoc to the 
> method and you should see it in the new Service Browser.
> - _authenticate is dead, as a side-effect of the removal of the 
> methodTable. You can secure methods by creating a special function 
> called "beforeFilter($methodName)" in your class and return false to 
> stop a method from being executed. (the _ and the beforeFilter are the 
> conventions used by CakePHP, so I figured I'd use those instead of 
> rolling my own).
> - Circular references in AMF0 and AMF3 should now work. Class mapping 
> code has been ported to the AMF3 code also. To use remote class
mapping, 
> use registerClassAlias or the [RemoteClass] metadata tag, then read the 
> instructions in advancedsettings.php
> - Returning a mysql_query will now return either an Array or an 
> ArrayCollection depending on the setting in gateway.php. Other database 
> types are currently unsupported in AMF3 mode (they will be supported as 
> soon as I am sure the AMF3 code is perfect).
> - You can send ByteArray, ArrayCollection and ObjectProxy instances as 
> arguments to remote methods. You will receive the result as a
string, as 
> the inner array and as the inner object, respectively. Currently there 
> is no way to send back these types to Flash, but there will be in the 
> next version.
> - /browser now brings up the brand spanking new Flex 2-based service 
> browser. You can test methods directly through it. If the method
returns 
> an array or arraycollection, the browser will attempt to show it in a 
> datagrid (sweet). Please feel free to modify servicebrowser.mxml (it's 
> very spaghetti-code-ish, but it works). You will need the Adobe corelib 
> to compile (google for the link)
> 
> Limitations/things to keep in mind:
> 
> - MySql works but not other databases
> - You can use a JSON string for arguments in the service browser. 
> However you must wrap object keys in quotes (a limitation of Adobe
corelib).
> - Paged recordsets don't work anymore
> - Only tested in PHP5. PHP4 might show issues with circular references.
> - Calling two methods on a remoteObject one after the other (during the 
> same frame) might not work.
> - Charles and ServiceCapture have some issues with AMF3 handling. You 
> might see strings which seem out of place in your output while it works 
> fine in Flash. I will notify the people involved. You might want to set 
> PRODUCTION_SERVER to true in gateway.php if this is a recurrent
problem, 
> in the meantime.
> - If you need to send to Flash a class and want it to be mapped to a 
> class in a package, you need to add a key to the class called 
> _explicitType with a value of "com.mypackage.TheClass" and use 
> registerClassAlias or [RemoteClass] as usual ( a limitation of php not 
> supporting packages)
> 
> All that being said, I need testers. Please download it here:
> 
> http://5etdemi.com/uploads/amfphp-1.9.alpha.zip
> 
> (although it states it is amfphp 1.9, there will be no amfphp 1.9. 
> amfphp 2.0 will be amfphp 1.9 + JSON and possibly XML-RPC)
> 
> If you run into any issues, please either:
> 
> - Create a minimal test case which shows the reproducible bug, then
send 
> it to me.
> - In gateway.php, uncomment $gateway->logIncomingMessages and 
> logOutgoingMessages, create an in and an out folder and run it again. 
> Then send the log files (*.amf) to me.
> 
> Please send the feedback to pm AT 5etdemi DOT com. I am confident it 
> should be pretty stable, as most of the new code is lifted from 
> Fluorine, but you never know. Once I am 100% sure the amf 3 code is 
> bulletproof I will release another version with some publicity on the 
> blog and the homepage (currently keeping the new code low-profile).
> 
> Thanks,
> 
> Patrick
>


Reply via email to