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

调用Camel Rest服务会使用restlet为我提供401

曾苗宣
2023-03-14
public static final String MONITOR_URI = "https://lsapi.thomson-pharma.com//ls-api-ws/ws/rs/opportunity-v1/match?drug=bevacizumab&company=Genentech Inc&fmt=json";

public static final String DIRECT_MONITOR = "direct:getDrugInfo";

from(DIRECT_MONITOR).to(MONITOR_URI).convertBodyTo(String.class);

===============================================================================

public static void main(String[] args) throws Exception {
    CamelContext context = createCamelContext();
    context.start();
    final String text = "paracetamol";
    final String fmt = "json";
    final String authMethod = "Digest";
    final String authUsername = "TR_Internal_024";
    final String authPassword="ZTYA5S1KLF7WCDMN";
    final String query = String.format("text=%s&fmt=%s&authMethod=%s&authUsername=%s&authPassword=%s",text,fmt,authMethod,authUsername,authPassword);
    Map<String,Object> headers = new HashMap<String, Object>(){
        {
            put(Exchange.HTTP_METHOD,"POST");
            put(Exchange.AUTHENTICATION,"Digest");
            put("authUsername","TR_Internal_024");
            put("authPassword","ZTYA5S1KLF7WCDMN");
            put(Exchange.HTTP_QUERY,query);
        }
    };
   ProducerTemplate template = context.createProducerTemplate();

  String request = template.requestBodyAndHeaders(Constants.DIRECT_MONITOR,null,headers,String.class);
  System.out.println("Body is : "+request);
}
  1. 有人能帮助如何使用camel cxf或restlet配置SSL吗?
  2. 如何将凭据提供程序添加到CamelContext或Spring Context?

共有1个答案

鲁涵映
2023-03-14
HttpComponent http = (HttpComponent) camelContext.getComponent("https");
        HttpClientConfigurer httpClientConfigurer = http.getHttpClientConfigurer();
        if(httpClientConfigurer == null){
            System.out.println("httpClientConfigurer is null");
            if(http.getHttpClientConfigurer() == null ){
                HttpConfiguration httpConfiguration = new HttpConfiguration();
                httpConfiguration.setAuthMethod(AuthMethod.Digest);
                httpConfiguration.setAuthUsername("xxxxx");
                httpConfiguration.setAuthPassword("xxxxxx");
                http.setHttpConfiguration(httpConfiguration);
            }
        }
 类似资料:
  • 什么是 SSL? SSL(安全套接层,Secure Sockets Layer),及其继任者 TLS (传输层安全,Transport Layer Security)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 会在传输层对网络连接进行加密。 通过 SSL 加密,网站与用户之间的数据交互会更加安全,能够避免大多数的网络窃听问题。通常在登录以及涉及交易等安全要求比较高的情况下,

  • 简介 服务提供者是所有 Lumen 应用程序启动的中心所在。包括你自己的应用程序,以及所有的 Lumen 核心服务,都是通过服务提供者启动的。 但是,我们所说的「启动」指的是什么?一般而言,我们指的是 注册 事物,包括注册服务容器绑定、事件侦听器、中间件,甚至路由。服务提供者是设置你的应用程序的中心所在。 若你打开 Lumen 的 bootstrap/app.php 文件,你将会看到 $app->

  • 服务提供者是组件和CatLib联系的桥梁。同时也是CatLib启动的中心,所有的服务都是通过服务提供者定义的。 名词定义 组件 组件与CatLib没有任何关系,她们可以独立的运行在不同的框架中。 服务 是由服务提供者将由一个或者多个组件组合而成,并提供一组可以被开发者使用的接口。 容器 CatLib 依赖注入容器。 架构图 创建服务提供者 服务提供者是用来描述一个服务如何为使用者提供服务的,这些关

  • 我想使用远程过程调用(RPC)开发一个Qt5/C客户机-服务器应用程序。 想法:服务器监听多个客户端的传入连接。客户机提供了一组服务器可以调用的过程/服务,以便从客户机收集数据并将更改通知其他客户机。 这里有一个问题:到目前为止,我看到的RPC库似乎期望服务器提供客户端可能调用的服务。但我想做相反的事情。客户端应该提供服务器可能调用的服务。方向很重要,因为我想只在服务器端启用端口转发,而不是在客户