android - IBM Worklight 6.0 - Hybrid application using webservices is not working on actual device? -


i have developed application using dojo 1.9.
in trying fetch data soap web service using http adapter.

after build , deploy when previewing application in worklight console's mbs works fine (see screen shot #1 below), same on android 2.2 avd (see screen shot #2).

when running app on actual device returns "request failed!"

is there way make work on actual device connected network ?

did miss soap message creation in impl.js file?

is necessary make soap request call?

if yes, please tell me how can generate soap message?

adapter bsenseprice-impl.js:

function bsenseprice(exchng) {     var path = 'clientstockservice.asmx/bsenseprice';      var input = {         method : 'get',         returnedcontenttype : 'text/xml; charset=utf-8',         path : path,         parameters: {'exchng': exchng}      };      return wl.server.invokehttp(input);  } 

application javascript:

function wlcommoninit(){     require([ "layers/core-web-layer", "layers/mobile-ui-layer" ], dojoinit);  }  function dojoinit() {     require([ "dojo/ready", "dojo/parser", "dojox/mobile", "dojo/dom", "dijit/registry", "dojox/mobile/scrollableview", "dojox/mobile/heading", "dojox/mobile/roundrectlist", "dojox/mobile/listitem", "dojox/mobile/view", "dojox/mobile/container", "dojox/mobile/contentpane", "dojox/mobile/tabbar", "dojox/mobile/tabbarbutton" ], function(ready) {         ready(function() {         });     }); }   function mobbsenseprice(exchng) {        var invocationdata = {                adapter : 'bsenseprice',                procedure : 'bsenseprice',                parameters : []            };         wl.client.invokeprocedure(invocationdata,{            onsuccess : mobbsensepricesuccess,            onfailure : mobbsensepricefailure,        });    };   function mobbsensepricesuccess(result) {        var httpstatuscode = result.status;        var div = $("#invokeresult");        /*var span = $("#value");*/        if (200 == httpstatuscode) {            var invocationresult = result.invocationresult;            var issuccessful = invocationresult.issuccessful;            if (true == issuccessful) {                 var data = invocationresult.dataset.diffgram.newdataset.table;                (var i=0;i<data.length;i++)                {                 div.append(data[i].symbol);                 div.append('<br>');                 div.append(data[i].price);                 div.append('<br>');                 div.append('<strong>change:</strong> ' + data[i].per_change);                 div.append('<br>');                 div.append('<strong>change(%) :</strong> ' + data[i].changeper);                 div.append('<br>');                 div.append('<br>');                }            }            else {                div.append("request failed....!");            }                            }        else {            div.append("request failed!");        }    }    function mobbsensepricefailure(result){             var div = $("#invokeresult");         div.append("request failed!");    } 

logcat:

