2015-04-08 2 views
0

Я разрабатываю проект, в котором у нас есть два работающих приложения на одном устройстве. Я сталкиваюсь с проблемой отправки запросов между этими приложениями. Один выполнен в 8080 и поставить другие работают в 8081Spring MVC Почтовый запрос между локальными приложениями

Это метод, который отправляет запрос:

public void sendRequest(String device, String status) { 

    RestTemplate rest = new RestTemplate(); 
    List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>(); 
    messageConverters.add(new FormHttpMessageConverter()); 
    messageConverters.add(new StringHttpMessageConverter()); 
    rest.setMessageConverters(messageConverters); 

    if (EnumClass.InputStatus.TRUE.getStatus().equals(status)) { 
     setStatus("true"); 
    } else if (EnumClass.InputStatus.FALSE.getStatus().equals(status)) { 
     setStatus("false"); 
    } else { 
     setStatus(status); 
    } 
    MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>(); 
    map.add("device", device); 
    map.add("status", getStatus()); 
    String result = rest.postForObject("http://localhost:8080/DeviceStatus", map, String.class); 
    System.out.println(result); 


} 

Это метод другого приложения, которое должно получить запрос:

@RestController 
public class DeviceController { 
    @RequestMapping(value = "DeviceStatus", method = RequestMethod.POST) 
    public void ReceiveDeviceStatus(@RequestParam("device") String device,@RequestParam("status") String status){ 
     System.out.println("Entrou aqui"); 
     System.out.println("device = " + device); 
     System.out.println("status = " + status); 
    } 
} 

Я получаю следующее сообщение:

2015-04-08 15:39:11.920 WARN 6140 --- [nio-8081-exec-1] o.s.web.client.RestTemplate    : POST request for "http://localhost:8080/DeviceStatus" resulted in 405 (Method Not Allowed); invoking error handler 
2015-04-08 15:39:11.931 ERROR 6140 --- [nio-8081-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.client.HttpClientErrorException: 405 Method Not Allowed] with root cause 
org.springframework.web.client.HttpClientErrorException: 405 Method Not Allowed 

И приложение, которое принимает запрос возвращает сообщение sequinte:

2015-04-08 15:12:24.555 INFO 7352 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet  : FrameworkServlet 'dispatcherServlet': initialization completed in 34 ms 
2015-04-08 15:12:24.577 WARN 7352 --- [nio-8080-exec-1] o.s.web.servlet.PageNotFound    : Request method 'POST' not supported 

Я не отправляет информацию на любой веб-странице, я использую только запросы для передачи информации между приложениями. Кто-нибудь поможет мне справиться с этой ошибкой? Когда я использую Запросы в одном приложении, он работает правильно.

ответ

0

в вашем втором приложении, ReceiveDeviceStatus необходимо что-то вернуть. См. Это post.