ich diesen Web-Service-Klasse laufen haben auf Tomcat 8.5 und Axis2 in Eclipse:Web Service Setter nicht funktioniert
public int volumen = 0, led = 0;
public String ultimaFecha = "null";
public int Volumen() {
return volumen;
}
public String Fecha() {
return LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss"));
}
public String Ultima() {
return ultimaFecha;
}
public int LED() {
System.out.println("LED: " + this.led);
return led;
}
public void setLED(int led) {
System.out.println("Old LED: " + this.led);
this.led = led;
System.out.println("New LED: " + this.led);
ultimaFecha = Fecha();
}
Wenn ich versuche, die setLED(int led)
Methode aufzurufen, so scheint es, richtig zu arbeiten, zeigt, dass das Ergebnis war korrekt aktualisiert, aber wenn ich den Getter LED()
aufrufen, gibt es mir den ursprünglichen Wert 0 zurück. Auf C#:
SensorServices.Sensor s = new SensorServices.Sensor();
s.setLED(30);
var result = s.LED();
Ergebnis den Wert 0. In Tomcat, der Druck, der zeigt das oben:
Old LED: 0
New LED: 30
LED: 0
Was ist hier los? Warum kann ich den Wert der Variablen nicht aktualisieren? Wie kann ich das lösen?
Verwenden Sie dieselbe Instanz von 'SensorServices.Sensor'? – sidgate
Es ist unmöglich. 'New LED: 30' zeigt an, dass der Wert geändert wurde. Machst du etwas dazwischen? – GurV
Die Instanz hat sich überhaupt nicht geändert, da ich beide Methoden des Service vom selben Client-Methode-Bereich anrufe. Außerdem habe ich versucht, eine statische Einzelinstanz des Objekts zu erstellen, und es hat auch nicht funktioniert. Die Java-Klasse ist wie unten gezeigt. –