07-24 11:27:08.227: i/dalvikvm(326): not find method org.apache.cordova.cordovawebview.setoverscrollmode, referenced method org.apache.cordova.droidgap.init 07-24 11:27:08.227: w/dalvikvm(326): vfy: unable resolve virtual method 12024: lorg/apache/cordova/cordovawebview;.setoverscrollmode (i)v 07-24 11:27:08.227: d/dalvikvm(326): vfy: replacing opcode 0x6e @ 0x0043 07-24 11:27:08.267: i/cordovalog(326): changing log level debug(3) 07-24 11:27:08.277: i/cordovalog(326): found preference exit-on-suspend=false 07-24 11:27:08.277: d/cordovalog(326): found preference exit-on-suspend=false 07-24 11:27:08.277: d/droidgap(326): droidgap.oncreate() 07-24 11:27:08.317: i/dalvikvm(326): not find method android.webkit.webview.<init>, referenced method org.apache.cordova.cordovawebview.<init> 07-24 11:27:08.317: w/dalvikvm(326): vfy: unable resolve direct method 536: landroid/webkit/webview;.<init> (landroid/content/context;landroid/util/attributeset;iz)v 07-24 11:27:08.317: d/dalvikvm(326): vfy: replacing opcode 0x70 @ 0x0001 07-24 11:27:08.317: d/dalvikvm(326): vfy: dead code 0x0004-0046 in lorg/apache/cordova/cordovawebview;.<init> (landroid/content/context;landroid/util/attributeset;iz)v 07-24 11:27:08.737: d/jsmessagequeue(326): set native->js mode 2 07-24 11:27:08.737: i/cordovawebview(326): disabled addjavascriptinterface() bridge since android version old. 07-24 11:27:08.767: e/dalvikvm(326): not find class 'android.webkit.webresourceresponse', referenced method org.apache.cordova.cordovawebviewclient.getwhitelistresponse 07-24 11:27:08.767: w/dalvikvm(326): vfy: unable resolve new-instance 176 (landroid/webkit/webresourceresponse;) in lorg/apache/cordova/cordovawebviewclient; 07-24 11:27:08.767: d/dalvikvm(326): vfy: replacing opcode 0x22 @ 0x000b 07-24 11:27:08.767: d/dalvikvm(326): vfy: dead code 0x000d-0014 in lorg/apache/cordova/cordovawebviewclient;.getwhitelistresponse ()landroid/webkit/webresourceresponse; 07-24 11:27:08.777: w/dalvikvm(326): vfy: unable find class referenced in signature (landroid/webkit/webresourceresponse;) 07-24 11:27:08.777: w/dalvikvm(326): vfy: unable find class referenced in signature (landroid/webkit/webresourceresponse;) 07-24 11:27:08.777: w/dalvikvm(326): vfy: unable find class referenced in signature (landroid/webkit/webresourceresponse;) 07-24 11:27:08.797: d/droidgap(326): droidgap.init() 07-24 11:27:08.937: i/uicandroid(326): {logginglevel=3, addcookiedomain=false, postmessagetimeout=60000, cookiepath=/, cookieparam=, killswitchtimeinterval=180, bufferpercent=20, hastopersistlocalcache=true , messagetypeheader=worklighthit, cookiedomain=, whitelistparam=id, libraryversion=8.8.1.0, maskidlist=com.tealeaf.sp:id/edittext*,com.tealeaf.sp:id/login.password, postmessagelevelwifi=3, userandomsample=false, killswitchmaxnumberoftries=3, sensitivecapitalcasealphabet=x, filtermessagetypes=true, postmessagetimeintervals=30, sensitivesmallcasealphabet=x, compresspostmessage=true, postmessagemaxbytessize=20000, sensitivesymbol=#, postmessagelevelcellular=3, messagetypes=4,5,6, postmessagesockettimeout=60000, cookieurl=, usewhitelist=true, killswitchurl=, killswitchenabled=false, messageversion=2.1.0.0, hasmasking=true, timeintervalbetweensnapshots=60, postmessageurl=@use_worklight_default@, cachedfilemaxbytessize=512000, bufferlimit=100, addcookiepath=false, sensitivenumber=9, cachinglevel=3, manualpostenabled=true, hascustommask=true, displaylogging=true, maxstringslength=300, addmessagetypeheader=true, randomsampleparam=, dopostonintervals=false} 07-24 11:27:09.118: d/dalvikvm(326): gc_for_malloc freed 3477 objects / 255912 bytes in 101ms 07-24 11:27:09.257: i/uicandroid(326): screen height:420  screen width780 07-24 11:27:09.317: d/droidgap(326): resuming app 07-24 11:27:09.327: d/wldroidgap(326): new installation/upgrade detected, copying resources , saving new checksum 07-24 11:27:09.417: i/uicandroid(326): network changed 07-24 11:27:09.447: d/softkeyboarddetect(326): ignore event 07-24 11:27:09.567: d/softkeyboarddetect(326): ignore event 07-24 11:27:09.698: d/wldroidgap(326): started copying files local storage... 07-24 11:27:09.987: i/uicandroid(326): did client state change?: true 07-24 11:27:13.757: d/dalvikvm(326): gc_for_malloc freed 3411 objects / 478752 bytes in 54ms 07-24 11:27:14.618: d/dalvikvm(326): gc_for_malloc freed 1944 objects / 461952 bytes in 52ms 07-24 11:27:17.138: d/dalvikvm(326): gc_for_malloc freed 1855 objects / 468928 bytes in 73ms 07-24 11:27:19.058: d/dalvikvm(326): gc_for_malloc freed 2204 objects / 516816 bytes in 57ms 07-24 11:27:20.668: d/dalvikvm(326): gc_for_malloc freed 2098 objects / 483856 bytes in 50ms 07-24 11:27:21.418: d/dalvikvm(326): gc_for_malloc freed 1791 objects / 472968 bytes in 56ms 07-24 11:27:22.998: d/dalvikvm(326): gc_for_malloc freed 2105 objects / 498800 bytes in 55ms 07-24 11:27:24.683: d/dalvikvm(326): gc_for_malloc freed 2203 objects / 512160 bytes in 74ms 07-24 11:27:28.677: d/wldroidgap(326): finished copying files local storage... 07-24 11:27:28.709: d/wldroidgap(326): no need check web resource integrity 07-24 11:27:28.797: d/dalvikvm(326): gc_for_malloc freed 2474 objects / 524672 bytes in 90ms 07-24 11:27:28.877: d/cordovawebview(326): >>> loadurl(file:///data/data/com.accordfintech/files/www/skinloader.html) 07-24 11:27:28.892: d/pluginmanager(326): init() 07-24 11:27:28.907: d/cordovawebview(326): >>> loadurlnow() 07-24 11:27:28.977: d/droidgap(326): onmessage(onpagestarted,file:///data/data/com.accordfintech/files/www/skinloader.html) 07-24 11:27:30.067: d/cordova(326): onpagefinished(file:///data/data/com.accordfintech/files/www/skinloader.html) 07-24 11:27:30.067: d/cordova(326): trying fire onnativeready 07-24 11:27:30.067: d/droidgap(326): onmessage(onnativeready,null) 07-24 11:27:30.067: d/droidgap(326): onmessage(onpagefinished,file:///data/data/com.accordfintech/files/www/skinloader.html) 07-24 11:27:30.837: d/cordovalog(326): falling on prompt mode since _cordovanative missing. expected android 3.2 , lower only. 07-24 11:27:30.837: i/web console(326): falling on prompt mode since _cordovanative missing. expected android 3.2 , lower only. @ file:///data/data/com.accordfintech/files/www/default/wlclient/js/cordova.js:908 07-24 11:27:30.937: d/cordovanetworkmanager(326): connection type: 3g 07-24 11:27:30.937: d/cordovanetworkmanager(326): connection type: 3g 07-24 11:27:30.937: d/droidgap(326): onmessage(networkconnection,3g) 07-24 11:27:30.977: d/droidgap(326): onmessage(spinner,stop) 07-24 11:27:31.177: d/dalvikvm(326): gc_for_malloc freed 2179 objects / 213704 bytes in 137ms 07-24 11:27:31.267: d/cordovawebview(326): >>> loadurl(file:///data/data/com.accordfintech/files/www/default/accordfintech.html) 07-24 11:27:31.267: d/pluginmanager(326): init() 07-24 11:27:31.277: d/cordovawebview(326): >>> loadurlnow() 07-24 11:27:31.318: d/droidgap(326): onmessage(onpagestarted,file:///data/data/com.accordfintech/files/www/default/accordfintech.html) 07-24 11:27:31.597: d/dalvikvm(326): gc_for_malloc freed 3136 objects / 267808 bytes in 65ms 07-24 11:27:31.817: d/dalvikvm(326): gc_for_malloc freed 1006 objects / 173440 bytes in 101ms 07-24 11:27:32.087: d/droidgap(326): onmessage(spinner,stop) 07-24 11:27:40.138: d/cordova(326): onpagefinished(file:///data/data/com.accordfintech/files/www/default/accordfintech.html) 07-24 11:27:40.148: d/cordova(326): trying fire onnativeready 07-24 11:27:40.148: d/droidgap(326): onmessage(onnativeready,null) 07-24 11:27:40.148: d/droidgap(326): onmessage(onpagefinished,file:///data/data/com.accordfintech/files/www/default/accordfintech.html) 07-24 11:27:40.898: d/cordovalog(326): falling on prompt mode since _cordovanative missing. expected android 3.2 , lower only. 07-24 11:27:40.898: i/web console(326): falling on prompt mode since _cordovanative missing. expected android 3.2 , lower only. @ file:///data/data/com.accordfintech/files/www/default/wlclient/js/cordova.js:908 07-24 11:27:40.958: d/cordovanetworkmanager(326): connection type: 3g 07-24 11:27:40.988: d/cordovanetworkmanager(326): connection type: 3g 07-24 11:27:40.988: d/droidgap(326): onmessage(networkconnection,3g) 07-24 11:27:41.018: d/droidgap(326): onmessage(spinner,stop) 07-24 11:27:41.198: i/dalvikvm(326): not find method java.util.calendar.getdisplaynames, referenced method org.apache.cordova.globalization.getdatenames 07-24 11:27:41.198: w/dalvikvm(326): vfy: unable resolve virtual method 10795: ljava/util/calendar;.getdisplaynames (iiljava/util/locale;)ljava/util/map; 07-24 11:27:41.198: d/dalvikvm(326): vfy: replacing opcode 0x74 @ 0x009d 07-24 11:27:41.198: i/dalvikvm(326): not find method java.util.calendar.getdisplaynames, referenced method org.apache.cordova.globalization.getdatenames 07-24 11:27:41.198: w/dalvikvm(326): vfy: unable resolve virtual method 10795: ljava/util/calendar;.getdisplaynames (iiljava/util/locale;)ljava/util/map; 07-24 11:27:41.198: d/dalvikvm(326): vfy: replacing opcode 0x74 @ 0x00d0 07-24 11:27:41.198: i/dalvikvm(326): not find method java.util.calendar.getdisplaynames, referenced method org.apache.cordova.globalization.getdatenames 07-24 11:27:41.198: w/dalvikvm(326): vfy: unable resolve virtual method 10795: ljava/util/calendar;.getdisplaynames (iiljava/util/locale;)ljava/util/map; 07-24 11:27:41.198: d/dalvikvm(326): vfy: replacing opcode 0x74 @ 0x00e3 07-24 11:27:41.198: i/dalvikvm(326): not find method java.util.calendar.getdisplaynames, referenced method org.apache.cordova.globalization.getdatenames 07-24 11:27:41.198: w/dalvikvm(326): vfy: unable resolve virtual method 10795: ljava/util/calendar;.getdisplaynames (iiljava/util/locale;)ljava/util/map; 07-24 11:27:41.198: d/dalvikvm(326): vfy: replacing opcode 0x74 @ 0x00f2 07-24 11:27:41.198: d/dalvikvm(326): vfy: dead code 0x00a0-00b8 in lorg/apache/cordova/globalization;.getdatenames (lorg/json/jsonarray;)lorg/json/jsonobject; 07-24 11:27:41.198: d/dalvikvm(326): vfy: dead code 0x00d3-00d4 in lorg/apache/cordova/globalization;.getdatenames (lorg/json/jsonarray;)lorg/json/jsonobject; 07-24 11:27:41.198: d/dalvikvm(326): vfy: dead code 0x00e6-00e7 in lorg/apache/cordova/globalization;.getdatenames (lorg/json/jsonarray;)lorg/json/jsonobject; 07-24 11:27:41.198: d/dalvikvm(326): vfy: dead code 0x00f5-0118 in lorg/apache/cordova/globalization;.getdatenames (lorg/json/jsonarray;)lorg/json/jsonobject; 07-24 11:27:41.388: d/accordfintech(326): wlclient init started 07-24 11:27:41.428: d/accordfintech(326): read cookies: null 07-24 11:27:41.428: d/accordfintech(326): cookiemgr read cookies: {} 07-24 11:27:41.618: d/dalvikvm(326): gc_for_malloc freed 5221 objects / 855328 bytes in 82ms 07-24 11:27:41.928: d/accordfintech(326): before: app init onsuccess 07-24 11:27:42.018: d/accordfintech(326): after: app init onsuccess 07-24 11:27:42.018: d/accordfintech(326): added onpause event handler  07-24 11:27:42.028: d/accordfintech(326): wlclient init success 07-24 11:27:59.578: d/accordfintech(326): request [http://10.20.50.244:10080/accord/apps/services/api/accordfintech/android/query] 07-24 11:28:00.369: d/dalvikvm(326): gc_for_malloc freed 7040 objects / 435712 bytes in 63ms 07-24 11:28:00.629: d/accordfintech(326): request [http://10.20.50.244:10080/accord/apps/services/api/accordfintech/android/query] 07-24 11:28:00.698: d/accordfintech(326): request [http://10.20.50.244:10080/accord/apps/services/api/accordfintech/android/query] 07-24 11:28:01.038: d/accordfintech(326): response [http://10.20.50.244:10080/accord/apps/services/api/accordfintech/android/query] success: /*-secure- 07-24 11:28:01.038: d/accordfintech(326): {"responseid":"2","statuscode":200,"errors":[],"issuccessful":true,"statusreason":"ok","wl-authentication-success":{"wl_remotedisablerealm":{"userid":"null","attributes":{},"isuserauthenticated":1,"displayname":"null"},"wl_antixsrfrealm":{"userid":"88cgj8s4m26caj0vstt6imlief","attributes":{},"isuserauthenticated":1,"displayname":"88cgj8s4m26caj0vstt6imlief"},"wl_devicenoprovisioningrealm":{"userid":"cf95dc53-f383-39a8-b6fd-749f3ef439cd","attributes":{"mobileclientdata":"com.worklight.core.auth.ext.mobileclientdata@59727ed4"},"isuserauthenticated":1,"displayname":"cf95dc53-f383-39a8-b6fd-749f3ef439cd"},"wl_anonymoususerrealm":{"userid":"587f3a3b-148c-492a-9fa5-7bdbb8b9e046","attributes":{},"isuserauthenticated":1,"displayname":"587f3a3b-148c-492a-9fa5-7bdbb8b9e046"}},"dataset":{"schema":{"id":"newdataset","element":{"complextype":{"choice":{"element":{"complextype":{"sequence":{"element":[{"name":"symbol","type":"xs:string","minoccurs":"0"},{"name":"price","type":"xs:decimal","minoccurs":"0"},{"name":"per_change","type":"xs:decimal","minoccurs":"0"},{"name":"changeper","type":"xs:decimal","minoccurs":"0"},{"name":"prev_close","type":"xs:decimal","minoccurs":"0"},{"name":"open","type":"xs:decimal","minoccurs":"0"},{"name":"upd_time","type":"xs:string","minoccurs":"0"},{"name":"trend","type":"xs:string","minoccurs":"0"},{"name":"high","type":"xs:double","minoccurs":"0"},{"name":"low","type":"xs:double","minoccurs":"0"}]}},"name":"table"},"maxoccurs":"unbounded","minoccurs":"0"}},"name":"newdataset","isdataset":"true","usecurrentlocale":"true"},"msdata":"urn:schemas-microsoft-com:xml-msdata","xs":"http:\/\/www.w3.org\/2001\/xmlschema","xmlns":""},"xmlns":"http:\/\/acewebservice\/","diffgram":{"newdataset":{"table":[{"id":"table1","open":"20200.20","price":"20041.68","prev_close":"20302.13","per_change":"-260.45","symbol":"sensex","changeper":"-1.28","high":"20252.7","low":"20018.32","roworder":"0","trend":"-","upd_time":"24-jul-2013 11:25"},{"id":"table2","open":"6032.20","price":"5974.95","prev_close":"6077.80","per_change":"-102.85","symbol":"nifty","changeper":"-1.69","high":"6047.25","low":"5968.4","roworder":"1","trend":"-","upd_time":"24-jul-2013 11:15"}],"xmlns":""},"msdata":"urn:schemas-microsoft-com:xml-msdata","diffgr":"urn:schemas-microsoft-com:xml-diffgram-v1"}},"responseheaders":{"x-aspnet-version":"2.0.50727","date":"wed, 24 jul 2013 06:00:48 gmt","content-length":"2480","expires":"-1","content-type":"text\/xml; charset=utf-8","server":"microsoft-iis\/6.0","x-powered-by":"asp.net","cache-control":"no-cache","pragma":"no-cache"},"warnings":[],"totaltime":140,"responsetime":139,"info":[]}*/ 07-24 11:28:01.268: d/accordfintech(326): response [http://10.20.50.244:10080/accord/apps/services/api/accordfintech/android/query] success: /*-secure- 07-24 11:28:01.268: d/accordfintech(326): {"responseid":"3","statuscode":200,"errors":[],"issuccessful":true,"statusreason":"ok","dataset":{"schema":{"id":"newdataset","element":{"complextype":{"choice":{"element":{"complextype":{"sequence":{"element":[{"name":"symbol","type":"xs:string","minoccurs":"0"},{"name":"price","type":"xs:decimal","minoccurs":"0"},{"name":"per_change","type":"xs:decimal","minoccurs":"0"},{"name":"changeper","type":"xs:decimal","minoccurs":"0"},{"name":"prev_close","type":"xs:decimal","minoccurs":"0"},{"name":"open","type":"xs:decimal","minoccurs":"0"},{"name":"upd_time","type":"xs:string","minoccurs":"0"},{"name":"trend","type":"xs:string","minoccurs":"0"},{"name":"high","type":"xs:double","minoccurs":"0"},{"name":"low","type":"xs:double","minoccurs":"0"}]}},"name":"table"},"maxoccurs":"unbounded","minoccurs":"0"}},"name":"newdataset","isdataset":"true","usecurrentlocale":"true"},"msdata":"urn:schemas-microsoft-com:xml-msdata","xs":"http:\/\/www.w3.org\/2001\/xmlschema","xmlns":""},"xmlns":"http:\/\/acewebservice\/","diffgram":{"newdataset":{"table":[{"id":"table1","open":"20200.20","price":"20041.68","prev_close":"20302.13","per_change":"-260.45","symbol":"sensex","changeper":"-1.28","high":"20252.7","low":"20018.32","roworder":"0","trend":"-","upd_time":"24-jul-2013 11:25"},{"id":"table2","open":"6032.20","price":"5974.95","prev_close":"6077.80","per_change":"-102.85","symbol":"nifty","changeper":"-1.69","high":"6047.25","low":"5968.4","roworder":"1","trend":"-","upd_time":"24-jul-2013 11:15"}],"xmlns":""},"msdata":"urn:schemas-microsoft-com:xml-msdata","diffgr":"urn:schemas-microsoft-com:xml-diffgram-v1"}},"responseheaders":{"x-aspnet-version":"2.0.50727","date":"wed, 24 jul 2013 06:00:48 gmt","content-length":"2480","expires":"-1","content-type":"text\/xml; charset=utf-8","server":"microsoft-iis\/6.0","x-powered-by":"asp.net","cache-control":"no-cache","pragma":"no-cache"},"warnings":[],"totaltime":181,"responsetime":180,"info":[]}*/ 

screen shot #1 - worklight console mbs:
enter image description here

screen shot #2 - android 2.2. avd:
enter image description here

if application fails connect worklight server, adapter procedures fail. when deploying real device ensure explicitly specify worklight server's ip address running "build remote server" after "build , deploy". default "build , deploy" use localhost target worklight server result in connection error on real device.

build remote server screetshot

to verify connection failure result of incorrect server address use hardware menu button bring worklight settings menu while app open. there check "change server url" box , ensure url below targets ip address of worklight server.

worklight settings screenshot


Comments

Popular posts from this blog

javascript - DIV "hiding" when changing dropdown value -

Does Firefox offer AppleScript support to get URL of windows? -

android - How to install packaged app on Firefox for mobile? -