Estimados, necesito de vuestra ayuda.
Estoy trabajando con arduino Mega ATmega2560, y el programa dentro de otras tareas hace un llamado a un webservice REST desarrollado con Genexus X.
Dicho ws funciona correctamente cuando uso Advanced REST client de Chome y lo he probado con otros clientes.
La placa arduino esta configurada con un IP fijo al igual que el server, puerto 8081, y le paso un parámetro en el body, en el ws el parámetro tiene el mismo nombre.
El código arduino es:
void httpRequest() {
// close any connection before send a new request.
// This will free the socket on the WiFi shield
client.stop();
// if there's a successful connection:
int ret = client.connect(server, 8081);
Serial.print("Ret de conexion: ");
Serial.println(ret);
if (ret == 1) {
Serial.println("connecting...");
// send the HTTP PUT request:
client.println("POST /onlineflores/rest/semaforoestado HTTP/1.1");
String JsonData = "{\"CruceIP\":\"" ;
JsonData += IPLocal;
JsonData += "\"}";
Serial.println(JsonData);
Serial.println(JsonData.length());
client.println("User-Agent:Arduino/1.0");
// client.println("Accept: */*");
// data de http PUT request:
// client.println("Content-Type: application/json; charset=UTF-8");
client.println("Content-Type:application/json");
client.print("Content-Length:");
client.println(JsonData.length());
client.println("Connection:close");
client.println("");
client.println("");
client.println(JsonData);
}
else {
// if you couldn't make a connection:
Serial.println("connection failed");
}
}
//-------- Consulta a SERVIDOR -------//
SI me funciona cuando el ws corre sobre tomcat 6
NO me funciona cuando el ws corre sobre tomcat 7 (o eso creo)
Error es 400 Petición incorrecta
Espero vuestra ayuda. Gracias Richard