云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

阿里云_西安大型网站建设_免费

小七 141 0

新版本的saps/4hanacloudsdkjava库从今天开始提供。您可以将依赖项更新到版本2.2.0,并使用Maven Central的新版本。我们还发布了开箱即用的连续交付产品的v9版本,包括一个现成的Jenkins服务器和一个完整的交付工具包。在这篇博文中,我们将带您浏览这些版本的亮点。要获得完整的概述,请访问我们的Java库和持续交付工具包的发行说明。发行说明还包括到目前为止我们所有发行版的更改日志。在文章的最后,您将看到一组关于如何更新到新版本的说明。

Java虚拟数据模型(VDM)的改进

我们通过允许透明地转换自定义字段值和覆盖OData服务路径来改进Java VDM。

Java VDM以流畅的方式表示SAP S/4HANA云系统的OData服务以及易于使用的javaapi。OData请求被发送到saps/4hanacloud所期望的URL。对于内部部署的saps/4HANA系统,相同的OData服务可能驻留在不同的定制服务路径上。对于版本2.2.0,我们允许在VDM中手动指定OData服务上的服务路径,以覆盖默认服务路径,以防OData服务可以在不同于SAP S/4HANA Cloud中默认路径的路径上访问。

所有VDM服务都提供了一个新的方法,使用ServicePath(字符串)指定将覆盖默认路径的自定义服务路径服务路径。返回的新服务实例将为所有OData请求使用提供的服务路径。该方法保持原始服务实例不变。例如,请参阅BusinessPartnerService和以下代码片段:

如果您需要知道默认服务路径,所有VDM服务接口都提供一个名为DEFAULT\u service\u PATH(example)的新静态字段,其中包含来自SAP S/4HANA云的默认服务路径的值,如果未指定自定义服务路径,则使用该值。

您可以使用SAP S/4HANA的应用内扩展选项向标准OData服务添加自定义字段。以前版本中的javavdm已经允许检索和修改VDM实体的自定义字段。这些方法总是提供并期望Java类型中的自定义字段的值,该值默认情况下是从Olingo库返回的,例如映射OData类型Edm.DateTime文件到日历。如果您想在Java中使用较新的LocalDateTime,则必须在将值提供给Java VDM之前和之后手动转换该值。

现在,您可以在定义自定义字段时使用类型转换器,以便从特定类型转换到特定类型,而不是默认的OData类型。创建适当的EntityField子类的实例来表示自定义字段并提供类型转换器。使用此EntityField表示的getter和setter将自动使用转换器。

请参阅下面使用LocalDateTimeCalendarConverter将日历转换为LocalDateTime的示例。LocalTime和ZonedDateTime也有类似的转换器。

基于JWT的请求上下文异步执行

SAP S/4HANA Cloud SDK在许多情况下自动识别和验证当前租户和用户。这种自动处理在许多方面都很有帮助,因为它使开发人员从处理许多低级活动中解放出来,而且它也是SDK许多有用功能的先决条件,例如租户感知的恢复能力和缓存、目标处理和连接等。在cloudfoundry环境中,这是基于jsonweb令牌(JWT)的。作为一个先决条件,使用saps/4hanacloudsdk的代码必须在RequestContext中运行。通常,此请求上下文是从HttpServletRequest自动启动的。但是,特别是在异步执行场景中,实际请求可能不可用。例如,在基于事件的体系结构中,使用事件的系统不再在原始请求中执行。

SAP S/4HANA Cloud SDK现在提供了一种在请求上下文中执行代码的简单方法,该请求上下文由手动提供的JWT和JwtBasedRequestContextExecutor构成。新类允许指定JWT并执行代码,就好像JWT是作为RequestContext的一部分提供的一样。注意,JWT令牌将被验证以确保它是有效的,返利app下载,但在它过期的情况下不会自动刷新。依赖代码需要处理过期的令牌(由AuthTokenAccessException指示,原因为类型网站auth0.jwt.exceptions.TokenExpiredException异常).

下面的代码片段解释了如何使用新的executor,假设变量encodedJwt持有JWT令牌,例如,已从事件的有效负载中检索到。

进一步改进

我们已将用于服务开发的SAP云平台SDK的依赖项从1.17.1升级到1.18.0。

版本2.2.0更新了其他几个依赖项,以解决这些外部库中已知的安全漏洞,尽管这些漏洞不影响SAP S/4HANA Cloud SDK直接。

您现在可以为查询添加参数,如果查询是通过HTTP发送的,那么查询将作为HTTP头发送。基本查询类的withCustomHttpHeader方法提供了一个fluent API,用于添加基于单个字符串的键值对,大数据挖掘,而带有SameCustomHttpHeaderAs的方法从另一个查询复制头参数。只有通过HTTP发送查询时才会发送头,否则将忽略。例如,通过SOAP发送到SAP S/4HANA Cloud的BAPI查询将包括头参数,但不包括使用JCo事务的查询。