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

无法从Spring integration出站网关调用HTTPSendpoint

岳俊晖
2023-03-14

https:// /gateway/services/integration/api/getrecordsfromservice1?transactionid=1111111111&id=100100100100157

integration是为IntegrationService在网关中注册的服务名称。类似地,service1是用于service1的。

我不能理解的是:

    null

我的入站和出站网关如下:

@ServiceActivator(inputChannel = "channelOutbound")
    @Bean
    public HttpRequestExecutingMessageHandler outboundGateway() {
        final HttpRequestExecutingMessageHandler handler = new HttpRequestExecutingMessageHandler(
                viewrecordsEndpoint + "{id}");
        handler.setExpectedResponseType(String.class);
        handler.setHttpMethod(HttpMethod.GET);
        handler.setOutputChannelName("channelOutboundResponse");

        final ExpressionParser parser = new SpelExpressionParser();
        final Expression exp = parser.parseExpression("payload[id]");
        final Map<String, Expression> uriExp = new HashMap<>();
        uriExp.put(Constants.ID, exp);
        handler.setUriVariableExpressions(uriExp);
        return handler;
    }

@Bean
    public HttpRequestHandlingMessagingGateway inboundGateway() {
        final HttpRequestHandlingMessagingGateway gateway = new HttpRequestHandlingMessagingGateway();
        gateway.setRequestMapping(requestMapping());
        gateway.setRequestChannelName("channelInbound");
        gateway.setReplyChannelName("channelInboundReply");
        gateway.setErrorChannelName("channelInboundError");
        return gateway;
    }

private RequestMapping getGoldLoansForUcicInboundRequestMapping() {
        final RequestMapping mapping = new requestMapping();
        mapping.setPathPatterns("/api/getrecordsfromservice1");
        mapping.setMethods(HttpMethod.GET);
        return mapping;
    }

共有1个答案

奚修伟
2023-03-14

Spring集成与HTTPS无关。这是标准的SSL Java配置,必须在两侧适当提供。仅仅将HTTP模式更改为HTTPS是不够的。

请参阅Internet上的一些可能的解决方案:https://docs.oracle.com/cd/e19906-01/820-4916/6 ngbm6hre/index.html

你的URL有问题。这可能就是API网关的工作方式。因此,当外部请求到达其endpoint时,它只会剥离自己的上下文。

 类似资料:
  • 我想从batch tasklet中调用sftp:outbound gateway,以便从sftp服务器下载文件。我看过其他与这个主题相关的帖子,但我不确定我做错了什么。有人能根据我的配置给我一个提示吗?我的批处理工作正常,所以问题只是在批处理步骤中调用sftp组件。我用注释标记了Spring集成部分,这样就更容易阅读相关配置。 我可以在日志中看到:调试[o.s.I.e.SourcePollingC

  • 问题陈述: Spring amqp outbound gateway从不同的线程生成应答(如jms outbound gateway,具有不同的队列,使用相关键关联请求/响应)。 无法将消息与此示例关联。 Spring集成 配置 服务 错误: 组织。springframework。整合。处理程序。ReplyRequiredException:处理程序“outboundGtwyId”未生成回复,其“

  • 我一直使用SI出站网关调用使用NTLM(Microsoft Dynamics backend)保护的RESTendpoint。它非常简单,只需配置HttpComponentsMessageSender凭据以使用Apache HttpClient的NTCredentials,并且它可以透明地工作。

  • 我可以看到请求消息被加入和出列,响应消息被加入和出列。但我有个例外, 我应该如何检索响应?

  • 我在somes网站上尝试过,效果很好。问题是当我在一个特定的网站(www.ifood.com.br)使用时。它收集一些链接,然后返回一些错误。我是Python的初学者,所以我不知道它们是什么意思。拜托,我需要一些帮助。 代码的结果: https://d1jgln4w9al398.cloudfront.net/imagens/ce/wl/www.ifood.com.br/favicon.ico ht

  • 我正在尝试将spring集成配置为向队列发送消息,然后接收消息,即非常简单的事情: 我认为解耦所必需的是在流程的两端都有一个消息网关。因此,我的第一次尝试(有效)如下所示: 其中MessageReceiverHandler()是扩展AbstractMessageHandler的bean。 所以上面我们有一个用于出站消息的消息网关。我假设我们也应该有一个用于入站消息的网关,允许我们将传入消息处理与应