If you use BlazeDS (which is a servlet that you drop in your web server), you'll be able to pass ActionScript objects on your remoting calls. Those will be marshalled to AMF over the wire, and then ummarshalled to Java objects. You need to use a code generator tool to take your Java remoting service and create corresponding ActionScript classes to use on the client (for sending up the arguments and then receiving the result).
Flex also supports web service calls ala SOAP style. Less efficient than AMF but no biggie if there's not much data being exchanged.
When I'm in a hurry to do something real quick and dirty, I just do a HttpService send() call where I've composed an HTTP POST (the data is not visible in the URL as it is with a GET). A quickly written Java servlet processes the POST and receives the data as a map of name/value pairs in text format. (The HttpSerivce.send() method behaves asynchronously like the AJAX XmlHttpRequest() mechanism.)
It just doesn't get any simpler than doing something like that, but name/value pairs is not as flexible as structured data. Sometimes you need to deal with more complex structured data. Hence serializing ActionScript model objects to AMF object graphs via BlazeDS remoting comes into its own.