converter chamada de onda em chamada java urlconnection

Eu tenho o comando curl:

curl -i -u guest:guest -H "content-type:application/json"
-XPUT \ http://localhost:15672/api/traces/%2f/my-trace \
-d'{"format":"text","pattern":"#"}'

E eu quero criar uma solicitação HTTP na API Java, que fará a mesma coisa. Este comando curl pode ser encontrado nesteREADME. É usado para iniciar o registro no RabbitMQ. Resposta não é importante.

Por enquanto eu criei algo assim (eu deletei linhas menos importantes, ou seja, com exceção de captura etc.), mas infelizmente não funciona:

url = new URL("http://localhost:15672/api/traces/%2f/my-trace");
uc = url.openConnection();

uc.setRequestProperty("Content-Type", "application/json");
uc.setRequestProperty("format","json");
uc.setRequestProperty("pattern","#")
String userpass = "guest:guest";
String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());
uc.setRequestProperty ("Authorization", basicAuth);

CÓDIGO INTEIRO

questionAnswers(2)

yourAnswerToTheQuestion