Normally I use the "data" Transform option. HTTP calls in this way are received in the server as expected. Talking about Apache and PHP an script who respond to an HTTP call using the "data" Transform option receive the user/app input in the appropiate global variables: "$_POST" and "$_FILE" (if we send any file with the Input file control).
The script can play with the recieved data and then, everything they "output" (using the "print" or the "echo" PHP stuff) represent the response for the app. For example, supose this PHP script, who receive an HTTP call with the "data" Transform option with a field "name" and the appropiate value inside:
The above script demonstrates how to retrieve an specific value sended via an HTTP POST request using the "data" Transform option. If we use the "form" Transform option we can also access the data in the same way, except in this last case we can't send files using the Input file control, which is something we can do using the "data" Transform option.
Now, what we must do to provide a response to the app? As I said above, talking about PHP anything we echoes in the script is the response for the app. So, for example, in the below script:
... then what the application receives in the HttpClient control's Success event is "Your name is..." and the content of the "$name" variable. The Success event is fired here, because, by default, if the HTTP call reach the resource (our script) then the HTTP code is established to 200, which means a successfully response by the server. So the below code:
... always fire the HttpClient control's Success event and we can look at the response in that event. Again, talking about PHP we can also prepare our script in this other way:
... in this last case, if the "$name" variable is not "Samuel", we use the "http_response_code" function of PHP in order to indicate, in this case, a "bad request" error. Therefore the Error event of the HttpClient control is fired in this case and the response is the string "Sorry, your name is not Samuel", of course if "$name" is not "Samuel", in other case, the Success event is fired instead.
I don't know if this can help you in something or what, because if I am not wrong we are talking about different server software and language, but the behaviour must be the same. Again, if I am not wrong, any server language must provide a way to access the input variables, must have a way to print the HTTP response, must have a way to indicate the status (200, 400) of the response, etc.
Please, if you have any other question, go ahead and I will try to help you when possible! :)