将我们的应用程序从6.2迁移到7.0,移动Web应用程序在手机上运行良好,并且手动调用HTTP js适配器。但是,当将apk导出到手机时,应用程序会启动但在调用数据适配器时会返回403错误:
{"status":403,"invocationContext":null}
和唯一的服务器日志:
"POST /SFMobileStudent/authorization/v1/clients/instance HTTP/1.1" 403 64 "-" "WLNativeAPI(bullhead; MMB29Q; Nexus 5X; SDK 23; Android 6.0.1)"
适配器上没有任何安全性
securityTest="wl_unprotected"
不确定我们缺少什么,是否为7.0添加/需要安全性?
那里不是很多,但你可以看到从设备(comcast)到服务器的流量。我不知道它有什么意思,只是重复一遍。 tcpdump数据包捕获:
除去
logcat的
I / chromium(29279):[INFO:CONSOLE(1082)]" processMessage失败:消息:F09 WLAuthorizationManagerPlugin170261306 {" wlFailureStatus":" UNEXPECTED_ERROR",&# 34; status":403," responseText":" \ n \ n403 Forbidden< / title> \ n< / head> \ n Forbidden< / h1> \ n
< p>您无权访问/ SFMobileStudent / authorization / v1 / clients / instance \ non此服务器。&lt; / p&gt; \ n
\ nIBM_HTTP_Server at mobilet.sfcollege.edu端口443&lt; / address&gt; \ n&lt; / body&gt;&lt; / html&gt; \ n&#34;,&#34; statusText&#34;:&#34;发生意外的errorCode。请再试一次。&#34;}&#34;,来源:file:///android_asset/www/default/worklight/cordova.js(1082)
更多logCat
W / PluginManager(11209):THREAD WARNING:exec()调用WLAuthorizationManagerPlugin.getClientInstanceIdHeader阻塞主线程170ms。插件应该使用CordovaInterface.getThreadPool()。 D / dalvikvm(11035):GC_EXPLICIT释放153K,39%免费8875K / 14500K,暂停2ms + 3ms,总计49ms I / ConvCursor(11035):ConversationCursor缓存完成pos = 18 E / ThermalDaemon(356):将temp 65000设置为name / sys / class / hwmon / hwmon0 / device / temp1_max E / ThermalDaemon(356):将temp -128000设置为name / sys / class / hwmon / hwmon0 / device / temp1_max_hyst D / dalvikvm(11209):试图加载lib /data/app-lib/com.SFStudent-1/libauthjni.so 0x41d12ef8 D / dalvikvm(11209):共享lib&#39; /data/app-lib/com.SFStudent-1/libauthjni.so'已加载到相同的CL 0x41d12ef8中 D / WifiStateMachine(917):handleMessage:E msg.what = 151572 D / WifiStateMachine(917):processMsg:ConnectedState D / WifiStateMachine(917):processMsg:L2ConnectedState D / WifiStateMachine(917):handleMessage:X D / WifiWatchdogStateMachine(917):获取RSSI成功,rssi = -68 mrssi = -68 txbad = 245 txgood = 47234 D / WifiWatchdogStateMachine(917):增量损耗= 0/6电流损耗= 0%体积= 10.06 D / WifiWatchdogStateMachine(917):更新缓存:丢失[-68] = 0%卷= 27.82 D / dalvikvm(11209):GC_CONCURRENT释放2032K,45%免费8070K / 14500K,暂停4ms + 2ms,总计57ms D / dalvikvm(11209):WAIT_FOR_CONCURRENT_GC阻塞了8ms W / PluginManager(11209):THREAD WARNING:exec()调用WLAuthorizationManagerPlugin.deleteAllAuthData阻塞主线程27ms。插件应该使用CordovaInterface.getThreadPool()。 W / PluginManager(11209):THREAD WARNING:exec()调用WLAuthorizationManagerPlugin.getClientInstanceIdHeader阻塞主线程97ms。插件应该使用CordovaInterface.getThreadPool()。 D / dalvikvm(11209):试图加载lib /data/app-lib/com.SFStudent-1/libauthjni.so 0x41d12ef8 D / dalvikvm(11209):共享lib&#39; /data/app-lib/com.SFStudent-1/libauthjni.so'已加载到相同的CL 0x41d12ef8中 E / NONE(11209):[/ apps / services / api / SFStudent / android / query]失败。 state:403,响应:undefined I / chromium(11209):[INFO:CONSOLE(301)]&#34;错误错误callbackId:WLAuthorizationManagerPlugin1867260175:ReferenceError:deferred未定义&#34;,source:file:/// android_asset / www / default / worklight /cordova.js(301) I / chromium(11209):[INFO:CONSOLE(1080)]&#34; processMessage失败:错误:ReferenceError:deferred未定义&#34;,source:file:/// android_asset / www / default / worklight / cordova .js(1080) I / chromium(11209):[INFO:CONSOLE(1081)]&#34; processMessage失败:Stack:ReferenceError:deferred未定义 I / chromium(11209):at Object.InitializeService.WL.Client.invokeProcedure.onFailure(eval at(file:///android_asset/www/default/js/libs/jquery/jquery-min.js:4:14070) ,:15:8) I / chromium(11209):at Object.options.onFailure(file:///android_asset/www/default/worklight/worklight.js:8806:29) I / chromium(11209):at Object.onInvokeProcedureFailure [as onFailure](file:///android_asset/www/default/worklight/worklight.js:8718:14) I / chromium(11209):at klass.window.WLJSX.Ajax.WLRequest.WLJSX.Class.create.onFailure(file:///android_asset/www/default/worklight/worklight.js:3651:26) I / chromium(11209):at klass.window.WLJSX.Ajax.WLRequest.WLJSX.Class.create.onWlFailure(file:///android_asset/www/default/worklight/worklight.js:3600:12) I / chromium(11209):at Object。 (文件:///android_asset/www/default/worklight/worklight.js:3440:27) I / chromium(11209):at Object。 (文件:///android_asset/www/default/worklight/wljq.js:1202:33) I / chromium(11209):着火(文件:///android_asset/www/default/worklight/wljq.js:1047:30) I / chromium(11209):at Object.self.fireWith [as rejectWith](file:///android_asset/www/default/worklight/wljq.js:1158:7) I / chromium(11209):at Object.deferred。(匿名函数)[as reject](file:///android_asset/www/default/worklight/wljq.js:1247:34)&#34;,source:file :///android_asset/www/default/worklight/cordova.js(1081) I / chromium(11209):[INFO:CONSOLE(1082)]&#34; processMessage失败:消息:F09 WLAuthorizationManagerPlugin1867260175 {&#34; wlFailureStatus&#34;:&#34; UNEXPECTED_ERROR&#34;,&#34; status& #34;:403,&#34; responseText&#34;:&#34; / * - secure- \ n {\&#34; reason \&#34;:\&#34;应用程序真实性安全检查失败\ &#34;} * /&#34;,&#34; statusText&#34;:&#34;发生了意外的errorCode。请再试一次。&#34;}&#34;,来源:file:///android_asset/www/default/worklight/cordova.js(1082)
答案 0 :(得分:1)
解决。应用程序描述符中有一个新标记:
directUpdateAuthenticityPublicKey
更新,使用密钥库导出应用程序,现在一切正常。谢谢您的帮助。
问题: http://www-01.ibm.com/support/docview.wss?uid=swg21970348