Я создал расширение для keycloak, в котором отправляю запрос на другой сервер, но он возвращает Connection RefusedJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Я создал расширение для keycloak, в котором отправляю запрос на другой сервер, но он возвращает Connection Refused

Сообщение Anonymous »

Я создал расширение для keycloak, которое перехватывает событие регистрации пользователя, а затем отправляет информацию об этом пользователе в другое мое приложение (URL-адрес публикации: http://localhost:8012/v1/users), но возвращает Connection Refused
Проверил работоспособность приложения, которому отправляется запрос (так же, как и в расширении), там все нормально. Оказывается ошибка в расширении, подскажите пожалуйста в чём именно?
Код:

Код: Выделить всё

@Override
public void onEvent(Event event) {
if (event.getType() == REGISTER) {

String text = event.getUserId() + "/" + event.getDetails().get("username") + "/" +
event.getDetails().get("first_name") + "/" + event.getDetails().get("last_name") + "/" +
event.getDetails().get("email") + "/" + OffsetDateTime.now();

log.info("information about registered user: " + text);

HttpClient client = HttpClient.newHttpClient();
String url = "http://localhost:8012/v1/users";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/text")
.POST(HttpRequest.BodyPublishers.ofString(text))
.build();

try {
client.send(request, HttpResponse.BodyHandlers.ofString());
} catch (IOException | InterruptedException e) {
log.error(e.getMessage());
log.error(String.valueOf(e.getCause()));
log.error(Arrays.toString(e.getStackTrace()));
}
}
log.info("Caught event {}", EventUtils.toString(event));
}
Это работает только для log.info("Caught event {}", EventUtils.toString(event));
Ошибка и стек:2024-05-14 21:52:59 2024-05-14 18:52:59,428 ОШИБКА [ru.andreev.event.CustomEventListenerProvider] (executor-thread-0) java.net.ConnectException: соединение отклонено
2024-05-14 21:52:59 2024-05-14 18:52:59,430 ОШИБКА [ru.andreev.event.CustomEventListenerProvider] (executor-thread-0) [java.net.http/jdk.internal. net.http.HttpClientImpl.send(HttpClientImpl.java:561), java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:119), ru.andreev.event.CustomEventListenerProvider.onEvent( CustomEventListenerProvider.java:43), org.keycloak.events.EventBuilder.send(EventBuilder.java:225), org.keycloak.events.EventBuilder.success(EventBuilder.java:192), org.keycloak.authentication.forms.RegistrationUserCreation .success(RegistrationUserCreation.java:140), org.keycloak.authentication.FormAuthenticationFlow.processAction(FormAuthenticationFlow.java:252), org.keycloak.authentication.DefaultAuthenticationFlow.processAction(DefaultAuthenticationFlow.java:134), org.keycloak.authentication. AuthenticationProcessor.authenticationAction(AuthenticationProcessor.java:977), org.keycloak.services.resources.LoginActionsService.processFlow(LoginActionsService.java:311), org.keycloak.services.resources.LoginActionsService.processRegistration(LoginActionsService.java:655), org .keycloak.services.resources.LoginActionsService.registerRequest(LoginActionsService.java:711), org.keycloak.services.resources.LoginActionsService.processRegister(LoginActionsService.java:689), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Собственный метод), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base /java.lang.reflect.Method.invoke(Method.java:566), org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:170), org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl .java: 130), org.jboss.resteasy.core.resourcemethodinvoker.internalinvokeontarget (resourcemethodinvoker.java:660), org.jboss.resteasy.core.resourcemethodinvoker.invokeontargetafterfterferter. oss.resteasy. core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:474), org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364), org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget (ResourceMethodInvoker.java:476), org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:434), org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:192), org.jboss. resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:141), org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:32), org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java: 492) .resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364), org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:164), org.jboss.resteasy.core.SynchronousDispatcher.invoke (SynchronousDispatcher.java:247), io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:73), io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:151), io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.handle(VertxRequestHandler.java:82), io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.handle(VertxRequestHandler.java:42), io.vertx.ext.web. impl.RouteState.handleContext(RouteState.java:1284), io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:173), io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl. java:140), io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2.handle(StaticResourcesRecorder.java:84), io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2.handle(StaticResourcesRecorder.java:71), io .vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284), io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:173), io.vertx.ext.web.impl .RoutingContextImpl.next(RoutingContextImpl.java:140), io.quarkus.vertx.http.runtime.VertxHttpRecorder$6.handle(VertxHttpRecorder.java:430), io.quarkus.vertx.http.runtime.VertxHttpRecorder$6.handle(VertxHttpRecorder .java:408), io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284), io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:173), io. vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140), org.keycloak.quarkus.runtime.integration.web.QuarkusRequestFilter.lambda$createBlockingHandler$0(QuarkusRequestFilter.java:82), io.quarkus.vertx .core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:564), org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449), org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQu) eueExecutor. java:1478), org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29), org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29), io.netty.util.concurrent.FastThreadLocalRunnable.run (FastThreadLocalRunnable.java:30), java.base/java.lang.Thread.run(Thread.java:829)]

Подробнее здесь: https://stackoverflow.com/questions/784 ... her-server
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»