I really appreciate that web2py has a wonderful jsonrpc server, but I have 
a question about implementing a safe remote database insertion. According 
to  http://json-rpc.org/  's specification, jsonrpc has a strict rpc 
protocol to ensure the transaction. However, I don't understand the 
behavior behind this if I use jsonrpc to create a function with db insert. 
For example, I want to create a transaction jsonrpc method to handle the 
invoice record. When the remote side send the data to the jsonrpc server, 
then jsonrpc server will return a response to inform remote side it receive 
the data. Finally, the remote side must send another response to the 
jsonrpc server to close the connection according to the specification. 
Hence, I am wondering what happen if the connection drops when the remote 
side try to send the close response. Do the db transaction roll back if the 
db insert code has executed when the jsonrpc server send the response to 
the remote site or the code actually execute after jsonrpc receive the 
close response from remote side, so that the remote site won't send the 
duplicate transaction ?  or I need to handle the exception in my jsonrpc 
server to roll back the db insert? I hope I explain this correctly.... 
 Please let me know if my English doesn't make sense to you. I really 
appreciate your answer. Thank you so much!

Reply via email to