All,
I'm trying to find out, unambiguously, what method (GET or POST) Flash/AS2 uses with XML.sendAndLoad.
Here's what the help/docs (http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs%5FParts&file=00002340.html) say about the function
Encodes the specified XML object into an XML document, sends it to the specified URL using the POST method, downloads the server's response, and loads it into the resultXMLobject specified in the parameters.
However, I'm using this method to send XML data to a Java Servlet developed and maintained by another team of developers. And they're seeing log entries that look like this:
GET /portal/delegate/[someService]?svc=setPayCheckInfo&XMLStr=[an encoded version of the XML I send]
After a Google search to figure out why the POST shows up as a GET in their log, I found this Adobe technote (http://kb2.adobe.com/cps/159/tn%5F15908.html). Here's what it says:
When loadVariables or getURL actions are used to send data to Java servlets it can appear that the data is being sent using a GET request, when the POST method was specified in the Flash movie.
This happens because Flash sends the data in a GET/POST hybrid format. If the data were being sent using a GET request, the variables would appear in a query string appended to the end of the URL. Flash uses a GET server request, but the Name/Value pairs containing the variables are sent in a second transmission using POST. Although this causes the servlet to trigger the doGet() method, the variables are still available in the server request.
I don't really understand that. What is a "GET/POST hybrid format"?
Why does the method Flash uses (POST or GET) depend on whether the data is sent to a Java servlet or elsewhere (e.g., a PHP page?)
Can anyone make sense of this? Many thanks in advance!
Cheers, Matt