2016-03-23 10 views
0

Ich versuche, eine Anfrage Coap Server (er-Rest-Beispiel) mit Californium zu tun. Ich habe erfolgreich eine POST-Anfrage. Aber mit PUT Ich erhalte einen BAD REQUEST, versuche ich mit Hilfe dieser URLs in url:Californium Framework CoAP und PUT Anfrage

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 

Aber ohne einen Erfolg. Was mache ich falsch ?.

Das ist mein einfaches Skript:

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); 
    } 

} 
+0

Hallo, kannst du bitte deinen Code hier posten, um eine Postanfrage zu senden? –

Antwort

0

In Contiki er-rest-example finden Sie in den POST/PUT Handler (1) für die LED CoAP Ressource. Es erwartet einen mode Parameter, ohne den Sie eine BAD_REQUEST als Antwort erhalten. Ich gehe davon aus, dass das in den Anfragetext gehen muss.

+0

Vielen Dank für Ihre Antwort. Ich füge Modusparam hinzu und löse das Problem!. Vielen Dank – user3495449