标签: ibm-mobilefirst

如何使用Worklight使用serverside javascript发出HTTPS请求?

我正忙着使用IBM worklight,我正在尝试创建一个适配器来从Google Places API提供一些数据.

我想打电话给这个网址:

https://maps.googleapis.com/maps/api/place/search/json?key=AIzaSyCTlPms1pvhzeoRrBao5qW-DJMI_CWcbAM&location=52.0700,1.1400&radius=10000&sensor=false&name=coffee
Run Code Online (Sandbox Code Playgroud)

执行此URL在浏览器中工作正常,并显示我试图通过Worklight获取的一些不错的JSON.

Worklight适配器是用Javascript创建的,这是我到目前为止所拥有的:

function getCoffeeHouses() {

    var input = {
        method : 'get',
        returnedContentType : 'json',
        path : 'maps/api/place/search/json',
        parameters : {
            'key'       :   'AIzaSyCTlPms1pvhzeoRrBao5qW-DJMI_CWcbAM',
            'location'  :   '52.0700,1.1400',
            'radius'    :   '10000',
            'sensor'    :   'false',
            'name'      :   'coffee' 
        }
    };

    var response = WL.Server.invokeHttp(input);

 // Extract latitude and longitude from the response.
    var type = typeof response; 
    if ("object" == type) {
        if (true == response["isSuccessful"]) {
            // Return JSON …
Run Code Online (Sandbox Code Playgroud)

javascript https google-places-api ibm-mobilefirst

8
推荐指数
1
解决办法
2967
查看次数

是否有工具将现有的Cordova 3插件安装到Worklight 6.1应用程序中?

Worklight 6.1使用Cordova 3.1.该文档显示了如何创建自己的Cordova插件,但我找不到有关如何将现有Cordova 3样式插件安装到Worklight项目中的任何信息.

我尝试安装JavaScript和本机组件,并编辑类似于我在Worklight 6.0中所做的config.xml,这在某些情况下有效.

但我发现Cordova 3样式插件通常是在考虑Cordova插件管理实用程序的情况下编写的,并不一定只是按原样添加到项目中.

我遇到的特殊问题是在添加到dojo项目的插件代码中使用require()(期望cordova.require()).require()正在解决AMD require(),它很快就加载了"cordova/exec"

当Cordova插件管理工具用于将插件添加到Cordova项目时,它们会自动将插件的javascript包装在cordova.define()函数中,该函数将require()(以及其他一些函数)作为参数传递.所以Cordova 3插件的标准是使用require()而没有资格.

我知道每次使用第三方插件时我都可以手动解决此问题,但是想知道是否有任何指南,工具或做法可以将现有的Cordova 3样式插件添加到Worklight项目中

cordova ibm-mobilefirst

8
推荐指数
1
解决办法
452
查看次数

在iOS 7.1上获取"无法安装应用程序,因为证书无效"错误

当我的客户端将他们的设备更新到iOS 7.1,然后尝试从AppCenter更新我们的应用程序时,我收到了上述错误.

经过一番搜索,我在这里发现了一个类似问题的帖子.但是,由于我在客户端使用AppCenter更新应用程序的环境中,我无法使用USB插件并为他们安装应用程序.

在支持发布之前,是否有通过AppCenter进行下载的解决方法?

ios7.1 ibm-mobilefirst

8
推荐指数
1
解决办法
1万
查看次数

Cordova.exec函数不运行本机函数

我尝试在IBM工作灯中制作一个cordova插件.

使用Javascript:

HelloWorld = {     
  sayHello: function (success, fail, resultType) { 
      Cordova.exec( 
          success, 
          fail, 
          "HelloWorld", 
          "HelloWorld", 
           [resultType]
      );
   }
};

function callFunction() {
    HelloWorld.sayHello(basarili, basarisiz, "sinan");
}
Run Code Online (Sandbox Code Playgroud)

Java的:

package com.Cordova1;
import org.apache.cordova.api.CordovaPlugin;
import org.json.JSONArray;

import android.util.Log;
public class HelloWorld extends CordovaPlugin {
    public boolean execute(String arg0, JSONArray arg1, String arg2) {
        Log.d("HelloPlugin", "Hello, this is a native function called from PhoneGap/Cordova!"); 
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我调用callFunction时,我看到失败函数有效.此外,我在日志窗口中看不到任何HelloPlugin消息.我能做什么 ?

plugins cordova ibm-mobilefirst

7
推荐指数
1
解决办法
2万
查看次数

IBM Worklight - 如何在Android中启用WebView调试?

由于Chrome有一个很棒的远程调试功能,我想知道这有助于在Worklight中进行开发.

在以下文档中,他们说要调试WebView的内容,您需要通过调用WebView类上的静态方法setWebContentsDebuggingEnabled在应用程序中以编程方式启用它.

我在哪里可以找到这个课程,这在Worklight中有用吗?

https://developers.google.com/chrome-developer-tools/docs/remote-debugging?hl=nl#debugging-webviews

debugging android webview google-chrome-devtools ibm-mobilefirst

7
推荐指数
1
解决办法
4889
查看次数

如何修复Worklight项目找不到MBean?

在服务器上部署Worklight项目时遇到问题.它显示以下错误消息:

FWLSE3041E: No MBean found for Worklight project 'MyProject'. Possibly the Worklight runtime web application for Worklight project 'MyProject' is not running. If it is running, use JConsole to inspect the available MBeans.
Run Code Online (Sandbox Code Playgroud)

当我试图预览我的应用程序时,它显示以下消息:

SRVE0777E: Exception thrown by application class 'com.worklight.core.auth.impl.AuthenticationFilter.verifyServletInitialized:420'
Run Code Online (Sandbox Code Playgroud)

worklight-server worklight-runtime ibm-mobilefirst

7
推荐指数
1
解决办法
7090
查看次数

输出延迟了Cordova插件

我写了一个Cordova插件来下载文件并将其保存在数据文件夹中.除了返回值之外,一切正常.我想显示一个进度条,需要获取当前进度.这是我的代码中的相关部分:

 while ((readed = is.read(buffer)) > 0) {
     fos.write(buffer, 0, readed);
     totalReaded += readed;

     int newProgress = (int) (totalReaded*100/fileSize);
     if (newProgress != progress) {
         progress = newProgress;
         PluginResult res = new PluginResult(PluginResult.Status.OK, progress);
         res.setKeepCallback(true);
         callbackContext.sendPluginResult(res);
     }
  }
Run Code Online (Sandbox Code Playgroud)

我的JavaScript:

downloader.prototype.writeFile = function (downloaderSuccess, downloaderFailure, options) {
    cordova.exec(downloaderSuccess, downloaderFailure, "downloader", "writeFile", options);
};

function downloaderSuccess(progress) {
    WL.Logger.debug("Result: "+progress)
}

function downloaderFailure(error) {
    WL.Logger.error("Error: "+error);
}
Run Code Online (Sandbox Code Playgroud)

发生的情况是只有在下载文件才会输出进度.如果我将PluginResult.Status设置为NO_RESULT,它将不会输出任何内容.

android cordova ibm-mobilefirst

6
推荐指数
1
解决办法
1775
查看次数

错误:无法两次加载此JVM TI代理,请检查Java命令行中是否有重复的jdwp选项

我正在使用Eclipse插件“ IBM Worklight Developer Edition”。

我正在尝试调试适配器过程代码。为此,我尝试进行一些调试配置,但是它说服务器已经在运行(禁用调试按钮)。因此,我停止了服务器,然后再次尝试调试配置,这次启用了按钮,但是在控制台上我收到了“ 错误:无法两次加载此JVM TI代理,请在Java命令行中检查重复的jdwp选项。

请帮助我进行调试配置。

http://i.stack.imgur.com/fGJQG.png

worklight-adapters worklight-server ibm-mobilefirst

6
推荐指数
2
解决办法
1万
查看次数

无法将HelloWorld应用程序部署到MobileFirst Development Server

我在第一个混合应用教程中构建/运行HelloWorld应用程序时遇到了一些麻烦.

当我尝试在MobileFirst Development Server上运行默认的HelloWorld应用程序时,服务器启动并且似乎在MobileFirst Application Builder有机会完成运行之前再次停止(没有错误).这会导致应用程序无法部署,并显示以下错误消息:

[2015-01-23 14:03:12]             Failed to deploy application 'HelloWorld' to MobileFirst Server: org.apache.http.conn.HttpHostConnectException: Connect to 9.175.194.35:10080 
[/9.175.194.35] failed: Connection refused: connect 
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Windows 7(64位)上的Eclipse Kepler SR2(64位).我使用从Oracle下载的Java 7 JDK和从Eclipse Marketplace安装的IBM MobileFirst Platform Studio(6.3.0).

为了避免长/复杂的路径名,我已经将eclipse安装到C:\ eclipsekepler并使用工作空间目录C:\ workspace.为了确保Eclipse使用正确的JDK,我将以下内容放在我的eclipse.ini文件中(在vmargs之前):

-vm
C:\Program Files\Java\jdk1.7.0_75\bin\javaw.exe
Run Code Online (Sandbox Code Playgroud)

在服务器配置中,我将主机名设置为我机器的IP地址9.175.194.35(通过运行ipconfig报告).

以下是完整的控制台日志:

MobileFirst Console output:

[2015-01-23 14:01:25]             Starting build process: application 'HelloWorld', all environments 
[2015-01-23 14:02:53]             Application 'HelloWorld' with all environments build finished.
[2015-01-23 14:02:53]             Deploying application 'HelloWorld' with all environments to MobileFirst Server... 
[2015-01-23 14:03:12]             Failed …
Run Code Online (Sandbox Code Playgroud)

ibm-mobilefirst mobilefirst-studio

6
推荐指数
1
解决办法
3389
查看次数

IBM MobileFirst证书固定最佳实践

我们正在开发IBM MobileFirst 7.1 Hybrid移动应用程序,并计划使用证书固定功能.

我们可以发现在IBM官方网站关于IBM MobileFirst网站的SSL证书钉扎信息:这里是IBM知识中心的一个帖子,并在这里是一个教程它的样本项目/代码

所有这些资源都很棒,但我有一些问题:

  • 当我的应用程序是混合应用程序时,使用Android和iOS的本机证书固定实现有什么好处吗?
  • 如果我使用混合环境代码,SSL证书是否会包含在wlapp中,然后可以使用直接更新进行更新?
  • 证书锁定的混合实现是否适用于WindowsPhone 8(适用于Silverlight环境的混合应用程序)?
  • 在教程视频中,我看到当SSL固定为ON时,我们在服务器外部调用URL(例如google)时,它将失败.如果我启用证书固定,这是否意味着谷歌地图将无法加载?
  • SSL证书被撤销后会发生什么?
  • SSL证书过期后会发生什么?
  • 什么是最佳SSL更新策略,以便在更新我们的服务器SSL证书时保持证书固定工作和应用程序的运行?

请指教

certificate pinning ibm-mobilefirst

6
推荐指数
1
解决办法
1159
查看次数