worklight适配器-http
来源:互联网 发布:linux修改root密码命令 编辑:程序博客网 时间:2024/05/21 17:23
因为其他事,没有更新
前一篇文章是sql适配器,与DB的交互,本章主要是http方式交互。
方式很简单,建立适配器,选择http模式,名称,http15,对应的xml文件和js文件与上面类似,一个是配置,一个是实现。
<?xml version="1.0" encoding="UTF-8"?><wl:adapter name="http15"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wl="http://www.worklight.com/integration"xmlns:http="http://www.worklight.com/integration/http"><displayName>http15</displayName><description>http15</description><connectivity><connectionPolicy xsi:type="http:HTTPConnectionPolicyType"><protocol>http</protocol><domain>10.0.0.15</domain><port>80</port></connectionPolicy><loadConstraints maxConcurrentConnectionsPerNode="2" /></connectivity><procedure name="getDataList"/><procedure name="getStoriesFiltered"/></wl:adapter>
如上,里面的内容都好理解,走的协议,http还是https,domain,域名,我测试的局域网的地址,10.0.0.15,port端口号。getDataList则是要实现的方法
function getDataList(id) {var input = { method : 'get', returnedContentType : 'HTML', path : "RTDServer/rtdViewAndroid.ejf?cmd=index&companyCode="+id};return WL.Server.invokeHttp(input);}function getStoriesFiltered(interest) {var input = { method : 'get', returnedContentType : 'xml', path : "rss.xml", transformation : { type : 'xslFile', xslFile : 'filtered.xsl' }};return WL.Server.invokeHttp(input);}
这里面要注意的内容多一些:
mothod:获取方法,get,还是post,至于二者区别,我也不能说的很清晰,怕误导大家,自己查去吧
returnedContentType :返回数据的格式,支持json,xml,http,plain,注意,既然选定的一种格式,就要确认,你请求的地址必须提供相应的接口,返回对应格式的内容,否则,会报错。我在这里就被耽误了一小下。本例中选用的是html格式。
path:请求的明确地址,url的一个地址,可以存在变量,如本例中的&companyCode="+id
parameters: 使用的参数,本例中path使用的是变量,所以,没用参数这个选项,如果用了,则是 parameters : {
'companyCode' : id
}, 这种格式
body:当方式是post时,要指定相应的内容
transformation: 转化数据的参数,包括 XSL 文件的位置和转化的格式
定义完上述内容,可以调试适配器,invoke worklight procedure。
成功结果如下:
{ "errors": [ ], "html": { "body": { "CDATA": "唐山二厂\n2012-11-22 11:28:28\n2012-11-22 11:28:36\n1.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,0.0,1.0,
尝试在客户端代码中调用,客户端js脚本:
function getHttp15(id){var invocationData = {adapter : 'http15',procedure : 'getStories',parameters : [id]};WL.Client.invokeProcedure(invocationData, {onSuccess : httpLoadSuccess,onFailure : httpLoadFailure,});}function httpLoadSuccess(result){if (result.invocationResult.html.body.CDATA.length>0){httpResult = result.invocationResult.html.body.CDATA;}}function httpLoadFailure(result){alert("读取失败");}
这里需要注意的事,在获取数据时,一定要想着返回数据的格式,因为不同格式的数据对应的结构是不一样的,本例中用的是html,获取数据相应的结构是
result.invocationResult.html.body.CDATA,如果是plain,则获取数据结构是result.invocationResult.text,json,xml是标准化格式,各位可以去实践一下。
至此,在手机终端可以获取到远程的数据,至于怎么加工,是自己的事情了。
- worklight适配器-http
- worklight,建立适配器
- worklight tips
- IBM WorkLight报价参考
- WorkLight第二天
- Worklight Studio技术简介
- Worklight Developer Edition 介绍
- Worklight+eclipse+sencha-touch
- worklight中adapter(webservice)
- Worklight环境搭建
- Biztalk 开发之 配置HTTP接收适配器
- SODBASE数据输出适配器----HTTP请求
- IBM Worklight开发环境安装
- worklight第三天,集成android
- worklight中的adapter(json&xml)
- IBM Worklight 6.1 平台条件
- IBM Worklight 6.1 Info Center
- worklight获取设备的deviceID
- ASIHTTPRequest-详解
- 完美解读Linux中文件系统的目录结构
- spring源码学习2 未完待续 欢迎评论与指教 开始有点乱 后期整理
- 静态成员的作用以及用法的总结
- 修改ActiveX控件的uuid
- worklight适配器-http
- VC6操作Excel2003
- Keil C开发介绍
- iOS (objective-c) 中的多线程互斥同步问题
- JQuery 在DIV中加载页面
- Eclipse中Tab设置为4个空格
- Android背后的恶意应用,您应该知道的事
- Tomcat、JAVA、Iframe、P3P跨域
- MS SQL数据导入MySQL