There is no synchronous roUrlTransfer method for an HTTP Post. Instead, use the asynchronous method AsyncPostFromString() or AsyncPostFromFile() to post the Body.
Example:
url = "<your POST URL>"
body = "<your POST Body>"
obj = CreateObject("roUrlTransfer")
obj.SetPort(CreateObject("roMessagePort"))
obj.SetUrl(url)
timeout% = 1500
num_retries% = 5
str = ""
while num_retries% > 0
if (obj.AsyncPostFromString(body))
event = wait(timeout%, obj.GetPort())
if type(event) = "roUrlEvent"
respCode = event.GetResponseCode()
if respCode = 200 then
return event.GetString()
else
return invalid
end if
elseif event = invalid
obj.AsyncCancel()
obj = CreateObject("roUrlTransfer")
obj.SetPort(CreateObject("roMessagePort"))
obj.SetUrl(url)
timeout% = 2 * timeout%
else
print "roUrlTransfer::AsyncPostFromString(): unknown event"
endif
endif
num_retries% = num_retries% - 1
end while