http invoker - Не получен успешный ответ HTTP: код состояния = 404, сообщение о состоянии = [null] - сторона сервера и клиента, использующая весеннюю загрузку - PullRequest
0 голосов
/ 02 мая 2020

Я разработал код на стороне сервера (это проект спрингбут-спящий). Я использую httpInvokerServiceExporter.

(Поскольку я тестировал этот код для REST, существует класс EmployeeRestConntroller, но я прокомментировал это и также удалил все вещи в коде, связанном с этим.)

Ниже приведен код на стороне сервера

@ SpringBootApplication publi c class CruddemoApplication {

@Bean
HttpInvokerServiceExporter exporter(EmployeeService implementation) {
    Class<EmployeeService> serviceInterface = EmployeeService.class;
    HttpInvokerServiceExporter exporter = new HttpInvokerServiceExporter();
    exporter.setServiceInterface(serviceInterface);
    exporter.setService(implementation);
    return exporter;
}

public static void main(String[] args) {
    SpringApplication.run(CruddemoApplication.class, args);
}

}

Структура проекта на стороне сервера enter image description here

На стороне клиента (это колебательная пружина. Я хотел вызвать службу на стороне сервера из некоторых JButtons слушатель действия, поэтому я использую свинг) Я использую HttpInvokerProxyFactoryBean.

Ниже приведен код,

publi c, класс UiApplication {

@Bean
HttpInvokerProxyFactoryBean service() {
    HttpInvokerProxyFactoryBean rmiProxyFactory = new HttpInvokerProxyFactoryBean();
    rmiProxyFactory.setServiceUrl("http://localhost:8080/EmployeeService");
    rmiProxyFactory.setServiceInterface(EmployeeService.class);
    return rmiProxyFactory;
}

public static void main(String[] args) {
    //SpringApplication.run(UiApplication.class, args);
    SpringApplicationBuilder builder = new SpringApplicationBuilder(UiApplication.class);

    builder.headless(false);

    ConfigurableApplicationContext context = builder.run(args);
    EmployeeService empService = context.getBean(EmployeeService.class);
    SwingUtilities.invokeLater(new Runnable() {

        public void run() {
            System.out.println("Inside run " + Thread.currentThread().getName());
            // TODO Auto-generated method stub
            /*MainWindow swingControlDemo = new MainWindow();
            swingControlDemo.showEventDemo();*/
            empService.findById(1);
        }
    });
}

}

структура проекта на стороне клиента enter image description here

Пожалуйста, объясните, что я делаю неправильно.

Я просматривал некоторые блоги по этому вопросу, но не смог понять, насколько я наивен в этом.

Также, если это возможно, кто-то может объяснить работу подробно (я видел несколько видео на этом, но все видео имеют вид с высоты птичьего полета.)

Заранее спасибо.

...