我有一个使用Java运行在Apache堆栈上的API "Vignette Collab"
,我继承了遗留代码库,并且需要找到这个错误来自哪个显然是最后一个开发人员构建了一个不具备的功能工作和那个错误的地方,但没有更多的信息。它使用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;//
我知道在哪里可以开始寻找此错误或它可能意味着什么?
完整的堆栈跟踪在这里:::
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) at com.acuitys.ws.impl.CollabServiceImpl.populateProperties(CollabServiceImpl.java:236) 在com.acuitys.ws.impl.CollabServiceImpl.getChildren(CollabServiceImpl.java:83) 在com.acuitys.ws.CollabWebservice.getChildren(CollabWebservice.java:34) at sun.reflect.GeneratedMethodAccessor758.invoke(Unknown Source) 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) 在com.sun.xml.ws.api.pipe.Fiber .__ doRun(Fiber.java:595) 在com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93) 在com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) 在com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) 在com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at com.sun.xml.ws.server.WSEndpointImpl $ 2.process(WSEndpointImpl.java:243) 在com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244) 在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) at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129) at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160) at com.sun.xml.ws.transport.http.servlet.WSSpringServlet.doPost(WSSpringServlet.java:52) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 在org.apache.catalina.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) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在com.intraspect.valves.CollabWebDAVFixValve.invoke(CollabWebDAVFixValve.java:34) 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 在org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:310) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:724) [2016年4月22日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 =真安培;属性=真安培; DTD =假安培; OID = 1.9.2878889 [2016年4月22日10:59:51 AM(http-bio-81-exec-3_532)]:用户身份验证失败:null。
答案 0 :(得分:3)
问题似乎与此行有关:$results1 = $service->getChildren($params1);
。 UnsupportedOperationException属于Java Collections框架,意味着您正在尝试对java api不支持的数组$ params2执行某些操作。我要看的第一个地方是你正在运行的java版本以及Vignette Collab api所需的java版本。听起来我可能需要比你现在使用的更高版本的java。
您可能还想深入了解api以查看getChildren()
的作用,并确保传递正确的参数值。