вызов веб-службы на основе сеанса с использованием ksoap2 - PullRequest
0 голосов
/ 12 сентября 2011

Мой веб-сервис использует soapsession в качестве механизма сеанса. Я хочу вызвать этот веб-сервис с помощью ksoap2 api. Как я могу вызвать этот веб-сервис, чтобы сохранить сеанс? да, еще один вопрос. Теперь веб-сервис не возвращает ServiceGroupId клиенту, написанному в API-интерфейсе ksoap2, в отличие от того, который он отправляет, когда я пишу клиенту с использованием API-интерфейса axis2 (ServiceClient). Это связано с тем, что в клиенте ksoap2 я не задействую модуль адресации. Итак, мой вопрос: могу ли я задействовать модуль адресации, используя ksoap2?

1 Ответ

1 голос
/ 14 сентября 2011

Вы можете использовать KeepAliveHttpsTransportSE, но тогда вы можете использовать только это одно соединение.В противном случае вам нужно получить sessionID из вашего вызова auth.

Когда вы сделали вызов auth с вашим транспортом HttpsTransportSE, используйте это:

List<HeaderProperty> hp = (List<HeaderProperty>)transport.getConnection().getResponseProperties();
        for (int i = 0; i < hp.size(); i++) {
            if (hp.get(i).getKey().equals("set-cookie")){
                SESSION_ID = hp.get(i).getValue();
                break;
            }
        }

И установите sessionID в заголовок, когда высделать новый вызов WebService.

...