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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Axis + ArrayList 
:(
    Опции темы
unkis
Дата 1.11.2005, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Rebyat takaya problema,
Est takoj vot WebServices
Код

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.SortedMap;
import java.util.TreeMap;

import org.hibernate.Session;

import de.pdbm.data.atis.model.Aircraft;
import de.pdbm.data.atis.model.HibernateUtil;

public class AircraftWS {

    public SortedMap<String, Object> air = new TreeMap();

    public SortedMap<String, Object> getAttributes(String key) {

        Session session = HibernateUtil.currentSession();
        Aircraft aircraft = (Aircraft) session.load(Aircraft.class, key);

        air.put("Aircraft-Code",aircraft.getAircraftCode());
        air.put("Aircraft-Type",aircraft.getAircraftType());
        air.put("Engines",aircraft.getEngines());
        air.put("Category",aircraft.getCategory());
        air.put( "Wide-Body",aircraft.getWideBody());
        air.put("Wing-Span",aircraft.getWingSpan());
        air.put( "Length",aircraft.getLength1());
        air.put("Wight",aircraft.getWeight());
        air.put("Capacity",aircraft.getCapacity());
        air.put("Pay-Load",aircraft.getPayLoad());
        air.put("Cruising-Speed",aircraft.getCruisingSpeed());
        air.put("Range-Miles",aircraft.getRangeMiles());
        air.put("Pressurized",aircraft.getPressurized());

        return air;
    }

    public ArrayList<SortedMap> getAircraftMN(int a, int b) {
        ArrayList myArr = new ArrayList();
        Session session = HibernateUtil.currentSession();
        List aircrafts = session.createQuery("from Aircraft where capacity>='"+a+"' and capacity<='"+b+"'").list();
        for (Iterator iter = aircrafts.iterator(); iter.hasNext();) {
            Aircraft element = (Aircraft) iter.next();
            myArr.add(getAttributes(element.getAircraftCode()));
        }
        return myArr;

    }
}



i vot takaya klientskaja chast

Код

import java.util.*;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;

public class Client {
    public static void main(String[] args) throws Exception {
        String endpoint = "http://localhost:8080/axis/services/AircraftWS";
        String method = "getAircraftMN";
        Service service = new Service();
        Call call = (Call) service.createCall();
        call . setTargetEndpointAddress (new java .net.URL( endpoint ));
        call . setOperationName (new QName (" g ", method ));
        //call . addParameter ("op1", XMLType . XSD_INT , ParameterMode .IN );
        //call . addParameter ("op2", XMLType . XSD_INT , ParameterMode .IN );
        //call . setReturnType ( XMLType . XSD_ANY );
        ArrayList<Map> ret = ( ArrayList ) call . invoke (new Object [] {new Integer(4),new Integer(6)});
        System .out. println (" Ergebnis  : " + ret );
    }
}


Pishet takuju oshibku
Код

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
    at Client.main(Client.java:22)


Ya tak ponimaju chto oshibku proishodit pri vozwrate dannih, on goworit chto nugen object,
hotya WebServices napisal chtobi vozwrashyal ArrayLis.

Tak kak vsetaki poluchit obratno ArrayList sodergashij Map-s?

Zaraniya blagodaren.



P.s: Izvenite za latinizu, no v FireFox ne rabotaet translit



--------------------
www.unkis.com
PM MAIL WWW   Вверх
Slanix
Дата 1.11.2005, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Не пиши так клиента.
При помощи WSDL2Java создай stubs для клиента и просто будешт писать типа
Код

            AircraftWSService service =
                new AircraftWSServiceLocator();

            AircraftWS port = service.getAircraftWS();
            ArrayList<Map> ret = port.getAircraftMN(4, 6);


А если у тебя комплексные типы появятся - замучаешься биндить
--------------------
Я буду искать лица Твоего, Господи Пс.26:8
PM MAIL ICQ YIM   Вверх
unkis
Дата 3.11.2005, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Rebyata teper problema pitajus vernut object obratno a on mne pishet takuju vot oshibku

Код

AXIS error

Sorry, something seems to have gone wrong... here are the details:

Fault - ; nested exception is: 
    java.io.IOException: No serializer found for class java.lang.Character in registry org.apache.axis.encoding.TypeMappingDelegate@1a33662

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.io.IOException: No serializer found for class java.lang.Character in registry org.apache.axis.encoding.TypeMappingDelegate@1a33662
 faultActor: 
 faultNode: 
 faultDetail: 
    {http://xml.apache.org/axis/}hostname:leptop




chto eto zn achit, i kak eto ustranit?

zaraniya blagodaren


--------------------
www.unkis.com
PM MAIL WWW   Вверх
KostenkoSergey
Дата 4.11.2005, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



не уверен, но может :
1. Либо какой нить класс не имплементит Serealizable
2. Либо в ХМЛ попал не ХМЛ символ, - у меня правда херсес слетал ...
PM ICQ   Вверх
FakIR
Дата 25.11.2005, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Slanix
А у меня такого метода нету...

Код

TEstWS port = service.TEstWS();


Я правда для генерации всякой лабуды эклипсы юзаю...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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