on 04-29-2009 12:27 PM
Hello All,
I have a problem by creating a new ressource via the java api of the km. The szenario is the following one:i create a picture dynamically with java in the application after generating the picture i write it into en outputstream and want to save it over the km java api into a special folder in the km. The file appears in the km correctly but if i try to open it or to download it i get an failure, most of the time an internal 500, so the file seems to be corrupt.
At the next step i tried it with an definitily not corrputed picture, by reading this on into an fileinputstream and pass this inputstream over to the km, but still the same issue. The file is there but i cant open it.
Here are the lines of code for access km and create the ressource:
public static void writeFileIntoKM (InputStream file, String fileName) {
RID pathRID = RID.getRID("/documents/OMDOCSPACE/lab/ActivityRecorder");
try {
IUser serviceUser = WPUMFactory.getServiceUserFactory().getServiceUser("cmadmin_service");
ResourceContext resourseContext = new ResourceContext(serviceUser);
IResourceFactory resourseFactory = com.sapportals.wcm.repository.ResourceFactory.getInstance();
ICollection collection = (ICollection)resourseFactory.getResource(pathRID, resourseContext);
//Read the File
InputStream stream = file;
String resourceName = fileName;
//KM Content
Content cont = new Content(stream,"image/png",-1,null);
//create a file in above mentioned path in KM
com.sapportals.wcm.repository.IResource new_resource = (com.sapportals.wcm.repository.IResource)collection.createResource(resourceName, null, cont);
} catch (ResourceException e) {
e.printStackTrace();
} catch (UserManagementException e) {
e.printStackTrace();
} catch (ContentException e) {
e.printStackTrace();
}
}
Has anybody an idea what i'm doing wrong?
Best regards,
Andre
Hi,
have you tried, to upload an image directly with the Standard KM UI ?
best regards,
timo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hmm okay after trying to upload an image via the km ui, the ui says the file is empty and in the default trace there is an classNotFoundException thrown (see below, because the exception message is destroying the hole format).
Is there an special library missing on the application server or some missconfiguration was done in the portal?
Best Regards and Thy to all so far for helping me,
Andre
Could not get rendererClass for IMetaName <broad:new> : and DisplayMode : create ;java.lang.ClassNotFoundException: com.sap.ip.bi.broadcasting.PropertyRendererNew
at com.sapportals.wcm.crt.CrtClassLoaderRegistry.findClass(CrtClassLoaderRegistry.java:176)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at com.sapportals.wcm.control.util.PropertyRenderUtil.getRenderer(PropertyRenderUtil.java:443)
at com.sapportals.wcm.control.util.propertystructure.StandardGroupRenderer.getProperties(StandardGroupRenderer.java:416)
at com.sapportals.wcm.control.util.propertystructure.UnmodelledPropertiesGroupRenderer.getProperties(UnmodelledPropertiesGroupRenderer.java:340)
at com.sapportals.wcm.control.util.propertystructure.StandardGroupRenderer.getProperties(StandardGroupRenderer.java:387)
at com.sapportals.wcm.control.edit.PropertiesControl.readInputData(PropertiesControl.java:2747)
at com.sapportals.wdf.stack.Control.triggerInput(Control.java:473)
at com.sapportals.wdf.stack.Control.triggerInput(Control.java:468)
at com.sapportals.wdf.WdfEventDispatcher.dispatch(WdfEventDispatcher.java:173)
at com.sapportals.wdf.WdfCompositeController.onWdfEvent(WdfCompositeController.java:539)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sapportals.htmlb.page.DynPage.doProcessCompositeEvent(DynPage.java:204)
at com.sapportals.htmlb.page.DynPage.doProcessCurrentEvent(DynPage.java:142)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:115)
at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
at com.sapportals.wcm.portal.component.base.ControllerComponent.doContent(ControllerComponent.java:77)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
There are two exceptions which coming up in the default trace of the portal.
First one:
-
couldn't retrieve contents with id 897648164885 com.sapportals.wcm.util.content.ContentException: couldn't retrieve contents with id 897648164885
at com.sapportals.wcm.repository.manager.cm.persistence.DBContentInputStream.getInternalStream(DBContentInputStream.java:345)
at com.sapportals.wcm.repository.manager.cm.persistence.DBContentInputStream.<init>(DBContentInputStream.java:50)
at com.sapportals.wcm.repository.manager.cm.persistence.BasicPersistenceDB.selectDocumentContent(BasicPersistenceDB.java:1556)
at com.sapportals.wcm.repository.manager.cm.persistence.commonjdbc.DBContent.getInputStream(DBContent.java:114)
at com.sapportals.wcm.repository.manager.cm.persistence.commonjdbc.DBContent.getInputStream(DBContent.java:95)
at com.sapportals.wcm.repository.ContentImpl$ContentWithPrefetchedInputStream.<init>(ContentImpl.java:402)
at com.sapportals.wcm.repository.ContentImpl.initContent(ContentImpl.java:360)
at com.sapportals.wcm.repository.ContentImpl.getInputStream(ContentImpl.java:111)
at com.sapportals.wcm.repository.ContentImpl.getInputStream(ContentImpl.java:132)
at com.sapportals.wcm.protocol.webdav.server.WDGetHandler.internalHandle(WDGetHandler.java:368)
at com.sapportals.wcm.protocol.webdav.server.WDGetHandler.handle(WDGetHandler.java:257)
at com.sapportals.wcm.protocol.webdav.server.WDServlet.doGet(WDServlet.java:763)
at com.sapportals.wcm.protocol.webdav.server.WDServlet.service(WDServlet.java:454)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:333)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
-
Second one:
-
com.sapportals.wcm.util.content.ContentException: failed to create ContentInputStream
at com.sapportals.wcm.repository.manager.cm.persistence.DBContentInputStream.<init>(DBContentInputStream.java:54)
at com.sapportals.wcm.repository.manager.cm.persistence.BasicPersistenceDB.selectDocumentContent(BasicPersistenceDB.java:1556)
at com.sapportals.wcm.repository.manager.cm.persistence.commonjdbc.DBContent.getInputStream(DBContent.java:143)
at com.sapportals.wcm.repository.manager.cm.persistence.commonjdbc.DBContent.getInputStream(DBContent.java:95)
at com.sapportals.wcm.repository.ContentImpl$ContentWithPrefetchedInputStream.<init>(ContentImpl.java:402)
at com.sapportals.wcm.repository.ContentImpl.initContent(ContentImpl.java:360)
at com.sapportals.wcm.repository.ContentImpl.getInputStream(ContentImpl.java:111)
at com.sapportals.wcm.repository.ContentImpl.getInputStream(ContentImpl.java:132)
at com.sapportals.wcm.protocol.webdav.server.WDGetHandler.internalHandle(WDGetHandler.java:368)
at com.sapportals.wcm.protocol.webdav.server.WDGetHandler.handle(WDGetHandler.java:257)
at com.sapportals.wcm.protocol.webdav.server.WDServlet.doGet(WDServlet.java:763)
at com.sapportals.wcm.protocol.webdav.server.WDServlet.service(WDServlet.java:454)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:333)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
-
but the dont give me much information where i have to look about or where the problem could be i'm not so deep into this portal stuff this time.
Regards,
Andre
P.S. sry about the formatting i didn't get a better layout working ^^
Edited by: Andre Wendel on Apr 29, 2009 3:47 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, i can access all the other created files over web dav and km. I have only problems by accessing the files/images i create with this code snippet from above. And this problem with opening the generated files is the same the way of accessing it (WebDAV or portal) doesnt matter.
Regards,
Andre
What exception are you getting when the 500 status occurs?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.