on 09-15-2008 7:26 AM
Dear All,
I am getting the following error when I run an application to assign properties to documents on KM:
#1.5#001321CCE41F00DC00000144000088A8000456ADC2016101#1221204191125#com.sapportals.wcm.protocol.webdav.server.WDServlet#sap.com/irj#com.sapportals.wcm.protocol.webdav.server.WDServlet#index_service#15729##INBRC_IN7_21412850#index_service#b465de40808a11dd88de001321cce41f#SAPEngine_Application_Thread[impl:3]_107##0#0#Error##Plain###serving request (-> 500) - java.lang.IllegalStateException: GET on http://inbrc:50200/irj/go/km/docs/KM/PROJECTS/HM/020%20ASAP%20Deliverables/024-%20Final%20Preparatio... expected 241664 bytes, but got 65536
What could be the problem? Is there any size restrictions for documents on KM? If yes, how can this be increased?
Thanks and Regards,
Shyam.
As evident from the stack trace, this will only occur when somebody actually does an HTTP GET request to the resource; so your code isn't causing it; but it may be triggering something else in the system which causes the GET request.
As for the reason: it means that either it wasn't possible to read more than 64K bytes from the repository (likely a repository manager bug or a config issue), or that the servlet failed to deliver more than 64K to the client (but I think in this case it should be a different message).
And no, it doesn't have anything to do with most of the other ideas people posted, in particular not maximum row numbers in Excel. People: sometimes just googling for some keywords isn't really helpful.
Best regards, Julian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Shyam,
Are you getting this error only for a particular resource or for all the resource?
Is the resource is in the workflow?
Is the resource in some index?
Is the resource versioned?
Try running ur application for another folder or resource...
Regards
BP
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Shyam,
Could you please explain what exactly are you doing and a bit on the Platform informations?
What sort of application are u writting?
Was it a Hot Deployment component and after the deployment did u perform a restart?
Are you updating a property of KM with a long string?
Are you running a WebDav script?
Does it involve a cross repository application?
What are the size(in KB or MB) of these files u r reffering to?
Please provide these details also
Regards
BP
Dear Bobu,
I am running a webdynpro application which sets the values for predefined properties on KM documents.
What I infer from the error is some kind of size constraint. It seems documents with size beyond 65536 bytes is throwing the error. For other documents its working fine. Is there some kind of size constraints in KM?
The property is a string. We are not running any webdav scripts.
Thanks,
Shyam.
Shyam,
Documents with size 65536bytes means, 65KB.
I dont hink that there will be any problem with the file size of
65KB. Thats why i am asking, what are the properties that you
are updating through the application. Is it a big string? what
could be the character length of those properties? could that
contain characters above 65536?
U need to study the behaviour of ur error and narrow down the
possible causes of the error.
Regards
BP
Dear Bobu,
I have already cheched that. I commented that part of the code where it was trying to modify/set the properties. Then i tried just to print the size of the documents. I used the following code:
ICollection currentFolder = (ICollection) ResourceFactory.getInstance().getResource(rid,irCtx);
//
//
////
if (currentFolder != null)
{
IResourceList children = null;
children = currentFolder.getChildren();
IResourceListIterator it = children.listIterator();
while (it.hasNext())
{
com.sapportals.wcm.repository.IResource childRes =it.next();
IPropertyFilter predecessorFilter;
IPropertyMap propMap;
propMap = childRes.getProperties();
long si =0;
com.sapportals.wcm.util.content.IContent content = childRes.getContent();
si = content.getContentLength();
wdComponentAPI.getMessageManager().reportSuccess("size"+si);
}
Even this is also giving the same error. So I think its clear from this that the error has not got anything to do with the properties. It seems the system cant retrieve the file.
This is the complete trace for one file:
#1.5#001321CCE41F0069000000160000CC7C000456EB920E1D95#1221469674562#com.sapportals.wcm.protocol.webdav.server.WDServlet#sap.com/irj#com.sapportals.wcm.protocol.webdav.server.WDServlet#index_service#590##INBRC_IN7_21412850#index_service#c1015220830411ddcf5d001321cce41f#SAPEngine_Application_Thread[impl:3]_3##0#0#Error##Plain###serving request (-> 500) - java.lang.IllegalStateException: GET on http://inbrc:50200/irj/go/km/docs/KM/PROJECTS/AD/010%20Project%20Management/012%20-%20Planning%20Pha... expected 108544 bytes, but got 65536
at com.sapportals.wcm.protocol.webdav.server.WDGetHandler.copy(WDGetHandler.java:653)
at com.sapportals.wcm.protocol.webdav.server.WDGetHandler.internalHandle(WDGetHandler.java:558)
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:331)
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:646)
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.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
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)
Thanks,
Shyam.
Hi Shyam,
It seems there is a problem with more than 65536 rows in excel.
Just google "65536 Excel".
And 1 more thing i noticed in ur code, u r using,
com.sapportals.wcm.util.content.IContent content = childRes.getContent();
U can use resource.getsize to display the size.
Is there any reason why u r using resource.getcontent() ?
Is this error happening only to excel files?
If so open the excel and see whether its a big excel having more
than 65536 rows...
Regards
BP
User | Count |
---|---|
84 | |
10 | |
9 | |
8 | |
6 | |
6 | |
6 | |
5 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.