![](/img/trans.png)
[英]How to pass Custom Authorization Header to my backend websocket service through WSO2 (API Manager)?
[英]How to setup and deploy WebSocket on WSO2 AS 5.2.1?
我有一个可运行的JAX-RS Web应用程序,该应用程序实现了一些RESTfull服务。 我已经在WSO2 Studio下开发了它,并使用WSO2 AS Web界面进行了部署,所有这些都非常简单。
现在,我想在我的WebApp上添加打开WebSocket的可能性。 我没有在WSO2 AS文档中找到标准过程或示例。 我的问题是:
谢谢。
更新
我已经编写了这个极其简单的websocket应用程序:
import java.io.IOException;
import javax.websocket.OnMessage;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/test")
public class TestSocket {
@OnMessage
public void onMessage(Session session, String message, boolean last) {
try{
if(session.isOpen()){
session.getBasicRemote().sendText("Received -> [" + message + "]", last);
}
}catch(IOException e){
try{
session.close();
}catch(IOException e1){
}
}
}
}
如果我在Tomcat服务器上部署,则在我在WSO2 AS 5.3.0(快照)上部署时,它可以正确运行,WebSocket无法访问。 我不明白我做错了什么。
WSO2 AS 5.2.1具有Websocket(特定于tomcat)支持。 您可以在$AS_HOME/repository/deployment/server/webapps
文件夹中找到“示例” Webapp。
但是WSO2 AS 5.2.1中不提供标准(JSR356)Websocket支持。 它会在即将发布的WSO2 AS 5.3.0中提供。 WSO2 AS 5.3.0 Alpha已经发布,您可以使用Alpha Pack尝试Web套接字支持。 启动服务器,将浏览器指向http:// localhost:9763 / example / websocket / index.xhtml ,您将在此处找到四个Web套接字示例。 您可以查看WSO2 AS 5.3.0中有关新功能的发行邮件 。
正如@Rajkumar提到的,如果您需要使用基于JSR356的标准websocket,则必须使用WSO2-AS 5.3.0 Alpha。 但是您仍然可以将先前的wso2-as版本(5.2.1)用于特定于Tomcat的Websocket实现。
如果要使用jaxrs调用websocket,则可以在github-product-as中引用websocket测试用例
对于基于tomcat的websocket实现,您可以从tomcat来源或从https://github.com/wso2/product-as/tree/wso2appserver-parent-6.0.0/modules/samples/common/引用tomcat websocket示例webapp / src / main / java / websocket
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.