elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Programación General / IoT Central en: 28 Abril 2021, 17:21 pm
Hola estoy empezando un proyecto con IoT Central, no se si alguien me pueda recomendar algunos sitios donde pueda ver ejemplos de como enviar telemetría, ya consulte la documentación de microsoft y no lo encontre.
2  Programación / Java / Re: peticion http desde spring en: 19 Abril 2021, 13:36 pm
Lo solucione usando un HttpRequest en lugar de HttpURl conection :laugh:
3  Programación / Java / Re: peticion http desde spring en: 19 Abril 2021, 13:24 pm
dog, create otro metodo con la anotacion @PutMapping para exponer tu endpoint de manera sincrona con RestTemplate, ella actua en otra capa de abstraccion sin tocar el low level api con HttpURLConnection a mano...

Para consumirla usa un cliente estilo HttpClient de Java 11 que es ahora nativo, OKHttpClient, retrofit etc. y te ahorras mas dolor de cabeza, mas facil de depurar etc.


OK lo intentare cualquier cosa la comento.
gracias.
4  Programación / Java / Re: peticion http desde spring en: 19 Abril 2021, 13:08 pm
no arroja ningún error, pero se que no se ejecuta por que en la pagina web donde tiene que aparecer el dispositivo creado no existe.
 Probando el método solo si me crea lo que quiero pero al ejecutarlo desde el controller creo que viene el problema, no se si tengo que configurar algo o mandar la petición de otro modo.
el save si lo ejecuta bien
5  Programación / Java / Re: peticion http desde spring en: 19 Abril 2021, 13:05 pm
Entiendo que el save lo esta haciendo bien... o no?

manda el log que arroja este metodo peticionHttpPut()
no arroja ningún error, pero se que no se ejecuta por que en la pagina web donde tiene que aparecer el dispositivo creado no existe.
 Probando el método solo si me crea lo que quiero pero al ejecutarlo desde el controller creo que viene el problema, no se si tengo que configurar algo o mandar la petición de otro modo.
6  Programación / Java / Re: peticion http desde spring en: 19 Abril 2021, 12:56 pm
Pienso que lo mejor seria que crearas otro metodo con la anotacion @PutMapping, logrando que tengas cada metodo para una unica operacion (PUT, POST,  GET...

Aqui usas un POST para hacer un save a la misma vez que quieres tambien actualizar un item.

lo que pasa es que si ejecuto post me pone un id aleatorio por eso uso el put para poner el que yo quiero
7  Programación / Java / Re: peticion http desde spring en: 19 Abril 2021, 12:50 pm
Ese no es el error por que quiero que realice un post en mi apirest y un put en la petición http que es para crear una plantilla en una aplicación de microsoft.
8  Programación / Java / peticion http desde spring en: 19 Abril 2021, 12:31 pm
hola , no se si alguien me puede ayudar, quiero enviar una peticion http desde mi apirest para dar de alta un dispositivo en otro servicio.
Código:

@PostMapping("/dispositivos")
@ResponseStatus(code = HttpStatus.CREATED)
public  ResponseEntity<?> crear(@Valid @RequestBody Dispositivo dispositivo, BindingResult result) throws Exception {

Dispositivo dispositivonew = null;
Map<String, Object> response = new HashMap<>();
if (result.hasErrors()) {
List<String> errors = result.getFieldErrors().stream()
.map(err -> "El campo  '" + err.getField() + "' " + err.getDefaultMessage())
.collect(Collectors.toList());
response.put("errors", errors);
return new ResponseEntity<Map<String, Object>>(response, HttpStatus.BAD_REQUEST);
}

try {
peticionHttpPut(dispositivo);
dispositivonew = dispositivoService.save(dispositivo);
} catch (DataAccessException e) {
response.put("mensaje", "Error realizar al insertar en la base de datos!");
response.put("error", e.getMessage().concat(": ").concat(e.getMostSpecificCause().getMessage()));
return new ResponseEntity<Map<String, Object>>(response, HttpStatus.INTERNAL_SERVER_ERROR);

}


response.put("mensaje", "El Dispositivo ha sido creado con éxito!");
response.put("dispositivo", dispositivonew);
return new ResponseEntity<Map<String, Object>>(response, HttpStatus.CREATED);



}

public void peticionHttpPut(Dispositivo dispositivo) throws Exception {

URL url = new URL("https://hu3-gp9yw4dci7.azureiotcentral.com/api/preview/devices/"
+ dispositivo.getIdentificadorDispositivo());

HttpURLConnection conexion = (HttpURLConnection) url.openConnection();
conexion.setRequestMethod("PUT");
conexion.setDoOutput(true);
conexion.addRequestProperty("Authorization",
"SharedAccessSignature sr=a8b19977-9c37-4e01-bc86-f5990544bcb8&sig=gaSLKfM9MUo6Fsx9XVjY%3D&skn=admin&se=1650104456226");
conexion.setRequestProperty("Content-Type", "application/json");


String nombre = dispositivo.getNombre();
String instanceOf = "dtmi:modelDefinition:a2zj2t:b6dfy";

Map<String, Object> map = new HashMap<>();
map.put("displayName", nombre);
map.put("instanceOf", instanceOf);
map.put("simulated", false);
map.put("approved", true);
JSONObject json = new JSONObject(map);

String jsonInputString = json.toString();

try (OutputStream os = conexion.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);

}


}



