Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Axis2: вернуть коллекцию 
:(
    Опции темы
Tsahes
Дата 7.2.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 5.12.2006

Репутация: нет
Всего: нет



Подскажите, пожалуйста, как вернуть коллекцию web-сервиса?
Сейчас появляется исключение:
Код

org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method getCollection
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:271)
at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:579)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)


Это сервис:

Код

public class TestWebService {

    public String getString() {
        return "test";
    }

    public ArrayList getCollection() {
        return new ArrayList();
    }
}

Способ доступа:

Код

import java.util.ArrayList;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;

public class WebServiceRPCClient {

    public static void main(String[] args1)
            throws AxisFault {
        try {
            RPCServiceClient serviceClient = new RPCServiceClient();

            Options options = serviceClient.getOptions();

            EndpointReference targetEPR = new EndpointReference(
                                                                "http://127.0.0.1:7001/axis2/services/PaymentWebService");
            options.setTo(targetEPR);

            QName opEntry = new QName("http://me.ru/xsd", "getCollection");
            Object[] opArgs = new Object[] {};
            Class[] returnTypes = new Class[] {ArrayList.class};

            Object[] response = serviceClient.invokeBlocking(opEntry, opArgs, returnTypes);

            ArrayList result = (ArrayList) response[0];
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

PM MAIL   Вверх
Tony
Дата 7.2.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Несколько раз уже обсуждалось.Пошерсти этот форум


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Tsahes
Дата 7.2.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 5.12.2006

Репутация: нет
Всего: нет



Ранее смотрел.
В качестве класса возвращаемого значения указан конкретный класс ArrayList, а не класс интерфейса Collection.
Единственное, возвращаемый класс не является JavaBean...
Значит, коллекции, а не массива значений, не вернуть?
PM MAIL   Вверх
Tony
Дата 7.2.2007, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Цитата(Tsahes @ 7.2.2007,  16:52)
Ранее смотрел.
В качестве класса возвращаемого значения указан конкретный класс ArrayList, а не класс интерфейса Collection.
Единственное, возвращаемый класс не является JavaBean...
Значит, коллекции, а не массива значений, не вернуть?

Тоесть у тебя ошибка при пересилке листа ? Я правельно понял? 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Tsahes
Дата 8.2.2007, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 5.12.2006

Репутация: нет
Всего: нет



Цитата(Tony @  7.2.2007,  19:10 Найти цитируемый пост)
Тоесть у тебя ошибка при пересилке листа ? Я правельно понял?

Да, передается экземпляр класса ArrayList, получается экземпляр класса ArrayList. Более того, коллекция пуста. Может, необходимо как-то указать сериализаторы/десериализаторы? Только не вижу, где их устанавливать.
PM MAIL   Вверх
Tony
Дата 8.2.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



... сериализаторы/десериализаторы?  Да. Обязательно.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0473 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.