java - 推送器错误 : Couldn't get auth info from your webapp : 500 (Focus at 500 error)

标签 java jax-rs pusher http-status-code-500

这是我订阅私有(private) channel 的代码,当我尝试进行私有(private)订阅时,我收到一条错误消息

推送器错误消息:无法从您的 webapp 获取身份验证信息:500

场景:

订阅在 HTML 文件中的 javascript 中:

<!DOCTYPE html>
<head>
  <title>Pusher Test</title>
  <script src="https://js.pusher.com/3.2/pusher.min.js"></script>
  <script>

    // Enable pusher logging - don't include this in production
    Pusher.logToConsole = true;
    var pusher = new Pusher('9272f25541ab7b04fc60', {
        authEndpoint: 'http://localhost:8080/medecube/rest/initial/pusher/auth',
         auth: {
            headers: {
              'X-CSRF-Token': "12345"
            }
          } 

        });

    var channel = pusher.subscribe('private-channel');
    channel.bind('pusher:subscription_succeeded', function() {
          var triggered = channel.trigger('client-myEvent', { "message": "i am pusher client" });
        });

  </script>
</head>

Java 中的JAX-RS 网络服务

@POST
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/pusher/auth")
    public String processMessagesAndAuthentication( MultivaluedMap<String, String> input){
        Pusher pusher = new Pusher("269783", "Pusher-key", "5bbebf61fb77dbef45bc");
        String socket_id = input.getFirst("socket_id");
        String channel_name = input.getFirst("channel_name");
        String auth = pusher.authenticate(socket_id, channel_name);
        return auth;
    }

错误

POST http://localhost:8080/medecube/rest/initial/pusher/auth 500 (Internal Server Error)

pusher.min.js:8 Pusher : Couldn't get auth info from your webapp : 500

同样在我的 eclipse 控制台 它显示不同类型的错误:

Caused by: java.lang.NoClassDefFoundError: org/apache/http/conn/HttpClientConnectionManager

java.lang.ClassNotFoundException: org.apache.http.conn.HttpClientConnectionManager from [Module "deployment.medecube.war:main" from Service Module Loader]

最佳答案

我找到了我的问题的解决方案。 实际上,我忘记在我的 pom.xml 文件中为推送器添加 HttpClient maven 依赖项。这就是推送器无法加载资源的原因。通过添加 maven 依赖项,我得到了响应。

           <dependency>
               <groupId>org.apache.httpcomponents</groupId>
               <artifactId>httpclient</artifactId>
               <version>4.3.5</version>
           </dependency>

关于java - 推送器错误 : Couldn't get auth info from your webapp : 500 (Focus at 500 error),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41570694/

相关文章:

javascript - 如何在 VS Code 的 Angular 工作流程中使用 Pusher-JS?

java - 不使用Keycloak的Wildfly中仅承载身份验证

java - 使用 MultivalueMap 后调用中的问题

java - Resteasy spring 自定义对象映射器

javascript - 如何访问订阅 channel 的人员列表?

java - 如何为外部 jar 创建 gwt.xml 文件?

java - JDBC 关闭资源

java - 是否可以在java流中使用when()初始化模拟

java - 从数据库获取结果之前进行自定义排序

android - Pusher Java 客户端 : Failed to subscribe to a presence channel as well as a private channel at a time