Wykonywanie żądania PUT z danymi JSON przy użyciu HttpURLConnection nie działa

Usiłuję utworzyć żądanie PUT za pomocą danych JSONHttpURLConnection w Javie. Sposób, w jaki to robię, nie działa. Nie mam błędów, więc nie wiem, na czym polega problem.

public static void main(String[] args) {

        URL url;
        try {
            url = new URL("http://fltspc.itu.dk/widget/515318fe17450f312b00153d/");
            HttpURLConnection hurl = (HttpURLConnection) url.openConnection();
            hurl.setRequestMethod("PUT");
            hurl.setDoOutput(true);
            hurl.setRequestProperty("Content-Type", "application/json");
            hurl.setRequestProperty("Accept", "application/json");

            String payload = "{'pos':{'left':45,'top':45}}";

            OutputStreamWriter osw = new OutputStreamWriter(hurl.getOutputStream());
            osw.write(payload);
            osw.flush();
            osw.close();
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

A oto prośba, którą próbuję zrobić:

Już wysyłałem żądania GET do zasobu w tej samej aplikacji i działało to dobrze. Byłbym bardzo wdzięczny za wszystkie wskazówki, jak mogę to debugować lub jak mogę to zrobić w inny sposób. Do tej pory próbowałem tylko używaćOutputStream zamiastOutputStreamWriter ale to nie działa.

questionAnswers(1)

yourAnswerToTheQuestion