Worklight 6.1:与 BB old 6 /7 的工作灯连接问题
Posted
技术标签:
【中文标题】Worklight 6.1:与 BB old 6 /7 的工作灯连接问题【英文标题】:Worklight 6.1 : Issue in worklight connection with BB old 6 /7 【发布时间】:2014-11-04 14:31:56 【问题描述】:我正在使用 worklight 6.2 并构建一个 blackberry 6 /7 示例应用程序,但我遇到了连接问题。
由于连接问题,我无法调用适配器,并且每次我都收到来自适配器的响应失败。
下面给出我的代码sn-p
config.xml
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets" version="1.0" rim:backButton="exit">
<name>bb67</name>
<description>bb67</description>
<author email="application author's e-mail">application's author</author>
<feature id="worklightFeature" required="false" version="1.0.0"/>
<feature id="blackberry.ui.dialog" version="1.0.0"/>
<feature id="blackberry.ui.menu" version="1.0.0"/>
<feature id="blackberry.invoke" version="1.0.0"/>
<feature id="blackberry.invoke.BrowserArguments" version="1.0.0"/>
<feature id="blackberry.identity" version="1.0.0"/>
<feature id="blackberry.app" version="1.0.0"/>
<feature id="blackberry.app.event" version="1.0.0"/>
<access subdomains="true" uri="*"/>
<content src="www/skinLoader.html"/>
<icon rim:hover="false" src="icon.png"/>
<rim:loadingScreen backgroundImage="" foregroundImage="splash.png" onLocalPageLoad="false" onFirstLaunch="true"/>
</widget>
索引,html
<!DOCTYPE HTML><html>
<head>
<meta charset="UTF-8">
<title>bb67</title>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" name="viewport">
<!--
<link rel="shortcut icon" href="images/favicon.png">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-->
<link href="worklight/worklight.css" rel="stylesheet">
<link href="css/main.css" rel="stylesheet">
<script>
// Define WL namespace.
var WL = WL ? WL : ;
/**
* WLClient configuration variables.
* Values are injected by the deployer that packs the gadget.
*/
WL.StaticAppProps =
"APP_DISPLAY_NAME": "bb67",
"APP_ID": "bb67",
"APP_SERVICES_URL": "http:\/\/192.168.0.222:10080\/bb67\/apps\/services\/",
"APP_VERSION": "1.0",
"ENVIRONMENT": "blackberry",
"LOGIN_DISPLAY_TYPE": "embedded",
"WORKLIGHT_PLATFORM_VERSION": "6.2.0.01.20141027-1531",
"WORKLIGHT_ROOT_URL": "http:\/\/192.168.0.222:10080\/bb67\/apps\/services\/api\/bb67\/blackberry\/"
;
</script>
<script src="worklight/wljq.js"></script>
<script src="worklight/worklight.js"></script>
<script>window.$ = window.jQuery = WLJQ;</script>
</head>
<body style="display: none;">
<!--application UI goes here-->
Hello Worklight<input onclick="msiteCall()" type="button" value="Call Adapter">
<script src="js/initOptions.js"></script>
<script src="js/main.js"></script>
<script src="js/messages.js"></script>
</body>
</html>
main.js
/* javascript content from js/main.js in folder common */
function wlCommonInit()
/*
* Use of WL.Client.connect() API before any connectivity to a Worklight Server is required.
* This API should be called only once, before any other WL.Client methods that communicate with the Worklight Server.
* Don't forget to specify and implement onSuccess and onFailure callback functions for WL.Client.connect(), e.g:
*
* WL.Client.connect(
* onSuccess: onConnectSuccess,
* onFailure: onConnectFailure
* );
*
*/
// Common initialization code goes here
WL.Client.connect(
onSuccess: function onConnectSuccess(res)
alert('Connection Success '+res);
,
onFailure: function onConnectFailure(res)
alert('Connection Failure '+res);
);
/* JavaScript content from js/main.js in folder blackberry */
// This method is invoked after loading the main HTML and successful initialization of the Worklight runtime.
function wlEnvInit()
wlCommonInit();
// Environment initialization code goes here
var timeout = 30000;
function msiteCall()
alert('Inside call');
var invocationData =
adapter : "msiteAdap",
procedure : "getStories",
parameters : [],
compressResponse : true
;
//WL.Logger.debug('invoke msg '+invocationData, '');
WL.Client.invokeProcedure(invocationData,
onSuccess : function succ()alert("Success...");,
onFailure : function fail()alert("Failure...");,
);
如果有任何遗漏,请提出建议。我正在使用 webworks 来构建项目。 我使用下面的命令来构建 cod 文件。
bbwp C:\myapp\myarchive.zip -d -o C:\myapp\output
下面是worklight项目生成的结构。
如果worklight中的webwork项目有任何正确的文档,请提出建议。
【问题讨论】:
提及什么是“连接问题” - 客户端日志和服务器日志 它正在工作灯预览,但是当我在设备中运行它时,它会出现连接问题。 如果 worklight 服务器没有连接,那么如何从服务器获取日志。 请在下面的链接中找到示例代码50.17.252.160/Sample/BBOldSample.zip,在此工作灯连接中不起作用。如果你可以检查。 让我们continue this discussion in chat. 【参考方案1】:从 cmets 中可以看出,在物理设备中运行应用程序时,该问题已得到解决。此设备通过 WiFi 连接到服务器运行所在的同一网络。
剩下的问题是在 BlackBerry Simulator 中运行应用程序时,它实际上在 VMWare Fusion 中运行。
如果该虚拟机无法访问您的本地网络,则在其中运行的应用程序也将无法连接到服务器。
建议:
检查虚拟机设置并确保正确设置以访问您的本地网络 您可以通过在其中打开浏览器进行检查,看看您是否能够访问服务器的 Worklight 控制台【讨论】:
以上是关于Worklight 6.1:与 BB old 6 /7 的工作灯连接问题的主要内容,如果未能解决你的问题,请参考以下文章
IBM Worklight - 基于 6.1 构建的项目不会部署在 6.1 服务器上,说我需要使用 6.0
将 windows phone 8.0 phonegap 应用程序从 worklight 6.0 移动到 worklight 6.1