m0_62375170 2024-03-27 02:27 采纳率: 0%
浏览 13

远程调用的问题,调用失败到底是什么的问题(语言-java)

学习微服务的时候复制服务模拟多服务远程调用,就是order调用user和复制的user,调用原本的服务是成功的,但是调用复制的就是失败的。

img

03-27 02:07:21:696 ERROR 52829 --- [nio-8080-exec-4] 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$BadRequest: 400 Error: [unkown the request]] with root cause
org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Error: [unkown the request]

img

刚开始用的Eureka以为它的问题,后来学到nocas还是这个问题,是ribbon的问题吗?


今天突然好用了,可能是服务器缓存了之前错误的usersevice(复制),后来修改没生效,今天改了一下复制的服务端口就好用了。
总之解决办法:复制的时候修改一下端口。

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-03-27 08:33
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述: 在学习微服务时,复制了服务,并模拟了多服务远程调用,其中order服务成功调用了原本的user服务,但是调用了复制的user服务时却失败了,报错信息为400 Error: [unkown the request]。 问题分析: 从报错信息来看,是HttpClientErrorException的BadRequest异常,表明请求错误,具体是400错误。同时,错误提示中包含了[unkown the request],看起来像是请求的路径或参数错误。因此,我们需要检查以下几个方面:
    1. 请求路径是否正确,包括域名、端口、服务名、请求路径等。
    2. 请求参数是否正确,是否缺少必要的参数或参数格式错误。
    3. 复制的user服务是否正确启动,是否能正常响应请求。
    4. 是否有相关的安全措施或限制导致请求被拦截或拒绝。 解决方案: 根据上述问题分析,我们可以进行以下的解决方案:
    5. 检查请求路径是否正确,可以使用Postman等工具进行测试,尝试手动访问user服务和复制的user服务,检查请求路径是否正确。
    6. 检查请求参数是否正确,可以比对原本的user服务和复制的user服务,确认参数是否相同,尝试手动设置请求参数进行测试。
    7. 检查复制的user服务是否正确启动,并能正常响应请求。可以检查服务日志或使用Postman等工具进行测试。
    8. 如果有相关的安全措施或限制导致请求被拦截或拒绝,可以查看相应的配置文件或查找相关的文档,确认一下是否需要进行相应的设置或解除限制。 代码示例: 由于没有相关的代码,无法提供代码示例。
    评论

报告相同问题?

问题事件

  • 修改了问题 3月28日
  • 修改了问题 3月27日
  • 创建了问题 3月27日