on 05-21-2007 6:13 AM
i am getting the following error any idea how to solve this
download the file in a table with binary attachment
context
+EmailOutDetails (parent)
.............--attachment (child)
.............--attachmentid (child)
.............--attachmentName(child)
.............--emailId (child)
.............--fileSize (child)
+attachment
+fileSize
if from the sample tutorial it is in the first level of the Context,
but if i have multiple attachment
i need to put it in EmailsOutDetail Node
it works in this way
IWDAttributeInfo attInfo=wdContext.getNodeInfo().getAttribute(IPrivateMailOutboundView.IContextElement.ATTACHMENT);
IWDModifiableBinaryType binaryType=(IWDModifiableBinaryType)attInfo.getModifiableSimpleType();
binaryType.setFileName(outMailDet.getAttachmentName());
binaryType.setMimeType(WDWebResourceType.UNKNOWN);
try{
wdContext.currentContextElement().setAttachment(attachment);
wdContext.currentContextElement().setFileSize(getFileSize(attachment));
}catch(Exception e){
System.err.println("Attachment file download exception:" +e.getMessage());
throw new WDRuntimeException(e);
}
java.lang.IllegalArgumentException
at com.sap.dictionary.runtime.DdTypeBinary.format(DdTypeBinary.java:60)
at com.sap.tc.webdynpro.clientserver.data.DataContainer.doFormat(DataContainer.java:1389)
at com.sap.tc.webdynpro.clientserver.data.DataContainer.getAndFormat(DataContainer.java:1083)
at com.sap.tc.webdynpro.clientserver.data.DataContainer.getAndFormat(DataContainer.java:1055)
at com.sap.tc.webdynpro.clientimpl.html.uielib.standard.uradapter.FileDownloadAdapter.getReference(FileDownloadAdapter.java:260)
at com.sap.tc.ur.renderer.ie6.LinkRenderer.render(LinkRenderer.java:42)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.SapTableCellRenderer.renderSapTableGenericCellFragment(SapTableCellRenderer.java:1328)
at com.sap.tc.ur.renderer.ie6.SapTableCellRenderer.renderSapTableCellFragment(SapTableCellRenderer.java:228)
at com.sap.tc.ur.renderer.ie6.SapTableCellRenderer.render(SapTableCellRenderer.java:68)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.SapTableRowRenderer.renderSapTableRowFragment(SapTableRowRenderer.java:89)
at com.sap.tc.ur.renderer.ie6.SapTableRowRenderer.render(SapTableRowRenderer.java:38)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.SapTableDefaultBodyRenderer.renderSapTableDefaultBodyFragment(SapTableDefaultBodyRenderer.java:170)
at com.sap.tc.ur.renderer.ie6.SapTableDefaultBodyRenderer.render(SapTableDefaultBodyRenderer.java:33)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.SapTableRenderer.renderSapTableFragment(SapTableRenderer.java:602)
at com.sap.tc.ur.renderer.ie6.SapTableRenderer.render(SapTableRenderer.java:68)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutItemFragment(FlowLayoutRenderer.java:255)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutFragment(FlowLayoutRenderer.java:192)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.render(FlowLayoutRenderer.java:38)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:540)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:58)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.GridLayoutRenderer.renderGridLayoutCellFragment(GridLayoutRenderer.java:783)
at com.sap.tc.ur.renderer.ie6.GridLayoutRenderer.renderGridLayoutRowFragment(GridLayoutRenderer.java:401)
at com.sap.tc.ur.renderer.ie6.GridLayoutRenderer.renderGridLayoutFragment(GridLayoutRenderer.java:318)
at com.sap.tc.ur.renderer.ie6.GridLayoutRenderer.render(GridLayoutRenderer.java:68)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:540)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:58)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.ViewContainerRenderer.renderViewContainerFragment(ViewContainerRenderer.java:118)
at com.sap.tc.ur.renderer.ie6.ViewContainerRenderer.render(ViewContainerRenderer.java:38)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutItemFragment(FlowLayoutRenderer.java:255)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutFragment(FlowLayoutRenderer.java:192)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.render(FlowLayoutRenderer.java:38)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:540)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:58)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripItemContentFragment(TabStripRenderer.java:1729)
at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripFragment(TabStripRenderer.java:646)
at com.sap.tc.ur.renderer.ie6.TabStripRenderer.render(TabStripRenderer.java:58)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutItemFragment(FlowLayoutRenderer.java:255)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutFragment(FlowLayoutRenderer.java:192)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.render(FlowLayoutRenderer.java:38)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:540)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:58)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripItemContentFragment(TabStripRenderer.java:1729)
at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripFragment(TabStripRenderer.java:646)
at com.sap.tc.ur.renderer.ie6.TabStripRenderer.render(TabStripRenderer.java:58)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutItemFragment(FlowLayoutRenderer.java:339)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutFragment(FlowLayoutRenderer.java:192)
at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.render(FlowLayoutRenderer.java:38)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.SingleColumnLayoutRenderer.renderSingleColumnLayoutCellFragment(SingleColumnLayoutRenderer.java:605)
at com.sap.tc.ur.renderer.ie6.SingleColumnLayoutRenderer.renderSingleColumnLayoutFragment(SingleColumnLayoutRenderer.java:237)
at com.sap.tc.ur.renderer.ie6.SingleColumnLayoutRenderer.render(SingleColumnLayoutRenderer.java:63)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:698)
at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:58)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.UiWindowRenderer.render(UiWindowRenderer.java:53)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:390)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:129)
at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendHtml(HtmlClient.java:567)
at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:358)
at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:266)
at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.retrieveData(HtmlClient.java:157)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:430)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:659)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55)
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)
IPrivateMailOutboundView.IEmailOutDetailsElement elem=null;
try{
for(int i=n-1;i>=0;i--){
if(wdContext.nodeTablesEmailOut().isMultiSelected(i) || leadSelected==i){
IPrivateMailOutboundView.ITablesEmailOutElement element=wdContext.nodeTablesEmailOut().getTablesEmailOutElementAt(i);
map.put("EMAILID=","'"+element.getEmailId()+"'");
col=mailOutDetBean.getMailOutDetBy(map);
System.err.println("col:" +col.size() +" emailid:" +element.getEmailId());
}
for(Iterator it=col.iterator();it.hasNext();){
OutMailDetailsBean outMailDet=(OutMailDetailsBean)it.next();
elem=wdContext.createEmailOutDetailsElement();
elem.setAttachmentId(outMailDet.getAttachmentId());
elem.setAttachmentName(outMailDet.getAttachmentName());
elem.setEmailId(outMailDet.getEmailId());
byte[] attachment=outMailDet.getAttachment();
IWDAttributeInfo attInfo=wdContext.getNodeInfo().getAttribute(IPrivateMailOutboundView.IEmailOutDetailsElement.ATTACHMENT);
IWDModifiableBinaryType binaryType=(IWDModifiableBinaryType)attInfo.getModifiableSimpleType();
binaryType.setFileName(outMailDet.getAttachmentName());
binaryType.setMimeType(WDWebResourceType.UNKNOWN);
try{
elem.setAttachment(attachment);
elem.setFileSize(getFileSize(attachment));
}catch(Exception e){
System.err.println("Attachment file download exception:" +e.getMessage());
throw new WDRuntimeException(e);
}
detCol.add(elem);
}
wdContext.nodeEmailOutDetails().bind(detCol);
manager.reportSuccess("Outbound Mail Sucessful" +element.getEmailId() +" size: " +col.size());
}
}
}catch(Exception e){
System.err.println("Exception in DisplayRowItem:" +e);
}
Message was edited by:
yzme yzme
Message was edited by:
yzme yzme
Message was edited by:
yzme yzme
Message was edited by:
yzme yzme
If my question is not clear, i will elaborate more...
from the tutorial for file download, it is only single file,
if i have multiple file, i will put it in tables,
how do i change the code accordingly for the tables ,
i have to create a new node for tables for eg: EmailsOutDetail (Node) with the following attribute : attachment(binary), attachmentId, attachmentName, emailId, fileSize
the example is with attribute : attachment(binary), fileSize under the Context
the code below work
ArrayList detCol=new ArrayList();
byte[] attachment=outMailDet.getAttachment();
IWDAttributeInfo attInfo=wdContext.getNodeInfo().getAttribute(IPrivateMailOutboundView.IContextElement.ATTACHMENT);
IWDModifiableBinaryType binaryType=(IWDModifiableBinaryType)attInfo.getModifiableSimpleType();
binaryType.setFileName(outMailDet.getAttachmentName());
binaryType.setMimeType(WDWebResourceType.UNKNOWN);
try{
wdContext.currentContextElement().setAttachment(attachment);
wdContext.currentContextElement().setFileSize(getFileSize(attachment));
}catch(Exception e){
System.err.println(e.getMessage());
}
after that i change to :
for(Iterator it=col.iterator();it.hasNext();){
OutMailDetailsBean outMailDet=(OutMailDetailsBean)it.next();
elem=wdContext.createEmailOutDetailsElement();
elem.setAttachmentId(outMailDet.getAttachmentId());
elem.setAttachmentName(outMailDet.getAttachmentName());
elem.setEmailId(outMailDet.getEmailId());
byte[] attachment=outMailDet.getAttachment();
IWDAttributeInfo attInfo=wdContext.getNodeInfo().getAttribute(IPrivateMailOutboundView.IEmailOutDetailsElement.ATTACHMENT);
IWDModifiableBinaryType binaryType=(IWDModifiableBinaryType)attInfo.getModifiableSimpleType();
binaryType.setFileName(outMailDet.getAttachmentName());
binaryType.setMimeType(WDWebResourceType.UNKNOWN);
try{
elem.setAttachment(attachment);
elem.setFileSize(getFileSize(attachment));
}catch(Exception e){
System.err.println(e.getMessage());
}
detCol.add(elem);
}
wdContext.nodeEmailOutDetails().bind(detCol);
when i change my code for the emailsOutDetail (node) i hit the error? any idea ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi ,
I got your requirement.
In your code..
for(Iterator it=col.iterator();it.hasNext();){
OutMailDetailsBean outMailDet=(OutMailDetailsBean)it.next();
elem=wdContext.createEmailOutDetailsElement();
elem.setAttachmentId(outMailDet.getAttachmentId());
elem.setAttachmentName(outMailDet.getAttachmentName());
elem.setEmailId(outMailDet.getEmailId());
byte[] attachment=outMailDet.getAttachment();
//change this line to
IWDAttributeInfo attInfo=wdContext.getNodeInfo().getAttribute(IPrivateMailOutboundView.IEmailOutDetailsElement.ATTACHMENT);
//this..
IWDAttributeInfo attInfo=wdContext.nodeEmailsOutDetail ().getNodeInfo().getAttribute(IPrivateMailOutboundView.IEmailOutDetailsElement.ATTACHMENT);
IWDModifiableBinaryType binaryType=(IWDModifiableBinaryType)attInfo.getModifiableSimpleType();
binaryType.setFileName(outMailDet.getAttachmentName());
binaryType.setMimeType(WDWebResourceType.UNKNOWN);
User | Count |
---|---|
81 | |
9 | |
9 | |
7 | |
7 | |
7 | |
6 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.