问题标签 [s4sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
141 浏览

s4sdk - SAP S/4HANA Cloud SDK 请求语言

我们正在使用 SDK 调用具有本地化属性的 API。如果我们设置了接受语言标头,则通过 POSTMAN 测试此 API,我们将获得本地化字段。是否有类似的方法可以使用 ODataQueryBuilder 获取本地化字段?

0 投票
2 回答
290 浏览

rest - REST 与 S/4HANA Cloud SDK:Tomee 原型项目在 POST/PUT/DELETE 上返回 403 禁止

我创建了一个 S4SDK 项目

我修改了HelloWorldServlet一个doPost方法,但我根本无法获得一个 POST 请求来访问它。我总是得到 HTTP 状态 403 禁止响应。

如何使用 S/4HANA Cloud SDK tomee 原型进行 REST 开发?

0 投票
1 回答
343 浏览

s4sdk - 无法在本地环境中运行 Java 应用程序

开发 Java 应用程序后,我运行了命令

mvn 干净安装

构建导致成功。现在,我尝试使用命令在本地环境中运行该应用程序

mvn scp:clean scp:push -pl 应用程序

它导致了如下错误。

在当前项目和插件组中找不到前缀“scp”的插件

有人可以帮帮我吗?

谢谢,桑克尔思

0 投票
2 回答
1312 浏览

s4sdk - POST 操作失败并出现错误 405 Method not allowed

我使用下面链接中描述的 S4SDK 开发了一个 Java 应用程序,并将其部署到 SAP Cloud 平台云代工环境。

https://blogs.sap.com/2017/12/07/step-20-with-s4hana-cloud-sdk-create-and-deep-insert-with-the-virtual-data-model-for-odata/

然后我使用 POSTMAN 工具访问了该应用程序。首先,我发出了 GET 请求application URL/businesspartners并获取了x-csrf-token. 如博客(上面的链接)中所述,我将其x-csrf-token用于with body 的POST操作。application URL/businesspartners

所以,当我发出一个帖子请求时,它给出了一个错误:405 METHOD NOT ALLOWED

下面是servlet:

这里是我的 web.xml 文件。

有人可以帮我吗?

0 投票
1 回答
3035 浏览

s4sdk - 将approuter部署到cloud Foundry后,应用程序崩溃了

我按照此 博客上的步骤 部署了在将 approuter 部署到 Cloud Foundry 后,该应用程序崩溃了。

下面是错误日志。

错误日志显示 package.json 文件丢失,但我将 package.json 文件放在 approuter 目录中。

下面是 manifest.json 文件中的代码。

下面是 package.json 文件

下面是工作目录的截图。

在此处输入图像描述

下面是approuter目录的截图

在此处输入图像描述

使用以下错误日志部署 cf push 命令时出现不同的错误。

2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] ERR /home/vcap/app/lib/utils/JsonValidator.js:30 2018-04-23T09
:27:34.02-0400 [APP /PROC/WEB/0] ERR throw new VError('%s%s: %s', 2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] ERR ^ 2018-04-23T09: 27:34.02-0400 [APP/PROC/WEB/0] ERR VError: environment-settings/tenantHostPattern: 格式验证失败(正则表达式必须包含捕获组)
2018-04-23T09:27:34.02-0400 [APP/PROC /WEB/0] JsonValidator.validate 处的错误 (/home/vcap/app/lib/utils/JsonValidator.js:30:11) 2018-04-23T09
:27:34.02-0400 [APP/PROC/WEB/0] Object.validateEnvironmentSettings (/home/vcap/app/lib/configuration/validators.js:106:15) 处的错误
2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] loadGroupedConfigurations (/home/vcap/app/lib/configuration/env-config.js:146:14) 处的错误
2018-04-23T09 :27:34.02-0400 [APP/PROC/WEB/0] Object.load 处的错误 (/home/vcap/app/lib/configuration/env-config.js:28:17)
2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] Object.module.exports.load (/home/vcap/app/lib/configuration.js:15:37) 的错误 2018-04 -23T09:27:34.02-0400 [APP/PROC/WEB/0] 引导时出现错误 (/home/vcap/app/lib/bootstrap.js:47:36) 2018-04-23T09:27:34.02-0400 [ APP/PROC/WEB/0] Approuter.start 处的 ERR (/home/vcap/app/approuter.js:58:13) 2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] ERR在对象。(/home/vcap/app/approuter.js:115:6) 2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] Module._compile (module.js:577:32) 处的错误
2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] Object.Module._extensions..js (module.js:586:10) 的错误
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!Linux 4.4.0-116-generic 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!argv "/home/vcap/deps/0/node/bin/node" "/home/vcap/deps/0/bin/npm" "start" 2018-04-23T09:27:34.04-0400 [APP/PROC/ WEB/0] 错误 npm 错误!节点 v6.13.1 2018-04-23T09
:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!npm v3.10.10 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!代码 ELIFECYCLE 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!@sap/approuter@2.10.0 开始:node approuter.js
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!退出状态 1 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!在@sap/approuter@2.10.0 启动脚本“node approuter.js”处失败。
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!确保您安装了最新版本的 node.js 和 npm。
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!如果你这样做了,这很可能是@sap/approuter 包的问题,​​2018-04-23T09
:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR! 不是 npm 本身。2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!告诉作者这在您的系统上失败:
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!节点 approuter.js 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!您可以通过以下方式获取有关如何为此项目打开问题的信息:2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!
npm 错误 @sap/approuter 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!或者,如果这不可用,您可以通过以下方式获取他们的信息:2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR! npm 所有者 ls @sap/approuter
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!上面可能有额外的日志输出。2018-04-23T09:27:34.05-0400 [APP/PROC/WEB/0] 错误 npm 错误!请在任何支持请求中包含以下文件:2018-04-23T09:27:34.05-0400 [APP/PROC/WEB/0] ERR npm ERR! /home/vcap/app/npm-debug.log

