diff --git a/source/java/org/alfresco/repo/webservice/classification/ClassificationWebService.java b/source/java/org/alfresco/repo/webservice/classification/ClassificationWebService.java index 3f22d9558d..122a8c0ceb 100644 --- a/source/java/org/alfresco/repo/webservice/classification/ClassificationWebService.java +++ b/source/java/org/alfresco/repo/webservice/classification/ClassificationWebService.java @@ -373,16 +373,25 @@ public class ClassificationWebService extends AbstractWebService implements { ClassificationWebService.this.nodeService.addAspect(nodeRef, aspect, null); } - - ArrayList categoryNodeRefs = new ArrayList(category.getCategories().length); - for (Reference categoryReference : category.getCategories()) + + Reference[] categories = category.getCategories(); + ArrayList categoryNodeRefs = null; + if(categories == null) { - categoryNodeRefs.add(Utils.convertToNodeRef( - categoryReference, - ClassificationWebService.this.nodeService, - ClassificationWebService.this.searchService, - ClassificationWebService.this.namespaceService)); + categoryNodeRefs = new ArrayList(0); } + else + { + categoryNodeRefs = new ArrayList(categories.length); + for (Reference categoryReference : categories) + { + categoryNodeRefs.add(Utils.convertToNodeRef( + categoryReference, + ClassificationWebService.this.nodeService, + ClassificationWebService.this.searchService, + ClassificationWebService.this.namespaceService)); + } + } ClassificationWebService.this.nodeService.setProperty(nodeRef, propertyName, categoryNodeRefs); @@ -418,7 +427,7 @@ public class ClassificationWebService extends AbstractWebService implements throw new ClassificationFault(0, e.getMessage()); } } - + /** * @see org.alfresco.repo.webservice.classification.ClassificationServiceSoapPort#describeClassification(org.alfresco.repo.webservice.types.Reference) */