我刚刚用ABAP推送通道和UI5演示了一个演示。在服务器端,ABAP 推送通道在 WebDynpro 应用程序"wdr_test_apc_wsp"中测试良好。但是当我将其与客户端集成时,它无法建立连接。这是创建 Web 套接字连接的代码
//establish websocket connection
this.oWs = new SapPcpWebSocket("/sap/bc/apc/sap/ZQCHART_WS_GATEWAY", SapPcpWebSocket.SUPPORTED_PROTOCOLS.v10);
//register callback functions on WebSocket Events
this.oWs.attachOpen(function(e){
console.log("connection created");
});
this.oWs.attachMessage(function(oEvent){
//Message from server is coming in
console.log(oEvent);
});
然后我在 web ide 上运行这个应用程序,但 chrome 收到此错误。
WebSocket connection to 'wss://webidetesting3973187-fiori.dispatcher.neo.ondemand.com/sap/bc/apc/sap/ZQCHART_WS_GATEWAY' failed: Error during WebSocket handshake: Unexpected response code: 501
APC 位于另一个 SAP 系统上。我想知道它是否是由跨源策略引起的,如果是这样,我该怎么办?
一种可能性 -在 ABAP 中创建推送通道时,是否指定了协议?在我们的NW版本中,有一个协议框,可以是空白的,也可以是填充的。如果它是空白的,请不要在创建 websocket 时传入协议。
在同一机器上运行时 - APC 服务 URL 与 BSP 服务 URL 不同。
还遇到了此链接,该链接指定了与跨站点请求相关的另一个表。