2016-06-18 2 views
1

Я пытаюсь сделать метод «POST» в Java. Я создаю свой вывод с помощью метода OrientDB так:Не удалось получить HTTP-запрос OrientDB ...?

"http://xxxxxxxxxxx:2480/command/mydb/sql/CREATE VERTEX V SET name = ' datoAletarorio'" 

мне нужно использовать запись и вымывания методы для отправки команды.

Моя БД пуста этим методом. Где моя ошибка? Вот мой код:

//... 
PrintWriter out = null; 
//... 
conexion = (HttpURLConnection) url.openConnection(); 
conexion.setDoOutput(true); 
conexion.setRequestMethod("POST"); 

out = new PrintWriter(conexion.getOutputStream()); 

conexion.connect(); 
//... 
String cumuloDatos1 = "http://xxxxxxxxxxx:2480/command/mydb/sql/CREATE VERTEX V SET name = ' datoAletarorio'" 

out.write(cumuloDatos1); 
out.flush(); 
//.. 
conexion.disconnect(); 

Благодарим заранее.

ответ

2

docs говорит:

Команда-текст может отображаться либо в URL или содержание передачи в POST. Если командный текст включен в URL-адрес, он должен быть закодирован в соответствии с обычной кодировкой URL-адреса .

Таким образом, вы, вероятно, придется encode the URL перед отправкой запроса:

String cumuloDatos1 = 
    "http://xxxxxxxxxxx:2480/command/mydb/sql/" + 
    "CREATE%20VERTEX%20V%20SET%20name%20%3D%20%27%20datoAletarorio%27" 

Во всяком случае, вы должны увидеть сообщения в журналах для 400 или похожую на сервере, если запрос не является действительным.