点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨团队 我们目前正在开发a...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨团队 我们目前正在开发a...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨团队
我们目前正在开发ap ep 7.5版本。 我们开发了一个UI5应用程序,部署在SAP门户中。 UI5应用程序使用Odata URL。 我们通过进行以下代码2中所示的jquery ajax调用来使用此Odata URL。
因为我们分别有开发服务器/质量服务器和生产服务器以及相应的网关服务器。必须将应用程序从开发门户移至Quailty门户,我们必须更改网关服务器URL,以在URL中合并质量网关服务器的主机名和端口。
为了避免更改Odata URL来合并相应的主机和端口,我们考虑使用URL的相对路径并配置sap Web调度程序,以便Web调度程序将URL重定向到相应的网关系统。 webdispatcher配置显示在代码1中。
以下是在webdispatcher的操作文件中所做的修改。
代码1. SAP WEBDISPATCHER
#-------- REDIRECTURLS ------------------------------ RegIRedirectUrl/sap/opu/odata/(.*)http://cvcm****rg01.***corp.***universe.com:8000/ #----------------------------------------------- pre>但是Http请求没有修改,我们收到404错误,因为使用相对URL路径的ajax调用指向的是同一台服务器,如下所示。
在对odataURL的相对路径进行ajax jQuery调用时,即对我的Development Portal Server进行了调用,如下所示。
" http://development_portal_server_host:50000/sap/opu/odata/sap/Z ** S_SPA_RELEASED_PO_LIST_SRV/PO_LISTSet/?$ filter = PLoginid eq'M19800'和POpt eq'A'";完整的ODATA URL
http://cvcm****rg01.***corp.***universe.com:8000/sap/opu/odata/sap/Z ** S_SPA_RELEASED_PO_LIST_SRV/PO_LISTSet/?$ filter = PLoginid eq' M19800"和POpt等式" A"相关ODATA URL
/sap/opu/odata/sap/Z ** S_SPA_RELEASED_PO_LIST_SRV/PO_LISTSet/?$ filter = PLoginid eq'M19800'和POpt eq'A'此ajax调用导致404错误。
代码2:从UI5控制器调用AJAX
var complete_Url =" http://cvcm****rg01.***corp.***universe.com:8000/sap/opu/odata/sap/Z ** S_SPA_RELEASED_PO_LIST_SRV/PO_LISTSet/?$ filter = PLoginid eq'M19800'和POpt eq'A'"; var relative_url ="/img/sap/opu/odata/sap/Z ** S_SPA_RELEASED_PO_LIST_SRV/PO_LISTSet/?$ filter = PLoginid eq'M19800'和POpt eq'A'"; var invoiceModel = null; var l_MatList_input_injsonformat =""; var aData = jQuery.ajax({ 类型:" GET", 网址:relative_url, jsonpCallback:'getJSON', 数据:l_MatList_input_injsonformat, dataType:" json", beforeSend:function(jqXHR,settings){ }, 错误:功能(xhr,ajaxOptions,throwError) { console.log(xhr.status); console.log(xhr.responseText); }, 异步:是的, 成功:功能(数据,textStatus,jqXHR) { console.log(data); var POLISTMODEL = new sap.ui.model.json.JSONModel(); POLISTMODEL.setData(data); g_var_HomeViewPointer.getView()。setModel(POLISTMODEL," POLISTMODEL"); } });请帮助并做有需要的人。
致谢
Govardan
您好,Govardan,
请注意此类重定向...您可能会 Ajax调用绕过Web Dispatcher,直接进入后端系统,我相信这不是您想要的。
使用Jun Wu的建议时,您将有一个Web Dispatcher处理请求 来自所有方面(开发,质量,生产)的情况,这可能会引起管理问题(您想要进行涉及重新启动Web Dispatcher的测试,从而导致停机时间有限和生产不可用)。
我相信 最好的选择是更改每个格局上的主机名/端口,因此您也可以为每个格局都使用专用的Web Dispatcher。
您可以创建配置屏幕并保存,而不是对主机名/端口进行硬编码。 而是在数据库表上进行配置,然后UI5应用程序从该数据库表中获取要使用的主机名/端口。
问候,
Isaías
# p#该配置仅适用于一个景观
dev,qa和prd,每个都将具有自己的网络分配器,它们具有相当多的配置。
一周热门 更多>