Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Javamail + GWT


Автор: Mitron 21.12.2009, 15:08
Всем привет! Хочу сделать что-то похожее на gmail. Для клиентской части решил использовать GWT,  а на сервере javamail.
Есть класс который используя JavaMail коннектится к моему mail серверу, если запускать его как приложение то все работает.
Но, когда юзер вводит свои логин/пароль на сервере срабатывает метод login в скрипте LoginserviceImpl.java, который возвращает httpsession если аутентификация на mail сервере прошла успешно.
Когда выполняется следующий код
Код

public String login(User user) {
        /*
         * if(user != null && user.getUser().equalsIgnoreCase("vasya") &&
         * user.getPasswd().equals("pupkin")){ HttpSession httpSession =
         * getThreadLocalRequest().getSession();
         * httpSession.setMaxInactiveInterval(1000 * 60 *2); return
         * httpSession.getId(); }//end if
         */
        if (user != null) {
            try {
                
                System.out.println("user "+user.getUser()+"| pass "+user.getPasswd());
                mail.connect(user.getUser(), user.getPasswd());
                HttpSession httpSession = getThreadLocalRequest().getSession();
                httpSession.setMaxInactiveInterval(1000 * 60 * 2);
                return httpSession.getId();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return null;
    }// end login


Код

    public void connect(User user){
     try {

            GmailUtilities gmail = new GmailUtilities();
            gmail.setUserPass(user.getUser(), user.getPasswd());
            gmail.connect(user.getUser(), user.getPasswd());
            gmail.openFolder("INBOX");

            int totalMessages = gmail.getMessageCount();
            int newMessages = gmail.getNewMessageCount();

            System.out.println("Total messages = " + totalMessages);
            System.out.println("New messages = " + newMessages);
            System.out.println("-------------------------------");

//Uncomment the below line to print the body of the message. Remember it will eat-up your bandwidth if you have 100's of messages.
            //gmail.printAllMessageEnvelopes();
            //gmail.printAllMessages();
            gmail.getNewMessageCount();

        } catch (Exception e) {
            e.printStackTrace();
            System.exit(-1);
        }
     
    }


вылетает такое 
Код

Exception: java.lang.IllegalAccessException: Reflection is not allowed on public static synchronized javax.net.SocketFactory javax.net.ssl.SSLSocketFactory.getDefault())


как это победить?

Автор: Mitron 23.12.2009, 12:13
Никто не знает чтоли?

Автор: mecid 27.12.2009, 19:07
данные классы нельзя использовать в GWT

Автор: Mitron 29.12.2009, 21:21
Цитата(mecid @  27.12.2009,  19:07 Найти цитируемый пост)
данные классы нельзя использовать в GWT 

Обоснование...

Добавлено через 5 минут и 17 секунд
mecid, спешу заметить, что эти методы выполняются только на сервере. и с клиентом они взаимодеюствуют через RPC

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)