[Domino]“java.lang.ClassCastException:lotus.domino.cso.Item”异常解决办法

news/2024/5/20 21:03:41

[Domino]

java.lang.ClassCastExceptionlotus.domino.cso.Item

异常解决办法

编写者

日期

关键词

郑昀@ultrapower

2005-6

Java Domino RichTextItem

 

 

通过DominoDocument.getFirstItem("Body")是可以获取当前邮件的Body字段,并试图直接转换为RichTextItem类型,从而访问该邮件的附件。

但是,有时候这个转换得到了下面的异常:

Log

Exception:

java.lang.ClassCastException: lotus.domino.cso.Item

导致错误的语句就是:

RichTextItem bodyWithAttachs =

  (RichTextItem)doc.getFirstItem("Body");

 

 

原因在于,这封邮件不一定有RichTextItem,所以最保险的办法是先转换得到Item类型,然后再判断它的real class name

否则如果这封邮件是纯文本,那么直接

RichTextItem bodyWithAttachs =

(RichTextItem)doc.getFirstItem("Body");

将会得到这样的异常:

java.lang.ClassCastException: lotus.domino.cso.Item

解决办法

先转换得到Item,再判断这个Itemreal class Name是否为

lotus.domino.cso.RichTextItem”,

来决定是否应该进一步作RichTextItem强制转换

Log提示:

   // grab the Body field of the current document,

   // and check each attachment

   Item itRichText = doc.getFirstItem("Body");

   if("lotus.domino.cso.RichTextItem" ==

          itRichText.getClass().getName() )

   {

          /*

           * 不一定这封邮件有RichTextItem,所以最保险的办法是先转换得到Item类型,

           * 然后再判断它的类名。

           * 否则如果这封邮件是纯文本,那么直接

           * RichTextItem bodyWithAttachs =

              (RichTextItem)doc.getFirstItem("Body");

              将会得到这样的异常:

              java.lang.ClassCastException: lotus.domino.cso.Item

           */

       RichTextItem bodyWithAttachs =

              (RichTextItem)itRichText;

虽然是一个很小的细节,但还是写下来了

 

 

编写者

日期

关键词

郑昀@ultrapower

2005-6

Java Domino RichTextItem

 

 





http://www.niftyadmin.cn/n/3649588.html

相关文章

命令行基础知识:使用ImageMagick调整图像大小

If you’ve ever done programmatic image manipulation (especially in PHP) you have probably encountered the ImageMagick library or it’s major fork, GraphicsMagick. In addition to being able to leverage it’s power from many popular programming languages, y…

什么是华为认证?HCIA HCIP HCIE分别是什么认证体系?

一、华为公司简介 华为创立于1987年,是全球领先的ICT (信息与通信)基础设施和智能终端提供商,我们致力于把数字世界带入每个人、 每个家庭、每个组织,构建万物互联的智能世界。目前华为有18.8万员工,业务遍及170多个国…

Sync4j的Nokia手机实践结果

配置好Sync4j服务器后,我在Nokia手机上设置好同步,准备和这个远端服务器进行联系人的同步。下面的日志记录了两次失败的过程:第一次手机登录:由于Sync4j对设备要求事先在管理控制台上配置好,并添加规则,才能…

jarhoo是一个很棒的地方

jarhoo是一个很棒的根据类名找jar包的地方,。在写程序的时候,我反正是经常遇到某一个类声明不知道是哪一个jar包的,比如某一个开源包报告了java.lang.NoClassDefFoundError: javax/servlet/http/HttpSessionListener错误,搞得满世…

服务周期性工作内容_使服务工作者生命周期神秘化

服务周期性工作内容介绍 (Introduction) Service workers play a very vital role in Progressive Web Apps (PWA), as they are responsible for offline caching, push notifications, background sync etc. In this article, we’ll be demystifying the service worker lif…

Adobe Dreamweaver CC 2019 安装教程

一、DW简介 Adobe Dreamweaver,简称“DW”,中文名称 “梦想编织者”,最初为美国MACROMEDIA公司开发 ,2005年被Adobe公司收购。DW是集网页制作和管理网站于一身的所见即所得网页代码编辑器。利用对 HTML、CSS、JavaScript等内容的…

Json的知识点全解析,解析json数据的好工具大全

一、Json知识点 待续。。。。。。 二、Json解析工具 1、fastjson网址:http://fastjson.codeplex.com/ 教程博客:fastjson教程(http://blog.sina.com.cn/s/blog_7ffb8dd501013qas.html)2、网站:bejson网址:h…

CentOS系统:自动化运维工具Ansible的安装与配置

一、Ansible工具简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 二、Ansible的安…