Hi all,
I am currently on Documentum 6.6 and developed the below code to fetch the document from documentum using ObjectService's get method. When trying to run the method, instead of documents, I am getting the error.
private ObjectService objectService
private ServiceContext serviceContext
public void executeObjectService(String objectID) throws MalformedURLException, JAXBException {
objectService = new ObjectService(new URL("http://localhost:8088/services/core/ObjectService?wsdl"),new QName("http://core.services.fs.documentum.emc.com/", "ObjectService"));
ObjectServicePort port = objectService.getObjectServicePort();
ObjectIdentity identity = new ObjectIdentity();
ObjectId objID = new ObjectId();
objID.setId(objectID);
identity.setObjectId(objID);
identity.setRepositoryName(REPOSITORY_NAME);
ObjectIdentitySet set = new ObjectIdentitySet();
set.getIdentities().add(identity);
OperationOptions options = new OperationOptions();
ContentTransferProfile contentTransferProfile = new ContentTransferProfile();
contentTransferProfile.setTransferMode(ContentTransferMode.MTOM);
ContentProfile contentProfile = new ContentProfile();
contentProfile.setFormatFilter(FormatFilter.ANY);
contentProfile.setUrlReturnPolicy(UrlReturnPolicy.NEVER);
contentProfile.setPageFilter(PageFilter.ANY);
contentProfile.setRenditionTypeFilter(RenditionTypeFilter.ANY);
contentProfile.setPageModifierFilter(PageModifierFilter.ANY);
options.getProfiles().add(contentProfile);
options.getProfiles().add(contentTransferProfile);
options.setProperties(new PropertySet());
serviceContext.getProfiles().add(contentProfile);
serviceContext.getProfiles().add(contentTransferProfile);
JAXBRIContext jaxbContext = (JAXBRIContext)(JAXBRIContext.newInstance(ServiceContext.class));
Header header = Headers.create(jaxbContext , serviceContext);
WSBindingProvider wsbp = (WSBindingProvider) port;
wsbp.setOutboundHeaders(header);
DataPackage dataPacket = null;
try {
dataPacket = port.get(set, options);
List<DataObject> listOfDataObject = dataPacket.getDataObjects();
for(DataObject data:listOfDataObject) {
System.out.println("Extracting the contents");
List<Content> contents = data.getContents();
System.out.println("File Size L " + contents.size());
for(Content content:contents){
System.out.println(content.getFormat());
System.out.println(content.getClass());
}
}
} catch (SerializableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
======================================================
Error :
com.emc.documentum.fs.services.core.SerializableException: Operation output generation failed: could not retrieve data for identity: 090157c180009874.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:127)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
at $Proxy41.get(Unknown Source)
at com.emc.documentum.fs.services.core.QueryClient.executeObjectService(QueryClient.java:107)
at com.emc.documentum.fs.services.core.QueryClient.callQueryService(QueryClient.java:173)
at com.emc.documentum.fs.services.core.QueryClient.main(QueryClient.java:193)
But, When I am trying to access the same with Productivty layer, I am able to get the documents without any issues.
Any idea ?
Thanks
Regards
VK