Java Axis2 WebSerice получает неожиданный ответ - PullRequest
0 голосов
/ 10 апреля 2020

Я сделал свои первые шаги с java axis2 webservices. Теперь у меня есть принципиальный вопрос.

В целях тестирования я внедрил класс Car (Auto), который может показывать пройденное расстояние автомобиля и совершать новые поездки.

Я добавил несколько printlns для отладки. Если я спрашиваю новую машину о пройденном расстоянии, я получаю 0 (как и ожидалось). Если я прокатлюсь, набросок сервера покажет новое правильное расстояние. Если я снова спрашиваю о пройденном расстоянии, результат остается равным 0.

Мне интересно, получены ли результаты от одного и того же объекта и почему я не получаю правильное значение.

Серверная часть:

public class Auto {

    private int _kmStand;

    public int get_kmStand() {
        System.out.println("Der aktuelle KM-Stand beträgt "+_kmStand+" km");
        return _kmStand;
    }

    public Auto() 
    {
        _kmStand =0;
    }

    public void fahren(int strecke)
    {
        System.out.println("Bei Fahrtantritt "+_kmStand);
        _kmStand = _kmStand+strecke;
        System.out.println("Bei Fahrtende "+_kmStand);
    }

}

Клиентская сторона: пакет орг. apache .ws.axis2;

import java.rmi.RemoteException;

import org.apache.ws.axis2.AutoStub.Fahren;
import org.apache.ws.axis2.AutoStub.Get_kmStand;

    public class Simulator {

    public static void main(String[] args) throws RemoteException
    {
        AutoStub stub = new AutoStub();
        AutoStub.Get_kmStand p1 = new Get_kmStand();

        AutoStub.Get_kmStandResponse r1 = stub.get_kmStand(p1);

        System.out.println(r1.get_return());
        AutoStub.Fahren p2 = new Fahren();
        p2.setStrecke(10);
        stub.fahren(p2);

        AutoStub.Get_kmStand p3 = new Get_kmStand();
        AutoStub.Get_kmStandResponse r2 = stub.get_kmStand(p3);

        System.out.println(r2.get_return());
    }

}

Серверный журнал: Der aktuelle KM-Stand beträgt 0 км Bei Fahrtantritt 0 Bei Fahrtende 10 Der aktuelle KM-Stand beträgt 0 км

Клиентский журнал 0

...