问题标签 [sap-smp]

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 回答
504 浏览

android - 在没有 Cordova 的情况下将 SAPUI5 应用程序部署到应用程序商店

是否可以部署 SAPUI5 应用商店?

我不想使用 Cordova 构建,因为它是一个商业应用程序。

我有哪些选择?

0 投票
2 回答
1706 浏览

cordova-plugins - How to handle SAP Kapsel Offline app OData conflicts properly?

I build an app that is able to store OData offline by using SAP Kapsel Plugins. More or less it's the same as generated by WEB ID or similer to the apps in this example: https://blogs.sap.com/2017/01/24/getting-started-with-kapsel-part-10-offline-odatasp13/

Now I am at the point to check the error resolution potential. I created a sync conflict (chaning data on the server after the offline database was stored and changed something on the app and started a flush).

As mentioned in the documentation I can see the error in ErrorArchive and could also see some details. But what I am missing is the information of the "current" data on the database.

In the error details I can just see the data on the device but not the data changed on the server.

For example:

  1. Device is loading some names into offline store
  2. Device is offline
  3. User A is changing some names
  4. User B is changing one of this names directly online
  5. User A is online again and starts a sync
  6. User A is now informend about the entity that was changed BUT:
    • not the content user B entered

I just see the "offline" data.

Is there a solution to see the "current" and the "offline" one in a kind of compare view?

Please also note that the server communication is done by the Kapsel Plugin and not with normal AJAX calls. This could be an alternative but I am wondering if there is no smarter way supported by the API?

Meanwhile I figured out how to load the online data (manually). This could be done by switching http handler back to normal one.

Anyhow this does not look like a proper solution and I also have the issue with the conflict log itself. It must be deleted before any refresh could be applied.

I could not find any proper documentation for that. Also ETag handling is hardly described in SAPUI5 and SAP Kapsel documentation.

0 投票
2 回答
265 浏览

android - 从本地 SQL 服务器获取数据到 SAP HANA Cloud Platform 中的移动应用程序

我已经将云连接器安装到安装了 SQL 的服务器上,并且我有几个数据库。

我想在 SHCP 上的 SMP 中创建一个原生 Android 应用程序,并使用存储在我的本地 SQL 服务器中的一些数据。

我必须写一个 ODATA 服务提供者吗?Cloud Connector 是否自动将 DB 中的数据作为 OData 提供?

我有使用 MBO 的 SMP 2.3 的经验,但我不明白新平台是如何工作的。是否有真正有用的文档/教程?

0 投票
2 回答
255 浏览

android - 使用 Android SMP SDK 数据请求离线数据非常慢

我们正在使用 SAP Mobile Platform SDK 3.0 SP14 实施原生 Android 应用程序。该应用程序具有多个离线商店,可在设备上本地保存主数据。只会请求数据,不会获取数据,因为设备上的数据不会被更改。每个商店都有相同的简单实体类型,包含 4 个字段。最后一个是字符串字段,其长度可达 150 个字符。要访问商店中的离线数据,应用程序会一次选择所有数据。但是这个请求非常慢(每秒约 1,000 个项目)。我们最大的商店有 500,000 件商品,因此请求该商店的持续时间为 500 秒。有没有办法加快对大型线下商店的请求?

0 投票
1 回答
386 浏览

android - 如何在 Android 中为 MAFLogon 创建自定义 UI?

我在使用 SAP SDK 为 HANA 云平台上的 SAP Mobile 构建的应用程序中使用 MAFLogon 作为我的登录屏幕。

上面的代码创建了一个内置的登录 Activity。如何创建自定义活动或自定义此活动?(更改标志、颜色等)

0 投票
0 回答
899 浏览

basic-authentication - SAP 移动平台中的基本身份验证

我正在努力在我们的 SMP 服务器上配置身份验证,以便我们的 OpenUI5 移动应用程序的用户可以针对我们现有的后端系统进行身份验证。我们能够使用 SMP 3.0.3 使其工作,但不能使用较新的 SMP 3.0.10.11。

要求:

  • 我们的移动应用程序需要允许多个不同的后端用户使用同一设备登录。它使用 HTTP 基本身份验证发送凭据,即 HTTP 请求中的“Authorization:Basic”标头。

  • 后端系统提供具有 HTTP 基本身份验证的 OData 服务。没有会话,即用户在每个请求上都通过请求的 Authorization 标头进行身份验证,并且在响应中不返回会话 cookie 或 SSO cookie。

我们需要在 SMP 上尝试两种不同的配置方法,但均未成功。

使用“无身份验证质询”

在设置中,我们创建了一个名为“No Auth”的安全配置文件,并将“No Authentication Challenge”配置为唯一的身份验证提供程序,并根据需要进行设置。

