使用 SAP Fiori Tools 部署 SAP UI5 应用到 ABAP 服务器时遇到的各种错误和解决办法
错误1
(node:28340) UnhandledPromiseRejectionWarning: TypeError: Cannot read property ‘customMiddleware’ of undefined
at handleABAP (C:\Code\UI5\Walkthrough\35\node_modules@sap\ux-ui5-tooling\dist\cli\cmd\add-deploy-config.js:113:29)
错误原因:使用的 Fiori tools CLI 版本过低所致。
“@sap/ux-ui5-tooling”: “1.0.10”
https://www.npmjs.com/package/@sap/ux-ui5-tooling
解决办法:使用最新的 1.4.7
版本:
错误消息2
Error: Cannot find proxy middleware config in [C:\Code\UI5\Walkthrough\35\ui5.yaml]
at f (C:\app\node-v12.18.3-win-x64\node_modules@sap\generator-fiori\generators\deployment-generator\abap\index.js:2:616172)
at Object.r.handleErrorMessage (C:\app\node-v12.18.3-win-x64\node_modules@sap\generator-fiori\generators\deployment-generator\abap\index.js:2:616358)
错误原因:ui5.yaml 文件内容不全。
至少应该包含 fiori-tools-proxy
区域。
参考一个格式正确的 ui5.yaml
:
specVersion: '1.0'
metadata:
name: 'project1'
type: application
ui5Theme: sap_fiori_3
server:
customMiddleware:
- name: fiori-tools-proxy
afterMiddleware: compression
configuration:
ignoreCertError: false # If set to true, certificate errors will be ignored. E.g. self-signed certificates will be accepted
backend:
- path: /sap/opu/odata
url: http://localhost
ui5:
path:
- /resources
- /test-resources
url: https://ui5.sap.com
version: # The UI5 version, for instance, 1.78.1. Empty means latest version
- name: fiori-tools-appreload
afterMiddleware: compression
configuration:
port: 35729
path: webapp
错误消息3
info builder:custom deploy-to-abap Create Archive
info builder:custom deploy-to-abap Starting Deployment.on project1 � (11/11) Running task deploy-to-abap…
WARN builder:custom deploy-to-abap Connecting without any credentials, deployment may fail if authorization is required
ERR! builder:custom deploy-to-abap Deployment Failed.tion project1 � (11/11) Running task deploy-to-abap…
ERR! builder:custom deploy-to-abap getaddrinfo ENOTFOUND aa
原因是 ui5-deploy.yaml
文件中 deploy-to-abap
这个自定义 task 的 target
, 即远端 ABAP 系统的 url 维护不正确。
如果看到上图所示的提示消息:
The deployment destination requires authentication. Please enter your credentials below
? Username:
说明 ABAP 系统连接成功。
错误消息4
Upload canceled, archive could not be read or appears to be empty
错误消息和这个帖子介绍的一致。
这个错误和 SAP UI5 tools
的版本有关。
使用 generator-easy-ui5
创建的 SAP UI5 项目,SAP UI5 tools
的默认版本号如下图所示:
"devDependencies": {
"@ui5/cli": "^2.11.1",
"@ui5/fs": "^2.0.6",
"@ui5/logger": "^2.0.1",
"@sap/ux-ui5-tooling": "1",
"rimraf": "3.0.2"
},
"ui5": {
"dependencies": [
"@sap/ux-ui5-tooling"
]
}
解决方案:删除 package-lock.json
文件和 node_modules
文件夹,
执行命令行安装最新版本:
npm install @sap/ux-ui5-tooling@latest
成功安装的版本号:1.4.7
将 package.json
文件里的 deploy
脚本命令更改为:
npm run build && fiori deploy --config ui5-deploy.yaml
重新执行 npm run deploy
即可:
错误消息5
Remote creation in customer namespace not possible in SAP systems
解决办法是,提前在 ABAP 系统 ER9 手动创建
好 BSP 应用即可:
另一种方法,参考这个链接。
更多Jerry的原创文章,尽在:“汪子熙”:
相关文章
- 关于 SAP UI5 getSAPLogonLanguage is not a function 的错误消息以及 API 版本的讨论
- SAP UI5 FileUploader 控件实现本地文件上传,接收服务器端的响应时遇到跨域访问错误的试读版
- SAP UI5 应用开发教程之三十九 - SAP UI5 应用出现白屏的一些常见错误和分析方法分享试读版
- 使用 SAP UI5 消费 OData 服务的一些常见错误和解决方案
- SAP UI5应用在SAP WebIDE里clone之后出现404 not found error for sap-ui-core.js错误的原因分析
- 一个SAP UI5 TreeTable控件的错误分析
- [ChatGPT 勘误] SAP ABAP 里 cl_r3standard_persistence 的用途?
- 使用 SAP ABAP Memory Inspector 对应用程序消耗内存进行检测时常犯的错误试读版
- SAP CRM错误消息 Specify at least one number for the business partner
- 明明没有发生超时错误,为什么SAP WebClient UI会显示超时错误提示?
- SAP CRM webclient ui开发workbench里点了Test按钮,发生了什么事
- 在SAP ABAP和Hybris Commerce里启动后台作业
- 关于 SAP 电商云 Spartacus UI Navigation Service 执行的一些明细
- 将 SAP Spartacus 作为 feature module 进行 Lazy Load 延迟加载时遇到的注入错误分析
- OAuth 2.0协议在SAP产品中的应用
- SAP应用followup transaction的错误讨论
- SAP HANA 错误消息 SYS_XSA authentication failed SQLSTATE - 28000
- SAP 云平台部署应用时遇到的 502 Updating service failed - Bad Gateway 错误消息
- 部署 SAP UI5 应用到 SAP BTP 时遇到的 fiori not found 错误消息
- SAP Fiori Launchpad上的错误消息 - User Parameter /UI2/WD_TRKORR_CUST is not maintained
- 从 SAP WebIDE 里向Github 发起 push 的错误消息 - Git result: REJECTED_NONFASTFORWARD
- SAP OData 服务在 gateway 层出错,应该如何处理?通过一个错误消息 Query XXX is invalid or contains errors 来举例说明