我们遇到了一个使用 xsl 的适配器过程的问题……为了隔离,我创建了一个新适配器,并通过直接 HTTP 请求的过程调用和本机移动应用程序 (iOS) 使用示例过程(getStories、getStoriesFiltered)运行。
“以防万一”这两个过程都在没有和使用 securityTest 属性的情况下进行了测试。
在 getStories(没有 xsl 过滤)的情况下,http 请求和本机应用程序都会返回结果。这既是在本地开发 WL 服务器中,也是在部署到远程 WL 测试服务器时。
对于本地开发 WL 服务器上的 getStoriesFiltered(具有 xsl 过滤器),它运行良好。将适配器部署到远程 WL 测试服务器后,我们得到一个错误……详细信息如下:
从浏览器调用错误:
/ -secure- {"errors":["验证错误: java.lang.VerifyError: JVMVRFY013 类加载约束被违反;class=org/apache/xalan/xsltc/dom/SAXImpl, method=getAxisIterator(I)Lorg/apache/ xml/dtm/DTMAxisIterator;, pc=0"],"isSuccessful":false,"warnings":[],"info":[]} /
从本机移动客户端 (iOS) 调用时出错:
2014-05-16 16:36:46.681 iOSNativeApp [1109:60b] 过程调用失败:调用失败。/-secure- {"responseID":"1","errors":["验证错误:java.lang.VerifyError:违反了 JVMVRFY013 类加载约束;class=org/apache/xalan/xsltc/dom/SAXImpl,method=getAxisIterator (I)Lorg/apache/xml/dtm/DTMAxisIterator;, pc=0"],"isSuccessful":false,"WL-Authentication-Success":{"wl_remoteDisableRealm":{"userId":"null","attributes ":{},"isUserAuthenticated":1,"displayName":"null"},"wl_antiXSRFRealm":{"userId":"u9eb8v4tpofoartngepouli22q","attributes":{},"isUserAuthenticated":1,"displayName": "u9eb8v4tpofoartngepouli22q"},"wl_deviceNoProvisioningRealm":{"userId":"10C0FDF9-8537-47E7-99B3-99E41ABC7956","属性":{"mobileClientData":"com.worklight.core.auth.ext.MobileClientData@2b13dac8"},"isUserAuthenticated":1,"displayName":"10C0FDF9-8537-47E7-99B3-99E41ABC7956"},"wl_anonymousUserRealm ":{"userId":"484ed960-5aaf-48b0-a05d-166e38613d47","attributes":{},"isUserAuthenticated":1,"displayName":"484ed960-5aaf-48b0-a05d-166e38613d47"}}, “警告”:[],“信息”:[]}isUserAuthenticated":1,"displayName":"484ed960-5aaf-48b0-a05d-166e38613d47"}},"warnings":[],"info":[]}isUserAuthenticated":1,"displayName":"484ed960-5aaf-48b0-a05d-166e38613d47"}},"warnings":[],"info":[]}/
在 Liberty 上运行 Worklight。