当前位置: 首页 > 知识库问答 >
问题:

获取microservice中的连接超时错误

骆英纵
2023-03-14

我已经使用Java8SpringBoot 2构建了一个微服务。在此微服务中,我试图使用另一个REST API服务。但是,我得到以下错误在Chrome。我已经禁用了Windows防火墙和McAfee防病毒防火墙,但仍然得到相同的错误。我可以直接使用Postman工具调用REST API,但不能通过我的微服务。

错误:-

JAVAlang.IllegalStateException:底层HTTP客户端已完成,但未发出响应。

2018-06-12 15:21:29.300错误17996---[ctor-http-nio-3]。a、 w.r.e.DefaultErrorWebExceptionHandler:无法处理请求[GET]http://localhost:8080/category/search]木卫一。内蒂。频道AbstractChannel$AnnotatedConnectionException:连接超时:无进一步信息:测试。usdemo。xyz。com/92.54.41.24:443在太阳。尼奥。索克坦林普尔主教。选中连接(本机方法)~[na:1.8.0_171]在sun。尼奥。索克坦林普尔主教。在io上完成连接(socketchannelmpl.java:717)~[na:1.8.0_171]。内蒂。频道插座尼奥。NioSocketChannel。doFinishConnect(NioSocketChannel.java:325)~[netty-transport-4.1.24.Final.jar:4.1.24.Final]位于io。内蒂。频道尼奥。AbstractNioChannel$AbstractNioSafe。finishConnect(AbstractNioChannel.java:340)~[netty-transport-4.1.24.Final.jar:4.1.24.Final]。内蒂。频道尼奥。NioEventLoop。processSelectedKey(NioEventLoop.java:633)~[netty-transport-4.1.24.Final.jar:4.1.24.Final]。内蒂。频道尼奥。NioEventLoop。processSelectedKeysOptimized(NioEventLoop.java:580)~[netty-transport-4.1.24.Final.jar:4.1.24.Final]。内蒂。频道尼奥。NioEventLoop。在io上处理SelectedKeys(NioEventLoop.java:497)~[netty-transport-4.1.24.Final.jar:4.1.24.Final]。内蒂。频道尼奥。NioEventLoop。在io上运行(NioEventLoop.java:459)~[netty-transport-4.1.24.Final.jar:4.1.24.Final]。内蒂。util。同时发生的SingleThreadEventExecutor$5。在java上运行(SingleThreadEventExecutor.java:884)~[netty-common-4.1.24.Final.jar:4.1.24.Final]。朗。丝线。运行(Thread.java:748)~[na:1.8.0_171]由:java引起。网ConnectException:连接超时:无进一步信息。。。省略10个公共框架

控制器类:-

@RestController
public class CategorySearchController {

    private final CategorySearchService categorySearchService;

    @Autowired
    public CategorySearchController(CategorySearchService categorySearchService) {
        this.categorySearchService = categorySearchService;
    }


    @GetMapping(path = "/search-category")
    public Mono<CategoryResponse> searchCategories(SearchRequest categorySearchRequest){
        return categorySearchService
                .searchCategories()
                .switchIfEmpty(Mono.error(
                        new EntityNotFoundException("No category matching " + categorySearchRequest.getSearchTerm() + " was found")));
    }

}

服务类别:-

@Service
public class CategorySearchServiceImpl implements CategorySearchService {
    private String baseUrl = "https://demo0954903.mockable.io";

    @Override
    public Mono<CategoryResponse> searchCategories() {
        WebClient webClient = WebClient.create(baseUrl);
        return webClient.
                 get()
                .uri("/category-search")
                .retrieve()
                .bodyToMono(CategoryResponse.class);
    }
}

共有1个答案

桑飞语
2023-03-14

我找到了解决这个问题的方法。我需要添加代理在网络客户端如下:-

private final WebClient webClient;
ReactorClientHttpConnector connector = new ReactorClientHttpConnector(
                options -> options.httpProxy(addressSpec -> {
                return addressSpec.host(PROXY_HOST).port(PROXY_PORT);
                }));

        this.webClient = webClientBuilder.baseUrl(BASE_URL).clientConnector(connector).build();
 类似资料:
  • 代码片段如下所示: 如果有人有决议,请帮忙?

  • 我一直在使用ftp在android应用程序的服务器上上传图像,我正在使用以下代码连接ftp。它在Wi-fi中工作正常,但如果我切换到3G或2G连接,就会出现连接超时错误。那么,你能告诉我如何处理这种情况吗。我的客户在Veriozon也面临这个问题,Sprint,ATT网络提供商。它的iPhone版本在所有网络中都运行良好。 代码: 错误: JAVA网ConnectException:无法连接到主机

  • 我相对来说是android开发的新手。我正在开发一个android应用程序,向web服务器发送请求并解析JSON对象。在与服务器通信时,我经常收到< code > Java . net . socket time out exception:Connection timed out 异常。有时它会完美地工作,没有任何问题。我知道这个问题已经被问过很多次了。但仍然,我没有得到任何满意的解决这个问题的

  • 我已经把正确的消费者“钥匙”和消费者“秘密”,任何帮助都是感激的!

  • 我在用NodeMailer发邮件。我一直在成功地使用我的gmail帐户发送电子邮件。我刚刚通过GoDaddy转到了我的域名自定义电子邮件。此电子邮件通过Hotmail运行。现在我已经做了这个切换,我得到的错误是:每次连接超时。Gmail还能用,但我不能用hotmail。 有什么解决方法吗?NodeMailer有什么更好的电子邮件选择吗? 这是我的设置:

  • 我刚刚升级到Android Studio 2.2.1版本,并且一个项目运行良好,现在我得到以下错误消息: 我知道还有另一个问题与此类似,但不是相同的情况。我不使用任何代理什么的。