Spring MVC在本地应用程序之间发布请求



我正在开发一个项目,我们在同一设备上有两个正在运行的应用程序。在这些应用程序之间发送请求时遇到问题。一个在8080中执行,另一个运行在8081 中

这是发送请求的方法:

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

接收到请求的应用程序返回连续消息:

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

我没有向任何网页发送信息,我只是使用请求在应用程序之间发送信息。有人能帮我处理这个错误吗?当我在同一个应用程序中使用请求时,它可以正常工作。

在您的第二个应用程序中,ReceiveDeviceStatus需要返回一些东西。请参阅此帖子。

相关内容

  • 没有找到相关文章

最新更新