on 07-17-2007 7:00 AM
Hi,
Can anyone let me know what this means?
The full stack trace is as follows
at com.tsl.ccs.ui.CCSMain.uploadFileIntoKM(CCSMain.java:2513)
at com.tsl.ccs.ui.CCSMain.exportSearched(CCSMain.java:1633)
at com.tsl.ccs.ui.wdp.InternalCCSMain.exportSearched(InternalCCSMain.java:725)
at com.tsl.ccs.ui.SearchView.onActionExport(SearchView.java:400)
at com.tsl.ccs.ui.wdp.InternalSearchView.wdInvokeEventHandler(InternalSearchView.java:419)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:772)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:707)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:154)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:860)
at com.sap.tc.webdynpro.portal.pb.impl.localwd.LocalApplicationProxy.sendDataAndProcessAction(LocalApplicationProxy.java:77)
at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1259)
at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:324)
at com.sap.portal.pb.PageBuilderat com.tsl.ccs.ui.CCSMain.uploadFileIntoKM(CCSMain.java:2513)
at com.tsl.ccs.ui.CCSMain.exportSearched(CCSMain.java:1633)
at com.tsl.ccs.ui.wdp.InternalCCSMain.exportSearched(InternalCCSMain.java:725)
at com.tsl.ccs.ui.SearchView.onActionExport(SearchView.java:400)
at com.tsl.ccs.ui.wdp.InternalSearchView.wdInvokeEventHandler(InternalSearchView.java:419)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:772)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:707)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:154)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:860)
at com.sap.tc.webdynpro.portal.pb.impl.localwd.LocalApplicationProxy.sendDataAndProcessAction(LocalApplicationProxy.java:77)
at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1259)
at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:324)
at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:830)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:752)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:705)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:154)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
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)
.doPhase(PageBuilder.java:830)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:752)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:705)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:154)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
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)
<b>I have solved the funny problem</b>
Restart the NWDS and compile all the DCs. Deploy again. Then it works ok.
Its SAP mate. I am new to Webdynpro but I am getting good feeling how difficult it can be at times.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ok Thanks guys. I have given the foler all permissions. I should also add that I am actually able to upload files into KM from other method (but using File upload in webdynpro view).
All the user and foler are valid...... I am clueless here... Any help would be certainly appreciated..
<b>Action</b>
public void onActionExport(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
{
//@@begin onActionExport(ServerEvent)
wdThis.wdGetCCSMainController().exportSearched(); -->400
//@@end
}
<b>CCSController code</b>
//@@begin javadoc:exportSearched()
/** Declared method. */
//@@end
public void exportSearched() {
//@@begin exportSearched()
try {
logger.debugT(Category.APPLICATIONS, "*********** reminding the feedback......");
//get the mgr first
FeedBackManagerLocal mgr = ServiceLocator.getInstance().getFeedBackManagerBean();
if (wdContext.nodeSearchResults() != null && wdContext.nodeSearchResults().size() > 0) {
ArrayList fbIds = new ArrayList();
for (int i = 0; i < wdContext.nodeSearchResults().size(); i++) {
ISearchResultsElement element =
(ISearchResultsElement) wdContext.nodeSearchResults().getElementAt(i);
if (element != null) {
fbIds.add(new Long(element.getFeedBackNo()));
}
}
File f =
mgr.export(
fbIds,
wdContext.currentFeedbackViewElement().getCompanyCode(),
UserHelper.getUser(),
null);
uploadFileIntoKM(f);
}
} catch (Exception e) {
String msg = "An error occurred while rejecting the feedback";
logger.errorT(Category.APPLICATIONS, e.toString());
logger.errorT(Category.APPLICATIONS, msg);
MessageAssistant.reportError(wdComponentAPI, msg);
}
//@@end
}
<b>uploadFileIntoKM</b>
public void uploadFileIntoKM(File file) {
final String method = "uploadFileIntoKM(" + file.getName() + ", <resource>)";
logger.debugT(Category.APPLICATIONS, "doing " + method);
try {
String rootFolder =
ServiceLocator.getInstance().getProperty(ServiceLocator.PROPERTY_KM_APP_ROOT, this.getCompanyCode());
logger.debugT(Category.APPLICATIONS, "rootFolder = " + rootFolder);
logger.debugT(Category.APPLICATIONS, "USER = " + UserHelper.getUser().toString());
if (file != null && file.getName() != null) {
FileInputStream fis = new FileInputStream(file);
logger.debugT(Category.APPLICATIONS, "read ");
// create an user object from the current user
IWDClientUser wdClientUser = WDClientUser.getCurrentUser();
com.sap.security.api.IUser sapUser = wdClientUser.getSAPUser();
//create an ep5 user from the retrieved user
com.sapportals.portal.security.usermanagement.IUser ep5User =
WPUMFactory.getUserFactory().getEP5User(sapUser);
//establish resource context
IResourceContext context = new ResourceContext(ep5User);
//the getEP5 user method is deprecated - but right now there is no ther way!
logger.debugT(Category.APPLICATIONS, "unique id = " + UserHelper.getUser());
// if (WPUMFactory.getUserFactory().getEP5User(UserHelper.getUser()) == null) {
// logger.debugT(Category.APPLICATIONS, "NULL ");
// }
// ResourceContext context =
// new ResourceContext(WPUMFactory.getUserFactory().getEP5User(UserHelper.getUser()));
//String root = "/FSApps/SurplusVehiclesAndEquipmentRegister";
IResourceFactory factory = ResourceFactory.getInstance();
//create the folder for the specified barcode.
// try {
// createResource(rootFolder, "CSV_Uploads", UserHelper.getUser());
// } catch (Exception e) {
// }
RID rid = RID.getRID(rootFolder + "/" + "CSV_Uploads");
ICollection folder = (ICollection) factory.getResource(rid, context);
//read the file and create a new content.
Content content = new Content(fis, "byte", -1);
String fileName = "CCS_FBs" + (new Date()).toString().replaceAll(" ", "_").replaceAll("-", "_").replaceAll(":", "_").replaceAll("/", "_");
IResource newResource = folder.createResource(fileName, null, content);
logger.debugT(Category.APPLICATIONS, "after trying KM");
}
} catch (Exception ex) {
ex.printStackTrace();
logger.errorT(method, ex.getMessage());
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
Debug the application and check the contents of IUser.
IUser might not have the permissions in KM.
always in webdynpro application working with KM use service user 'cmadmin_service' to get the resource context.
Service Users are not dialog users which are there by default and have all the permissions in KM.
IWDClientUser wdClientUser = WDClientUser.getClientUser("cmadmin_service");
// Get SAP User
com.sap.security.api.IUser sapUser = wdClientUser.getSAPUser();
// Get EP5 User
com.sapportals.portal.security.usermanagement.IUser ep5User = WPUMFactory.getUserFactory().getEP5User(sapUser);
// Resource Context from ep5User
IResourceContext resourceContext = new ResourceContext(ep5User);
Hope this helps you!!
Regards
Abhimanyu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Can u paste the code inside onActionExport of SearchView.
Just point line 400 in that.
Regards
Fahad Hamsa
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.