Проблема с Apache Camel https rest api с именем пользователя и паролем - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть следующий фрагмент кода, который я создал для подключения к конечной точке REST «https» с помощью Apache Camel.Проблема в том, что я получаю ошибку 401, если она запущена.

from("timer:learnTimer?period=100s")
            .to("log:?level=INFO&showBody=true")
            .setHeader("currentTime", simple(currentTime))
            .setHeader(Exchange.CONTENT_TYPE,constant("application/json"))
            .setHeader(Exchange.HTTP_METHOD, constant("GET"))
            .setHeader(Exchange.HTTP_URI, simple("https://xxxxxx/api/siem/offenses?filter=status%20%3D%20%22OPEN%22%20and%20start_time%20%3E%201543647979000?&authMethod=Basic&authUsername=xxxxx&authPassword=xxxxx"))
            .to("https://xxxxxxx/api/siem/offenses?filter=status%20%3D%20%22OPEN%22%20and%20start_time%20%3E%201543647979000?&authMethod=Basic&authUsername=xxxx&authPassword=xxxx").convertBodyTo(String.class)
            .to("log:?level=INFO&showBody=true");

Я получаю сообщение об ошибке:

Stacktrace

org.apache.camel.http.common.HttpOperationFailedException: сбой при выполнении операции HTTP https://xx.xx.xx.xx/api/siem/offenses?filter=status+%3D+%22OPEN%22+and+start_time+%3E+1543647979000%3F с statusCode: 401 в org.apache.camel.component.http.HttpProducer.populateHttpOperationFailedException (HttpProducer.java:243) в org.apache.camel.component.http.HttpProducer.process (HttpProdu5.java):по адресу org.apache.camel.util.AsyncProcessorConverterHelper $ ProcessorToAsyncProcessorBridge.process (AsyncProcessorConverterHelper.java:61) по адресу org.apache.camel.processor.SendProcessor.process (SendProcessor.jamel.Relay.Reader.Reader).process (RedeliveryErrorHandler.java:548) в org.apache.camel.processor.CamelInternalProcessor.process (CamelInternalProcessor.java:201) в org.apache.camel.processor.Pipeline.process (Pipeline.java:138) в org.apache.camel.processor.Pipeline.process (Pipeline.java:101) в org.apache.camel.processor.CamelInternalProcessor.process (CamelInternalProcessor.java:201) в org.apache.camel.component.timer.TimerConsumer.sendTimerExchange (TimerConsumer.java:197) в org.apache.camel.component.timer.TimerConsumer $ 1.run (TimerConsumer.java:)java.util.TimerThread.mainLoop (Timer.java:555) в java.util.TimerThread.run (Timer.java:505) 15: 16 |ВНИМАНИЕ |CamelLogger.java 213 |Ошибка обработки обмена.Обмен [ID-zabbixproxy-node2-1544019394005-0-1].Вызвано: [org.apache.camel.http.common.HttpOperationFailedException - сбой при выполнении операции HTTP https://xx.xx.xx.xx/api/siem/offenses?filter=status+%3D+%22OPEN%22+and+start_time+%3E+1543647979000%3F с statusCode: 401] org.apache.camel.http.common.HttpOperationFailedException: сбой операции HTTP при вызове https://10.96.40.66/api/siem/offenses?filter=status+%3D+%22OPEN%22+and+start_time+%3E+1543647979000%3F с statusCode: 401 в org.apache.camel.component.http.HttpProducer.populateHttpOperationFailedException (HttpProducer.java:243) в org.apache.camel.component.http.HttpProducer.process (HttpProdu5.j:org.apache.camel.util.AsyncProcessorConverterHelper $ ProcessorToAsyncProcessorBridge.process (AsyncProcessorConverterHelper.java:61) в org.apache.camel.processor.SendProcessor.process (SendProcessor.java5: 48)

1 Ответ

0 голосов
/ 06 декабря 2018

Вы уверены, что должны установить эти заголовки, прежде чем сделать повторный вызов?необязательные заголовки запроса в сообщении IN могут вызвать некоторые проблемы.

 Exchange exchange = ExchangeBuilder.anExchange(camelContext)
                         .withHeader("").withProperty("")
                         .withPattern(ExchangePattern...)
                         .withHeader(Exchange.HTTP_METHOD, HttpMethod.GET)
                          .build();
            producer.send("the end point to rest",exchange); 

// производитель - ProducerTemaplte

В приведенном выше коде вы можете установить ExchangePattern и требуемые заголовки и свойство (если это необходимо).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...