我在Tomcat 8.5和Axis2在Eclipse这个Web服务类运行:Web服务二传手不工作
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();
}
当我尝试调用setLED(int led)
方法,它似乎正常工作,显示的结果是更新正确,但是当我打电话给getter LED()
时,它会返回初始0值。在C#:
SensorServices.Sensor s = new SensorServices.Sensor();
s.setLED(30);
var result = s.LED();
结果的值是0在Tomcat中,打印的出上述:
Old LED: 0
New LED: 30
LED: 0
这是怎么回事?为什么我无法更新变量的值?我该如何解决这个问题?
您是否使用了'SensorServices.Sensor'的同一个实例? – sidgate
这是不可能的。 '新LED:30'表示值已更改。你在做什么? – GurV
实例并没有改变,因为我从同一个客户端方法的作用域调用了两个服务的方法。此外,我还尝试创建对象的静态单个实例,但它也无法工作。 Java类如下所示。 –