lo que quiero hacer es que cuando entre a mi solicitud de de alta en mi base de datos y también haga la petición put que tengo en el método, pero solo me inserta en la base de datos y no me hace lo otro.



9  Programación / Java / Componentes netbeans java en: 19 Enero 2021, 12:38 pm
Hola
No se si alguien me pueda echar una mano con  este ejercicio, se trata de crear un propertyEditor y añadirlo a la paleta de NetBeans, si tiene alguna idea o links de paginas que me puedan guiar lo agradecería mucho.


crear un calendario que podrá ser insertado en cualquier interfaz. Este "calendario" debe tener al menos las siguientes características:
    • Una propiedad booleana para indicar si el formato de fecha es el formato: dd/MM/aaaa o el formato: dd/MM/aa.
    • Una propiedad booleana para indicar si el formato de hora es de 24 o de 12 horas.
    • Función de alarma: se programa una fecha y hora que debe generar un evento de aviso cuando se llegue a esa fecha y hora. El aviso debe de informar de la tarea a realizar. Debe estar activo hasta que el usuario confirme la lectura del mismo. Una vez leído ese aviso se podrá volver a programar un nuevo aviso de tarea.
    • Tendrás que crear un formulario de prueba en el que añadas el calendario, modifiques el formato de visionado y añadas una alarma para probar que funciona.
- Es decir, debes programar un objeto que muestre la fecha y hora del sistema, que el formato de fecha y hora pueda ser modificado y en el cual se podrá programar un aviso de tarea para una fecha y hora determinada.
 - La función de alarma deberá tener al menos dos variables: 1ª La fecha a realizar la tarea. 2ª La tarea a realizar (string de longitud máxima de 30 caracteres)
- La fecha y la hora del sistema si se prefiere se puede mostrar usando jtext o jlabel. 
    • Creación del componente. 
    • Adición de las propiedades formato y alarmas con sus correspondientes getters y setters.
        ◦ Para la propiedad formato al modificarse debe cambiar la forma en que se muestra la fecha y  hora.
        ◦ Para la propiedad alarma debes crear un editor de propiedades que permita rellenar los datos de la alarma (fecha, hora y minuto en los que debe saltar) y asociarlo a la propiedad alarma en el objeto BeanInfo asociado a la clase del componente.
    • Crear la clase que hereda de EventObject para que se puedan crear los eventos a lanzar. 
    • Generar el ejemplo de prueba del componente en el que se añada y se cambie el formato de visionado
    • Añadir el código necesario para generar los eventos cuando se llegue a la hora de la alarma.
    • Capturar el evento y mostrar un mensaje cuando se produzca una alarma como se especifica en el enunciado.
10  Programación / Java / Re: modificar XML en: 8 Mayo 2020, 11:43 am
hola lo que pasa que es para un trabajo practico en el que nos pide xml
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines