Калифорнийская платформа CoAP и запрос PUT

Я пытаюсь сделать запрос на коап-сервер (пример er-rest-example) с помощью Californium. Я успешно делаю запрос POST. Но с PUT я получаю BAD REQUEST, я пытаюсь использовать эти URL-адреса в URL-адресе:

coap://[aaaa::c30c:0000:0000:0002]:5683/actuators/leds
coap://[aaaa::c30c:0000:0000:0002]:5683/actuators/leds? 
coap://[aaaa::c30c:0000:0000:0002]:5683/actuators/leds?color=r

Но ни с кем не добиться успеха. Что я делаю неправильно?

Это мой простой скрипт:

package coap_client;

import java.net.URI;
import java.net.URISyntaxException;
import java.util.Arrays;
import java.util.Timer;
import java.util.TimerTask;

import org.eclipse.californium.core.CoapClient;
import org.eclipse.californium.core.CoapResponse;
import org.eclipse.californium.core.coap.MediaTypeRegistry;

public class cliente {
    public static void main(String[] args) throws Exception {
        Timer timer;
        timer = new Timer();
        TimerTask task = new TimerTask(){
                @Override
                public void run(){
                    String url="coap://[aaaa::c30c:0000:0000:0002]:5683/actuators/leds";
                    URI uri= null;
                    try {
                        uri = new URI(url);
                    } catch (URISyntaxException e) {
                        e.printStackTrace();
                    }
                    CoapClient client = new CoapClient(uri);
                    CoapResponse response = client.put("color=r",MediaTypeRegistry.TEXT_PLAIN);             
                    System.out.println(response.isSuccess());                   
                    if (response!=null) {
                        byte[] myreponse=response.getPayload();
                        String respuesta2 = new String(myreponse);
                        System.out.println(respuesta2);
                        }
                }
        };
        timer.schedule(task, 10,10*1000);
    }

}

person user3495449    schedule 23.03.2016    source источник
comment
Привет, не могли бы вы опубликовать здесь свой код, чтобы отправить почтовый запрос?   -  person Muhammad Umar    schedule 03.08.2016


Ответы (1)


В Contiki er-rest-example см. обработчик POST/PUT(1) для ресурса LED CoAP. Он ожидает параметр mode, без которого вы получите BAD_REQUEST в качестве ответа. Я предполагаю, что это должно быть в теле запроса.

person kiranpradeep    schedule 27.03.2016
comment
Большое спасибо за ваш ответ. Я добавляю параметр режима и решаю проблему!. Спасибо - person user3495449; 05.04.2016