8

我有一个"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;//

关于我可以从哪里开始查找此错误或它可能意味着什么的任何想法?

完整的堆栈跟踪在这里:::

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.acuitys.ws.impl.CollabServiceImpl.populateProperties(CollabServiceImpl.java:236) 的 com.intraspect.kmapi.client.KMDocument.getDocType(KMDocument.java:331) 的客户端尚不支持此方法) at 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 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。51 AM (http-bio-81-exec-3_532)]:用户身份验证失败:null。[2016 年 4 月 22 日上午 10:59:51 (http-bio-81-exec-3_532)]:ecmtrtest1:http cmd:查找,http-bio-81-exec-3,kmapi=true&properties=true&dtd=false&oid=1.9 .2878889 [2016 年 4 月 22 日上午 10:59:51 (http-bio-81-exec-3_532)]:用户身份验证失败:null。

4

1 回答 1

4

问题似乎出在这一行:$results1 = $service->getChildren($params1);. UnsupportedOperationException 属于 Java Collections 框架,意味着您正在尝试对数组 $params2 执行一些 java api 不支持的操作。我首先要看的是您正在运行的 java 版本以及 Vignette Collab api 所需的 java 版本。在我看来,可能需要比您当前使用的更高版本的 java。

您可能还想深入研究 api 以查看其getChildren()作用,并确保您传入了正确的参数值。

于 2016-05-09T12:17:14.497 回答