• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Web service provider, сложные типы

P

pikar05

Приветствую всех!
Прошу помощи по веб службе в lotus на java.
Хотелось бы, чтобы веб служба возвращала массив сложных типов, но не выходит.
Примерно так должно быть. Имеется класс
Java:
public class MyType {
    private String test="test";
    public String getTest(){
        return test;
    }
    public void setTest(String test){
        this.test=test;
    }
}
Класс веб-службы
Java:
public WebServiceClass {
    public List<MyType> getObjectList() {
        List<MyType> result=new ArrayList<MyType>();
        result.add(new MyType());
        return result;
    }
    public List<String> getStringList() {
        List<String> result = new ArrayList<String>();
        result.add("test");
        return result;
    }
}
Метод getStringList() работает, как надо, а вот getObjectList() возвращает пустоту.
Что нужно сделать, чтобы веб служба возвращала массив объектов?

PS Прошу сильно не пинать, веб службу делаю впервые :)
 

savl

Lotus Team
28.10.2011
2 607
313
BIT
260
ммм... возможно в свойствах веб-сервиса надо задать его тип общения RCP/encoded
1525343481436.png
 
P

pikar05

В этом случае (RPC/encoded) почему-то на стороне клиента ошибки (не лотус). Решилось забавно: просто добавил метод
Java:
public MyType getMyTypeNull {
    return null;
}

Теперь еще появилась проблема. Если в приведенном выше классе MyType добавить публичный метод, возвращающий массив (или коллекцию) объектов не примитивного типа (например, того же MyType), то на клиентской стороне он определяется как массив элементов типа Object, а хотелось бы того же, который был изначально.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!