这是我订阅私有(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/