我在本地机器中设置了Worklight Studio并开发了一个示例应用程序.我需要将该应用程序部署到在同一网络(LAN)中的另一台PC中设置的Worklight Server.
我对移动应用程序开发没有先验知识,所以这些听起来可能是一个天真的问题.基本上我的要求是开发一个可以在Android,Blackberry和iOS等多个平台上运行的应用程序.因此,我想知道Worklight适合这项工作的情况.基本上我想知道:
问题1:Worklight在获取之前应该知道的技术或功能问题是什么.
Q2:它比PhoneGap好吗?
问题3:除了Java之外,一个人在Worklight上工作所需的基本技能是什么.
问题4:是否存在可能特定于Worklight应用程序的硬件要求,并且可能导致开发的移动应用程序无法在手机上运行?
我会感激任何可以帮助我的人.
提前致谢.
我正在 IBM Worklight 6.2 中开发一个针对 Android 和 IOS 的项目。我的项目应该使用基于 X509 证书的身份验证。我使用的是 Windows 7 操作系统,并按照此 PDF 操作
我已经在Windows中安装了openssl-0.9.8h-1-setup,所以我在C:\Program Files (x86)\GnuWin32\share中得到了openssl.cnf。借助此配置文件,我已成功创建根 CA。接下来,当我尝试签署签名 CA 时,它会抛出该消息。命令和消息如下:
openssl ca -in signingca\signing_ca.csr -out signingca\signing_ca.crt -keyfile rootca\root_ca_key.pem -cert rootca\root_ca.crt -config openssl.cnf -name root_authority_ca_config -extensions signing_authority -md sha512 -days 365 -passin pass:passRoot
Using configuration from openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName :PRINTABLE:'Development Signing CA' …Run Code Online (Sandbox Code Playgroud) 我需要能够在java适配器中获取用户登录用户ID /密码.阅读了很多文章之后,最好的方式就是打电话
WL.Server.getActiveUser来自从java适配器调用的javascript函数.所以,我在http适配器上添加了一个getIdentity函数来验证我们的应用程序.我已经验证了getActiveUser在登录页面调用的身份验证功能中工作...
当我调用getIdentity函数时,getActiveUser使用相同的身份验证领域返回null.我在application_descriptor文件中设置了域.不知道我还有什么要做的.有任何想法吗?
function performAuthentication(username, password) {
WL.Logger.info("In performAuthentication: username = " + username + " password = " + password + "Time = " + new Date(new Date().getTime()).toLocaleString());
var invocationData = {
adapter : 'BluePages',
procedure : 'authenticate',
parameters : [username, password]
};
var invocationResult = WL.Server.invokeProcedure(invocationData);
var fullName = invocationResult.result.fullName;
if (invocationResult.result.success == false) {
return {
authRequired: true,
loginPassed: false
};
}
else {
userIdentity = {
userId: username,
credentials: password,
displayName: username, …Run Code Online (Sandbox Code Playgroud) 我有一个问题是在移动应用程序上填充整个屏幕的表格(现在,我只在Android上实现它).该页面仅包含此表,它只显示其内容的大小.我尝试使用并放入应用程序的几乎每个部分,但它不起作用.但有一个细节:BODY的100%是功能性的:背景颜色应用于整个屏幕; 但我需要整个表来伸展.html, body { min-height: 100%}height= 100%
编辑:我正在使用Eclipse,我使用的是IBM Worklight Framework.
EDIT2:宽度正常.填充高度是个问题.
EDIT3:Owen为我提供的视口设置有点令人困惑.它没有改变任何东西,但我觉得我不应该把它贴在我做的地方(主页.html).代码:<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
我想在浏览器中预览我的Worklight应用程序,但是当我在浏览器中打开localhost:8080/console时出现此错误:
HTTP状态404 - /console
类型状态报告
消息/控制台
description请求的资源(/ console)不可用.
Apache Tomcat/7.0.21
我正在使用WorkLight 5.0.6开发移动应用程序,我想在适配器返回的响应中附加一个安全cookie.
我们没有使用WorkLight身份验证领域,因为我们不希望将会话"绑定"到群集生产环境中的特定WL服务器.我们通过调用登录适配器对会话进行身份验证,该适配器根据后端系统对用户详细信息进行身份验证.作为来自登录适配器调用的响应的一部分,我想创建一个包含经过身份验证的信息的安全cookie(仅限http),并将其附加到从登录适配器返回的响应中.cookie也应该包含在从应用程序调用服务器的后续Adapter中.
问候,
Tom.
Run Code Online (Sandbox Code Playgroud) 在我的Linux机器上,
当我将Worklight 6.1 的WorklightStarter项目导入到全新的Eclipse环境(从Eclipse MarketPlace安装的Worklight Studio)时,我收到以下错误,因此项目未导入:
[2014-02-11 12:54:25] FWLPL0026E:将WorklightStarter项目从V6.1.0.0迁移到V6.1.0.0失败(/tmp/wlBuildResources/6.1.0.00.20131219-1900/environments/versions.properties(没有相应的文件和目录))
当我创建自己的项目并尝试构建它时,我收到以下错误:
[2014-02-12 07:22:20] FWLST1037W:要求构建'mobilewebapp',但没有优化文件夹.[2014-02-12 07:22:21] FWLST1040E:常见构建失败:参数'目录'不是目录[2014-02-12 07:22:21] FWLST1040E:desktopbrowser构建失败:参数'目录'不是目录[2014-02-12 07:22:22]应用程序'worklightStarter',所有环境构建完成.[2014-02-12 07:22:27]参数'目录'不是目录
如果我在Windows中的Eclipse中安装插件并执行相同的操作,它就可以了!
所以我认为问题似乎只出现在Linux中?我猜一个问题是路径格式'\'vs'/'?或者是其他东西?
现在,CloudantSync(CDTDataStore)可以使用CloudantSyncEncryption加密localstore. MobileFirst Platform Foundation的IMFData增加了安全性并依赖于CloudantSync.
有没有IMFData和CloudantSync加密的组合方式?
IMFData创建如下的本地数据存储.
IMFDataManager *manager = [IMFDataManager sharedInstance];
NSString *name = @"automobiledb";
NSError *error = nil;
//Create local store
CDTStore *store = [manager localStore:name error:&error];
Run Code Online (Sandbox Code Playgroud)
CloudantSync创建加密的本地数据存储,如下所示.
// To create an encrypted datastore, create your datastore using an object
// implementing the CDTKeyProvider protocol
CDTDatastoreManager *manager =[[CDTDatastoreManager alloc] initWithDirectory:path error:&error];
CDTEncryptionKeychainProvider *provider = [CDTEncryptionKeychainProvider
providerWithPassword:@"blahblah"
forIdentifier:@"default"];
CDTDatastore *encrypted = [manager datastoreNamed:@"encrypted_datastore"
withEncryptionKeyProvider:provider
error:&error];
Run Code Online (Sandbox Code Playgroud) 我正在使用MobileFirst CLI 8.0.0-2016070716,Java 1.8.0_91(如果重要的话,在Mac OS X 10.11.6上).我一直在努力通过本教程创建使用MobileFirst CLI的Java适配器.
按照创建,构建和部署适配器的步骤后,打开操作控制台并选择刚刚部署的适配器 - >资源 - >"查看Swagger文档".当我在任何操作上按"试用"时,我收到"401 - 未经授权"的响应代码.
知道可能是什么问题吗?