下面是执行 cf push 命令的输出。

正在上传 approuter... 正在从以下位置上传应用程序文件:C:\Users\sanke\Desktop\favLocation\approuter 正在上传 3.3M、4197 个文件 完成将 OK 绑定服务 my-xsuaa 上传到 org P1942820265trial_trial/space dev 中的 app approuter 为 sankeerthnarsina@gmail。 com...好的

在 org P1942820265trial_trial/space dev 中启动 app approuter 作为 sankeerthnarsina@gmail.com... 正在下载 nodejs_buildpack... 单元 09aeff0a-17aa-40ac-aee3-dcf077acd6c9 成功创建了实例 6485e7e3-0b40-4db3-8880-dba968c55583 的容器 下载的 nodejs_buildpack 单元09aeff0a-17aa-40ac-aee3-dcf077acd6c9 为实例创建容器 6485e7e3-0b40-4db3-8880-dba968c55583 下载应用程序包... 下载应用程序包(4.5M) -----> Nodejs Buildpack 版本 1.6.20 --- --> 安装二进制引擎.node (package.json): ^0.12.7 || ^4.4.0 || ^6.0.0 engine.npm (package.json): unspecified (use default) -----> 安装节点 6.13.1 下载 [ https://buildpacks.cloudfoundry.org/dependencies/node/node-6.13.1 -linux-x64-fc51b8dd.tgz] 使用默认 npm 版本:3.10.10 -----> 安装 yarn 1.5.1 下载 [ https://buildpacks.cloudfoundry.org/dependencies/yarn/yarn-v1.5.1-cd316572.tar.gz] 安装yarn 1.5.1 ----->创建运行环境NODE_ENV=production NODE_HOME=/tmp/contents135652367/deps/0/node NODE_MODULES_CACHE=true NODE_VERBOSE=false NPM_CONFIG_LOGLEVEL=error NPM_CONFIG_PRODUCTION=true ----->恢复缓存跳过缓存恢复(没有以前的缓存) -----> 构建依赖关系 检测到预构建(node_modules 已经存在)重建任何本机模块 agentkeepalive@2.0.5 /tmp/app/node_modules/agentkeepalive async@2.0.1 /tmp/app/node_modules /async lodash@4.17.4 /tmp/app/node_modules/lodash basic-auth@1.0.3 /tmp/app/node_modules/basic-auth command@2.9.0 /tmp/app/node_modules/commander graceful-readlink@1.0 .1 /tmp/app/node_modules/graceful-readlink 压缩@1.6。0 /tmp/app/node_modules/compression 接受@1.3.3 /tmp/app/node_modules/accepts negotiator@0.6.1 /tmp/app/node_modules/negotiator mime-types@2.1.16 /tmp/app/node_modules/mime -types mime-db@1.29.0 /tmp/app/node_modules/mime-db compressible@2.0.11 /tmp/app/node_modules/compressible vary@1.1.1 /tmp/app/node_modules/vary bytes@2.1.0 /tmp/app/node_modules/bytes on-headers@1.0.1 /tmp/app/node_modules/on-headers debug@2.2.0 /tmp/app/node_modules/compression/node_modules/debug ms@0.7.1 /tmp/ app/node_modules/compression/node_modules/ms connect@3.6.2 /tmp/app/node_modules/connect debug@2.6.7 /tmp/app/node_modules/debug ms@2.0.0 /tmp/app/node_modules/ms finalhandler@ 1.0.3 /tmp/app/node_modules/finalhandler parseurl@1.3.1 /tmp/app/node_modules/parseurl escape-html@1.0.3 /tmp/app/node_modules/escape-html encodeurl@1.0。1 /tmp/app/node_modules/encodeurl unpipe@1.0.0 /tmp/app/node_modules/unpipe on-finished@2.3.0 /tmp/app/node_modules/on-finished ee-first@1.1.1 /tmp/app /node_modules/ee-first statuses@1.3.1 /tmp/app/node_modules/statuses utils-merge@1.0.0 /tmp/app/node_modules/utils-merge cookie@0.2.2 /tmp/app/node_modules/cookie cookie -parser@1.3.5 /tmp/app/node_modules/cookie-parser cookie-signature@1.0.6 /tmp/app/node_modules/cookie-signature cookie@0.1.3 /tmp/app/node_modules/cookie-parser/node_modules /cookie express-session@1.15.3 /tmp/app/node_modules/express-session depd@1.1.1 /tmp/app/node_modules/depd uid-safe@2.1.4 /tmp/app/node_modules/express-session/ node_modules/uid-safe random-bytes@1.0.0 /tmp/app/node_modules/random-bytes crc@3.4.4 /tmp/app/node_modules/crc cookie@0.3。1 /tmp/app/node_modules/express-session/node_modules/cookie http-proxy-agent@1.0.0 /tmp/app/node_modules/http-proxy-agent agent-base@2.1.1 /tmp/app/node_modules/代理基础 semver@5.0.3 /tmp/app/node_modules/semver extend@3.0.1 /tmp/app/node_modules/extend https-proxy-agent@1.0.0 /tmp/app/node_modules/https-proxy-agent jwt-decode@2.0.1 /tmp/app/node_modules/jwt-decode lru-cache@4.0.0 /tmp/app/node_modules/lru-cache pseudomap@1.0.2 /tmp/app/node_modules/pseudomap yallist@2.1 .2 /tmp/app/node_modules/yallist mustache@2.2.1 /tmp/app/node_modules/mustache passport@0.3.2 /tmp/app/node_modules/passport pause@0.0.1 /tmp/app/node_modules/pause passport -strategy@1.0.0 /tmp/app/node_modules/passport-strategy request@2.81.0 /tmp/app/node_modules/request performance-now@0.2.0 /tmp/app/node_modules/performance-now stringstream@0.0。5 /tmp/app/node_modules/stringstream aws4@1.6.0 /tmp/app/node_modules/aws4 uuid@3.1.0 /tmp/app/node_modules/uuid tunnel-agent@0.6.0 /tmp/app/node_modules/tunnel -agent safe-buffer@5.1.1 /tmp/app/node_modules/safe-buffer strong-cookie@2.3.1 /tmp/app/node_modules/tough-cookie is-typedarray@1.0.0 /tmp/app/node_modules/ is-typedarray http-signature@1.1.1 /tmp/app/node_modules/http-signature sshpk@1.13.1 /tmp/app/node_modules/sshpk asn1@0.2.3 /tmp/app/node_modules/asn1 getpass@0.1。 7 /tmp/app/node_modules/getpass assert-plus@1.0.0 /tmp/app/node_modules/assert-plus dashdash@1.14.1 /tmp/app/node_modules/dashdash assert-plus@0.2.0 /tmp/app /node_modules/http-signature/node_modules/assert-plus jsprim@1.4.0 /tmp/app/node_modules/jsprim json-schema@0.2.3 /tmp/app/node_modules/json-schema verror@1.3。6 /tmp/app/node_modules/jsprim/node_modules/verror extsprintf@1.0.2 /tmp/app/node_modules/jsprim/node_modules/extsprintf har-validator@4.2.1 /tmp/app/node_modules/har-validator har-schema @1.0.5 /tmp/app/node_modules/har-schema ajv@4.11.8 /tmp/app/node_modules/ajv co@4.6.0 /tmp/app/node_modules/co json-stable-stringify@1.0.1 / tmp/app/node_modules/json-stable-stringify jsonify@0.0.0 /tmp/app/node_modules/jsonify aws-sign2@0.6.0 /tmp/app/node_modules/aws-sign2 hawk@3.1.3 /tmp/app /node_modules/hawk sntp@1.0.9 /tmp/app/node_modules/sntp hoek@2.16.3 /tmp/app/node_modules/hoek boom@2.10.1 /tmp/app/node_modules/boom cryptiles@2.0.5 /tmp /app/node_modules/cryptiles qs@6.4.0 /tmp/app/node_modules/qs json-stringify-safe@5.0.1 /tmp/app/node_modules/json-stringify-safe caseless@0.12.0 /tmp/app/ node_modules/caseless isstream@0.1。2 /tmp/app/node_modules/isstream form-data@2.1.4 /tmp/app/node_modules/form-data asynckit@0.4.0 /tmp/app/node_modules/asynckit combine-stream@1.0.5 /tmp/app /node_modules/combined-stream delay-stream@1.0.0 /tmp/app/node_modules/delayed-stream oauth-sign@0.8.2 /tmp/app/node_modules/oauth-sign forever-agent@0.6.1 /tmp/ app/node_modules/forever-agent request-stats@2.0.1 /tmp/app/node_modules/request-stats http-headers@3.0.1 /tmp/app/node_modules/http-headers next-line@1.1.0 /tmp /app/node_modules/next-line once@1.4.0 /tmp/app/node_modules/once wrappy@1.0.2 /tmp/app/node_modules/wrappy safe-regex@1.1.0 /tmp/app/node_modules/safe-正则表达式 ret@0.1.14 /tmp/app/node_modules/ret @sap/audit-logging@1.0.5 /tmp/app/node_modules/@sap/audit-logging moment@2.15.2 /tmp/app/node_modules/moment温斯顿@1.1。2 /tmp/app/node_modules/winston eyes@0.1.8 /tmp/app/node_modules/eyes pkginfo@0.3.1 /tmp/app/node_modules/pkginfo colors@1.0.3 /tmp/app/node_modules/colors async@ 1.0.0 /tmp/app/node_modules/winston/node_modules/async stack-trace@0.0.10 /tmp/app/node_modules/stack-trace cycle@1.0.3 /tmp/app/node_modules/cycle @sap/e2e- trace@1.1.3 /tmp/app/node_modules/@sap/e2e-trace @sap/logging@3.0.0 /tmp/app/node_modules/@sap/logging lodash@4.13.1 /tmp/app/node_modules/@ sap/logging/node_modules/lodash @sap/xsenv@1.2.7 /tmp/app/node_modules/@sap/xsenv verror@1.10.0 /tmp/app/node_modules/verror core-util-is@1.0.2 /tmp /app/node_modules/core-util-is extsprintf@1.3.0 /tmp/app/node_modules/extsprintf send@0.15.3 /tmp/app/node_modules/send range-parser@1.2.0 /tmp/app/node_modules/范围解析器 http-errors@1.6。1 /tmp/app/node_modules/http-errors inherits@2.0.3 /tmp/app/node_modules/inherits depd@1.1.0 /tmp/app/node_modules/http-errors/node_modules/depd setprototypeof@1.0.3 /tmp /app/node_modules/setprototypeof etag@1.8.0 /tmp/app/node_modules/etag mime@1.3.4 /tmp/app/node_modules/mime fresh@0.5.0 /tmp/app/node_modules/fresh destroy@1.0.4 /tmp/app/node_modules/destroy serve-static@1.12.3 /tmp/app/node_modules/serve-static tv4@1.2.7 /tmp/app/node_modules/tv4 urijs@1.16.1 /tmp/app/node_modules/ urijs ws@1.1.4 /tmp/app/node_modules/ws ultron@1.0.2 /tmp/app/node_modules/ultron options@0.0.6 /tmp/app/node_modules/options base64-url@1.2.1 /tmp/ app/node_modules/base64-url scmp@1.0.0 /tmp/app/node_modules/scmp uid-safe@2.0.0 /tmp/app/node_modules/uid-safe bcrypt-pbkdf@1.0.1 /tmp/app/node_modules /bcrypt-pbkdf tweetnacl@0.14。5 /tmp/app/node_modules/tweetnacl ecc-jsbn@0.1.1 /tmp/app/node_modules/ecc-jsbn jsbn@0.1.1 /tmp/app/node_modules/jsbn 安装任何新模块(package.json)—— ---> Caching build Clearing previous node cache Saving 3 cacheDirectories (default): - .npm (nothing to cache) - .cache/yarn (nothing to cache) - bower_components (nothing to cache) Exit status 0 Uploading droplet, build artifacts缓存...上传构建工件缓存...上传液滴...上传构建工件缓存 (14.3M) 上传液滴 (17.6M) Uploading complete Cell 09aeff0a-17aa-40ac-aee3-dcf077acd6c9 stopping instance 6485e7e3-0b40-4db3-8880-dba968c55583 Cell 09aeff0a-17aa-40ac-aee3-dcf077acd6c9 destroying container for instance 6485e7e3-0b40-4db3-8880-dba968c55583 Cell 09aeff0a -17aa-40ac-aee3-dcf077acd6c9 成功销毁容器,例如 6485e7e3-0b40-4db3-8880-dba968c55583

1 个实例中的 0 个正在运行,1 个正在启动 1 个实例中的 0 个正在运行,1 个崩溃 FAILED 错误重新启动应用程序:启动不成功

有人可以帮帮我吗?

0 投票
1 回答
218 浏览

s4sdk - 一旦后端微服务得到保护,应用程序就不会启动

在此处输入图像描述

我在深潜 9 甚至博客系列第 7 步中收到以下错误。只有当我使后端服务安全时才会出现问题。如果我只在 approuter 之前执行这些步骤,则应用程序加载没有任何问题。你能建议可能是什么原因吗?

问候阿伦。

附上日志:

cf 日志 --recent approuter-exchangerate

cf 日志 --recent 汇率

0 投票
1 回答
122 浏览

s4sdk - NEO 中的租户访问器

我曾尝试在 NEO 环境中使用 TenantAccessor。从 TenantAccessor.getCurrentTenant().getTenantId() 生成的 TenantId 作为 GUID 返回。但是,在 NEO 中,我无法将 GUID 映射到子帐户。期望是获得子账户名称。

请让我知道子帐户和租户的含义之间的区别。

0 投票
1 回答
735 浏览

multi-tenant - TenantAccessor.getCurrentTenant() 抛出 TenantNotAvailableException:无法获取当前租户:没有可用的请求

所以我关注了 https://blogs.sap.com/2017/12/20/deep-dive-6-with-sap-s4hana-cloud-sdk-extend-your-cloud-foundry-application-with-tenant-aware -持久性/

我有一个2.0.1.RELEASE使用 xs2 库 OAuth 2.0 安全性在 SCP 中运行的 Spring Boot 应用程序。如果我在 Postman 中创建访问令牌并直接调用我的 @RestController(到达数据库),我会从 TenantAccessor.getCurrentTenant() 收到此错误:

我不明白为什么当我显然将带有包含不记名令牌的 Authorization 标头的请求直接发送到我的@RestController.

我有一个想法通过用 注释TenantIdentifierResolver类(包含 TenantAccessor)来解决这个问题@RequestScope,但这失败了,因为在初始化应用程序时找不到请求上下文(entityManagerFactory)。

0 投票
1 回答
586 浏览

s4sdk - 通过 Cloud SDK 连接 S/4 Hana 失败

我正在关注https://blogs.sap.com/2017/05/21/step-4-with-sap-s4hana-cloud-sdk-calling-an-odata-service/comment-page-上的 OData 教程1/当我尝试使用DefaultBusinessPartnerService.

相关的代码是:

我的ErpQueryEndpoint配置如下:

其中hostport和已替换为正确的值UsernamePassword

当我查询时,http://localhost:8080/s4integration-application/businesspartners我收到以下错误:

SAP 系统上似乎没有配置端点(它是 S/4 Hana 系统)。我不确定是否必须URL在主机和端口之外添加其他内容,或者是否必须在 SAP 系统上完成一些其他配置。

0 投票
1 回答
100 浏览

java - Spring RestController 中 com.sap.cloud.sdk.s4hana.connectivity.rfc.BapiQuery 的使用

我正在尝试从 Spring REST 控制器调用 BAPI。对后端系统的调用工作正常,但是返回ResponseEntity导致错误getOutputStream()已为此响应调用”

任何想法为什么会出现这个错误?