Java无法创建MIME头?

时间:2012-11-06 19:01:40

标签: lotus-notes lotus-domino

好的,我正在使用Java代理循环并将许多Base64字符串转换为它们所代表的图像。我在设置headerVal时遇到问题。下面是代码块。记录显示我正在获取身体,因为它已经是MIMEEntity,但即使我认为我创建了标题,(两次)它不是他们的任何时间 - 所以我说标题的两行都是空打印。我终于在header.setHeaderVal(“image / png”)行上得到一个空指针异常。有人可以告诉我我在这里失踪了吗?

干杯, 布莱恩

MIMEEntity body;                         
if(doc.hasItem("body")){ 
        System.out.println("has MIME body"); 
        body = doc.getMIMEEntity("body"); 
} else { 
        System.out.println("before create MIME body"); 
        body = doc.createMIMEEntity(); 
} 
if(body == null){ 
        body = doc.createMIMEEntity(); 
        System.out.println("body was null"); 
} 
System.out.println("after body item"); 
allObjects.addElement(body); 

if (body == null){ 
        System.out.println("hmm, body is null"); 
} 

System.out.println("before header"); 
//MIMEHeader header = null; 
MIMEHeader header = body.createHeader("Content-Type"); 
System.out.println("after header"); 
if(header == null ){ 
        System.out.println("header was null???"); 
        header = body.createHeader("Content-Type"); 
        System.out.println("after header null create"); 
} 
allObjects.addElement(header); 
if(header == null ){ 
        System.out.println("header was null AGAIN???"); 
        header = body.createHeader("Content-Type"); 
        System.out.println("after header null create AGAIN"); 
} 
System.out.println("after header add object"); 
header.setHeaderVal("image/png"); 

2 个答案:

答案 0 :(得分:2)

您是否错过session.setConvertMIME(false)

以下是Designer帮助示例中的部分:

  // Do not convert MIME to rich text
  session.setConvertMIME(false);
  Database db = agentContext.getCurrentDatabase();
  Document doc = db.createDocument();
  // Create parent entity
  doc.replaceItemValue("Form", "Memo");
  MIMEEntity body = doc.createMIMEEntity();
  MIMEHeader header = body.createHeader("Content-Type");
  header.setHeaderVal("multipart/mixed");

答案 1 :(得分:0)

除了添加上述setConvertMime方法之外,我唯一能找到的是createHeader方法的文档说明:

  

如果标头的创建超过已知,则此方法返回Nothing   同名标题的限制。

我想如果您之前在代码中设置了Content-Type,可能会发生这种情况?