Hi,
I'm not a Java guy, but from what I could make of your code, everything looks good. You're posting to the correct resource, using the right parameters, etc.
My only thoughts are that the HTTP POST payload isn't getting through to the API for some reason, which would explain why the API processes your request, but doesn't find anything in the POST message.
Maybe there is a way you can dump the full HTTP message being sent. If so, you could potentially try running the Python API example to compare the two.
Regards,