在应用程序中: * 在“后端”下,我们配置了端点(http://172.18..../),没有勾选“允许匿名访问”,将 Rewrite Mode 设置为“No Rewriting”,并添加了一个“基本”的 SSO 机制。* 在“身份验证”下,我们选择了“无身份验证”配置文件并取消选中“检查模拟”。

我们打开应用程序并成功注册,无需提供用户名或密码。注册反映为用户名“nosec_identity”。

然后,我们尝试使用后端系统的有效用户名 (admin) 和密码登录应用程序。应用程序对 SMP 服务器进行服务调用,包括在基本身份验证标头中的这些凭据(授权:基本 YW......=)。

到目前为止一切顺利,但是 SMP 服务器返回了 403 Forbidden 错误,而没有将请求发送到后端系统。SMP 调试日志给出的原因是“没有为 not allowAnonymousAccess 端点找到匹配的 SSO 凭据”。我不知道为什么它不能使用为端点配置的“基本”SSO:

#2.0#2017-07-18 11:49:52 AM#WARNING#RequestResponse#403##Proxy#1500371392748018#1b6118d6-40ea-49bf-90f8-6358de7a70c4#com.j5.app#com.sap.mobile.platform。 server.proxy.core.handler.DirectProxy:handleException#nosec_identity#######2257#####Exception 在尝试设置匿名访问凭据时捕获#

...

#2.0#2017-07-18 11:49:52 AM#FATAL#Proxy####1500371392748000#1b6118d6-40ea-49bf-90f8-6358de7a70c4#com.j5.app#DirectProxy:fireRequest#nosec_identity##### ##2257#####Forbidden 未找到与 not allowAnonymousAccess 端点 [com.j5.app] 匹配的 SSO 凭据。: {"endPoint":"http.../odataservice/inspection_rounds/$metadata?0.6973737435488696","re​​questURL":"http:...:8080/com.j5.app/odataservice/inspection_rounds/$metadata"," miscInfo":"代理请求响应","source":"SMP 服务器:代理","version":"1.0","re​​sponseCode":"403"}#

使用“HTTP/HTTPS 身份验证”

在设置中,我们创建了一个名为“HTTP HTTPS”的安全配置文件,并将“HTTP/HTTPS 身份验证”配置为唯一的身份验证提供程序,并将其设置为可选。我们还在后端将其 URL 设置为执行基本身份验证的有效 URL,并且没有在设置中设置任何其他字段。

在应用程序中: * 在“后端”下,我们配置了端点 URL,选中了“允许匿名访问”(这样我们就可以在不为特定用户提供凭据的情况下进行注册),将重写模式设置为“不重写”,并添加了一个“基本”的 SSO 机制。* 在“身份验证”下,我们选择了“HTTP HTTPS”配置文件并取消选中“检查模拟”。

我们打开应用程序并成功注册,无需提供用户名或密码。此注册反映为用户名“匿名”。尽管注册成功,但 SMP 日志包含用户名“NA”的以下警告:

#2.0#2017-07-17 04:43:59 PM#WARNING#ApplicationSettings###Security#1500302639903001#9a43b81d08684a42895450ba54dc812d#com.j5.app#com.sybase.security.http.HttpAuthenticationLoginModule:login###### ##708#####匿名身份验证不受支持。#

#2.0#2017-07-17 04:43:59 PM#WARNING#Registration###Security#1500302639669001#9a43b81d08684a42895450ba54dc812d#com.j5.app#com.sybase.security.http.HttpAuthenticationLoginModule:login###### ##730#####匿名身份验证不受支持。#

然后,我们尝试使用后端系统的有效用户名 (admin) 和密码登录应用程序。应用程序对 SMP 服务器进行服务调用,将这些凭据包含在基本身份验证标头中。

同样,SMP 服务器返回 403 Forbidden 错误,而不将请求发送到后端服务器。

对于用户名“NA”,SMP 日志包含以下警告:

#2.0#2017-07-17 04:45:58 PM#ERROR#RequestResponse###Foundation#1500302758402001#92cd519b-39aa-4bce-a4e8-84cf1fc12364#com.j5.app#com.sap.mobile.platform.server .foundation.security.filter.AuthenticationFilter:doFilter########713#####应用程序连接的注册用户anonymous与登录用户admin不匹配#

因此,如果我们匿名注册,应用程序似乎无法在登录时提供用户名。

任何帮助,将不胜感激。

0 投票
0 回答
22 浏览

sapui5 - 错误:cordova 构建 android 项目错误!混合应用工具包安装

我们在安装过程中安装 HAT 我们收到此错误

错误:
cordova 构建 android 项目错误!
ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_40
系统找不到指定的路径。
错误:cmd:命令失败,退出代码为 1

请帮我

0 投票
1 回答
783 浏览

android - 更新到较新的 Cordova 和 SMP 版本后,构建的 apk 未更新

我正在使用 SMP 和 Cordova for Android 构建一个 Hydrid (Kapsel) 移动应用程序。生产 apk 通过 Airwatch 部署给客户。

该应用程序最初是基于 SP07 和 Cordova 4.2.1 构建的。
现在,我正在尝试将技术堆栈升级到SP14Cordova 6.3.1

但是,我在更新以前版本的应用程序时遇到了问题。最初的生产(发布)是一个调试 apk。但是现在,当我安装更新的 apk 时,它显示了一些构建签名冲突问题。包名相同,版本号递增。

早期的应用程序是一个调试 apk,我也在生成调试 apk。不过,该应用程序并未安装在前一个上。

0 投票
1 回答
343 浏览

swift - 适用于 iOS 的 SMP SDK 用于在 Swift 上进行开发

如何通过 sdk 建立与 SMP 服务器的连接以进行 ios 开发(Swift 语言)。

我使用必要的配置(如连接、主机、端口和域以及安全配置文件)修改了示例 odataconnection 文件。但那是基于objectiveC的。

为 swift 请求类似的示例代码,以便我可以在 SMP 中建立设备注册和用户登录

谢谢, 拉杰卡马尔

0 投票
1 回答
985 浏览

sapui5 - net::ERR_CONNECTION_REFUSED(网页不可用)IONIC V4 APP

我在我的离子应用程序中添加了 kapsel 插件。并在应用程序中生成并安装了 apk。我收到此错误

请查收附件