2013-11-01 3 views
0

Я пишу веб-приложение агентства по прокату автомобилей в java с eclipse и GWT, но я застрял в ошибке с использованием этого метода сервера, который используется с помощью RPC, который повреждается, createRentDTO:ошибка, когда метод создает объект (сохраняемый объект)

private RentDTO createRentDTO(Rent rent) { 
    return new RentDTO(createEmployeeDTO(rent.getEmployee()), 
           createClientDTO(rent.getClient()), 
           createCarDTO(rent.getCar()), 
           rent.getId()); 
     } 

Я заметил, что если я изменить возвращение createRentDTO с нижеследующим, он работает:

 return new RentDTO(new EmployeeDTO("mike", "smith", (long) 99, "mike87","qwe123"), 
         new ClientDTO("harry", "jones", "cl24h89"), 
         new CarDTO("SUBARU", "supercar", (long) 25000,(long) 12), 
         rent.getId() 
         ); 

проблема, очевидно, что я не могу заполнить cla ss со случайными значениями, такими как «harry» «jones», но я должен взять ценности сотрудника, клиента и автомобиля, которые я уже сохранил (я думал, используя getter аренды, например getEmployeeDTO .getClientDTo .getCarDTo?). Как я могу это сделать и почему не первый способ, которым я пробовал работать?

Вот некоторые другие коды, связанные с вопросом: Rent.class

public class Rent implements Serializable { 

     Employee employee; 
     Client client; 
     Car car; 
     long id; 

     // getter and setter like: 
     public Employee getEmployee() { 
    return employee; 
    } 
     // getCar() and getClient are equal to getEmployee [...] 

    } 

Сотрудник, клиент и автомобиля являются все простые классы (они сериализовать, чтобы сделать их могущий быть спасенным в база данных) очень похожа на другие, с некоторыми атрибутами, такими как имя, фамилия, имя пользователя, пароль, идентификатор или цена.

Напишу только Employee.class

public class Employee { 

String name; 
String surname; 
@Id 
Long id; 
String username; 
String password; 

    // + getter and setter like getName() , getSurname() ..... 
    } 

Это метод createEmployeeDTO():

(createCarDTO и createClientDTO равны ... Единственное, что изменения некоторые атрибуты)

 private EmployeeDTO createEmployeeDTO(Employee employee) { 
      return new EmployeeDTO(employee.getName(), 
             employee.getSurname(), 
             employee.getId(), 
             employee.getUsername(), 
             employee.getPassword()); 
     } 

Цель аренда класс, чтобы сделать пользователю веб-приложения, способного выбрать сотрудник арендовали автомобиль к клиента

Когда RPC не удается это дает общая ошибка

«500 Сбой вызова на сервере; см в журнале сервер данных»

но лог сервера причалу только говорит метод POST не удался, и в консоли затмения не ошибки.

спасибо за помощь, не стесняйтесь спросить за все

ответ

1

ли ваши DTOS имеют конструктор с нулевыми аргументами? Видимость не имеет значения? без нулевого аргумента конструктора в вашем вызов не удастся.

Ваших DTOS внутри общего пакета? Если вы хотите использовать DTOs на сервере и клиентской стороне, они должны быть в общем пакете.

Измените уровень журнала на TRACE для получения дополнительной информации в журнале сервера.

Смежные вопросы