alb*_*lbo 7 java tomcat vignette stack-trace
我有一个"Vignette Collab"使用Java在Apache堆栈上运行的API ,我继承了遗留代码库,需要找到这个错误的来源,显然最后一个开发人员构建了一个不起作用的功能,这就是错误所在,但是没有更多信息.它使用Drupal webservice模块,发送调用的代码如下所示
$node = $variables['node'];
$service = wsclient_service_load('collab_folders');
if($node->field_oid1):
$param1 = $node->field_oid1['und'][0]['value'];
$params1 = array('user'=>'myUser','password'=>'myPass','oid'=>$param1);
$results1 = $service->getChildren($params1);
$variables['collabresults1'] = $results1;//
Run Code Online (Sandbox Code Playgroud)
任何想法,我可以开始寻找这个错误或它可能意味着什么?
完整的堆栈跟踪在这里:::
Run Code Online (Sandbox Code Playgroud)ecmtrtest1: http cmd: lookup, http-bio-81-exec-3, kmapi=true&properties=true&dtd=false&oid=1.59.93 Authentication用户失败:null.java.lang.UnsupportedOperationException:com.intraspect.kmapi.client.KMDocument.getDocType(KMDocument.java:331)客户端尚未支持此方法,位于com.acuitys.ws.impl.CollabServiceImpl.populateProperties(CollabServiceImpl.java:236) )com.acuitys.ws.impl.CollabServiceImpl.getChildren(CollabServiceImpl.java:83)at com.acuitys.ws.CollabWebservice.getChildren(CollabWebservice.java:34)at sun.reflect.GeneratedMethodAccessor758.invoke(Unknown Source)at at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at com.sun.xml.ws.api.server.InstanceResolver $ 1.invoke(InstanceResolver .java:246)at com.sun.xml.ws.server.InvokerTube $ 2.invoke(InvokerTube.java:146)at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257) at com.sun.xml.ws.api.pipe.Fiber .__ doRun(Fiber.java:595)at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)at com.sun .xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)位于com.sun.xml.ws.api.pipe的com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539). Com.sun.xml.ws.server.WSEndpointImpl $ 2.process(WSEndpointImpl.java:243)上的Fiber.runSync(Fiber.java:436)位于com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter) .java:244)at com.sun.xml.ws.transport.http.HttpAdapter $ HttpToolkit.handle(HttpAdapter.java:444)at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter) .java:135)位于com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)的com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate) .java:160)在javax的javax.servlet.http.HttpServlet.service(HttpServlet.java:647)的com.sun.xml.ws.transport.http.servlet.WSSpringServlet.doPost(WSSpringServlet.java:52)中. Servlet.http.HttpServlet.service(HttpServlet.java:728)位于org.apache.catalina的org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305).core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) )org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)org.apache.catalina.valves.ErrorReportValve.在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)的com.intraspect上的org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)中调用(ErrorReportValve.java:99) .valves.CollabWebDAVFixValve.invoke(CollabWebDAVFixValve.java:34)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) )org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProto)col.java:589)在java.util的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)的org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:310) .concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:724) [Apr 22,2016 10:59:51 AM(http-bio-81-exec- 3_532)]:用户身份验证失败:null.[2016年4月22日10:59:51 AM(http-bio-81-exec-3_532)]:ecmtrtest1:http cmd:lookup,http-bio-81-exec-3,kmapi = true&properties = true&dtd = false&oid = 1.9 .2878889 [Apr 22,2016 10:59:51 AM(http-bio-81-exec-3_532)]:用户身份验证失败:null.
问题似乎出在这一行:$results1 = $service->getChildren($params1);。UnsupportedOperationException 属于 Java Collections 框架,意味着您正在尝试对数组 $params2 执行某些 java api 不支持的操作。我首先要查看的是您正在运行的 java 版本以及 Vignette Collab api 所需的 java 版本。在我看来,也许需要比您当前使用的更高版本的java。
您可能还想深入了解 api 的作用getChildren(),并确保传入正确的参数值。