Total Pageviews

2006/08/27

[Mail] commons-mail 亂碼問題

[常見問題1]sent出去的mail的中文標題變成亂碼

呼叫setCharset此方法,設定編碼方式為UTF-8
public void setCharset(java.lang.String newCharset)
http://jakarta.apache.org/commons/email/api-release/org/apache/commons/mail/Email.html#setCharset(java.lang.String)



[常見問題2]sent出去的mail的中文內文便成亂碼

呼叫setContent此方法,第一個參數給予訊息內容,第二個參數給予conent type,例如text/plain;charset=UTF-8
public void setContent(java.lang.Object aObject,
java.lang.String aContentType)
http://jakarta.apache.org/commons/email/api-release/org/apache/commons/mail/Email.html#setContent(java.lang.Object,%20java.lang.String)


[常見問題3]sent出去的附件中文檔名變成亂碼

在EmailAttachment的物件中的setName方法中,使用MimeUtility的encodeText方法
attachment.setName(MimeUtility.encodeText("中文訊息", "UTF-8", null));

http://java.sun.com/products/javamail/javadocs/javax/mail/internet/MimeUtility.html

2006/08/11

[InfoEngine] Remember to get newOid as you want to update-object


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<ie:unit>
 <ie:webject name="CheckOut-Objects" type="ACT">
  <ie:param name="INSTANCE" data="windchill"/>
  <ie:param name="AUTHORIZATION" data="${@server[]authorization[0]}"/>
  <ie:param name="OBJECT_REF" data="<%=objRef%>"/>
  <ie:param name="GROUP_OUT" data="checkoutDoc"/> 
 </ie:webject>

 <%

 Group checkoutDoc = getGroup("checkoutDoc");;
 String newOid = (String)checkoutDoc.getAttributeValue(0, "obid");
 System.out.println("Checkout Document ends... Update begin, new id");
 System.out.println(newOid);
 %>

 <ie:failure>
 <%System.out.println("no document had been CheckOut");%>
 </ie:failure>

 <ie:success>
 <% System.out.println (getGroup("checkoutDoc").getElementCount() + " document(s) 
 had been CheckOut"); %>
 </ie:success>

</ie:unit> 

<ie:unit>
 <ie:webject name="Update-Objects" type="ACT">
  <ie:param name="INSTANCE" data="windchill"/>
  <ie:param name="GROUP_OUT" data="updateDoc"/>
  <ie:param name="ATTRIBUTE" data="IBA|Revise_By_Drawing"/>
  <ie:param name="OBJECT_REF" data="<%=newOid%>"/>
  <ie:param name="TYPE" data="wt.doc.WTDocument"/>
  <ie:param name="FIELD" data="IBA|Revise_By_Drawing='N'"/> 
  <ie:param name="AUTHORIZATION" data="${@server[]authorization[0]}"/>
 </ie:webject>

 <ie:failure>
  <%System.out.println("no document had been update");%>
 </ie:failure>

 <ie:success>
  <% System.out.println (getGroup("updateDoc").getElementCount() + " document(s) had been updated"); %>
 </ie:success>
</ie:unit>

<ie:unit>

 <ie:webject name="CheckIn-Objects" type="ACT">
  <ie:param name="INSTANCE" data="com.ptc.vm-ase.Windchill"/>
  <ie:param name="ATTRIBUTE" data="IBA|Revise_By_Drawing"/>
  <ie:param name="GROUP_OUT" data="checkInDoc"/>
  <ie:param name="AUTHORIZATION" data="${@server[]authorization[0]}"/>
  <ie:param name="TYPE" data="wt.doc.WTDocument"/>
  <ie:param name="OBJECT_REF" data="<%=newOid%>"/>
 </ie:webject>

 <ie:failure>
  <%System.out.println("no document had been checked-in");%>
 </ie:failure>

 <ie:success>
  <% System.out.println (getGroup("checkInDoc").getElementCount() + " document(s) had been checked-in"); %>
 </ie:success>

</ie:unit>

[InfoEngine] Where to find the compiled InfoEngine Task

You can find the Java files and class files under:
<Windchill_HOME>\tasks\codebase\com\infoengine\compiledTasks