PostMethod task + MyClient bugs???
А.А. Дубовский <[email protected]> Sat, 7 Nov 2009 23:55:40 +0100
| Newsgroups | gmane.comp.java.ant-contrib.devel |
|---|---|
| Message-ID | <[email protected]> |
--0016e6d99ba7102cbf0477cfdcd7
Content-Type: multipart/alternative; boundary=0016e6d99ba7102cb80477cfdcd5
--0016e6d99ba7102cb80477cfdcd5
Content-Type: text/plain; charset=ISO-8859-1
Hello.
1) I have noticed the bug in the documentation see
apache\ant\docs\manual\tasks\http-client_type.html.
The RFC2109 should be used instead of RFC_2109 (which cases an exception:
java.lang.IllegalStateException: Unsupported cookie spec RFC_2109)
2) I believe that there are some bugs in
"net/sf/antcontrib/net/httpclient/PostMethodTask.java".
I belive that the first parameter in
==================================
partArray[i] = new FilePart(filePart.getPath().getName(),
filePart.getPath().getName(),
filePart.getPath(),
filePart.getContentType(),
filePart.getCharSet());
==================================
Should be the name of file attribute (file-input control) not the filename.
(see attached patched file)
For example: Mozilla uses different names for file and for parameter:
-----------------------------------------
Content-Disposition: form-data; name="pic_file[]";
filename="AbstractMethodTask.class"
-----------------------------------------
3) Have anybody succeeded in uploading file to the server. I can't still do
it :(. But I can not also file a bug.
Thanks a lot.
Andrei.
--0016e6d99ba7102cb80477cfdcd5
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Hello.<br><br>1) I have noticed the bug in the documentation see apache\ant=
\docs\manual\tasks\http-client_type.html.<br>The RFC2109 should be used ins=
tead of RFC_2109 (which cases an exception: java.lang.IllegalStateException=
: Unsupported cookie spec RFC_2109)<br>
<br>2) I believe that there are some bugs in "net/sf/antcontrib/net/ht=
tpclient/PostMethodTask.java".<br>I belive that the first parameter in=
<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>partArray[i] =3D new FilePart(filePart=
.getPath().getName(),<br>
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=
=A0=A0 filePart.getPath().getName(),<br>=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=
=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 filePart.getPath(),<br>=A0=
=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=
=A0 filePart.getContentType(),<br>=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 filePart.getCharSet());<br>
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>Should be the name of file attribute (file-i=
nput control) not the filename. (see attached patched file)<br><br>For exam=
ple: Mozilla uses different names for file and for parameter:<br>
-----------------------------------------<br>Content-Disposition: form-data=
; name=3D"pic_file[]"; filename=3D"AbstractMethodTask.class&=
quot;<br>-----------------------------------------<br><br>3) Have anybody s=
ucceeded in uploading file to the server. I can't still do it :(. But I=
can not also file a bug.<br>
<br><br>Thanks a lot.<br>Andrei.<br>
--0016e6d99ba7102cb80477cfdcd5--
--0016e6d99ba7102cbf0477cfdcd7
Content-Type: application/octet-stream; name="PostMethodTask.java"
Content-Disposition: attachment; filename="PostMethodTask.java"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g1qytfts0
LyoNCiAqIENvcHlyaWdodCAoYykgMjAwMS0yMDA2IEFudC1Db250cmliIHByb2plY3QuICBBbGwg
cmlnaHRzIHJlc2VydmVkLg0KICoNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5z
ZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogeW91IG1heSBub3QgdXNlIHRoaXMg
ZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICogWW91IG1heSBv
YnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQogKg0KICogICAgIGh0dHA6Ly93d3cuYXBh
Y2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBh
cHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3Ry
aWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFT
SVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0
aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNp
ZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVu
ZGVyIHRoZSBMaWNlbnNlLg0KICovDQpwYWNrYWdlIG5ldC5zZi5hbnRjb250cmliLm5ldC5odHRw
Y2xpZW50Ow0KDQppbXBvcnQgamF2YS5pby5GaWxlOw0KaW1wb3J0IGphdmEuaW8uRmlsZUlucHV0
U3RyZWFtOw0KaW1wb3J0IGphdmEuaW8uRmlsZU5vdEZvdW5kRXhjZXB0aW9uOw0KaW1wb3J0IGph
dmEuaW8uSU9FeGNlcHRpb247DQppbXBvcnQgamF2YS5pby5VbnN1cHBvcnRlZEVuY29kaW5nRXhj
ZXB0aW9uOw0KaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7DQppbXBvcnQgamF2YS51dGlsLkl0
ZXJhdG9yOw0KaW1wb3J0IGphdmEudXRpbC5MaXN0Ow0KaW1wb3J0IGphdmEudXRpbC5NYXA7DQpp
bXBvcnQgamF2YS51dGlsLlByb3BlcnRpZXM7DQoNCmltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMu
aHR0cGNsaWVudC5IdHRwTWV0aG9kQmFzZTsNCmltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMuaHR0
cGNsaWVudC5OYW1lVmFsdWVQYWlyOw0KaW1wb3J0IG9yZy5hcGFjaGUuY29tbW9ucy5odHRwY2xp
ZW50Lm1ldGhvZHMuSW5wdXRTdHJlYW1SZXF1ZXN0RW50aXR5Ow0KaW1wb3J0IG9yZy5hcGFjaGUu
Y29tbW9ucy5odHRwY2xpZW50Lm1ldGhvZHMuUG9zdE1ldGhvZDsNCmltcG9ydCBvcmcuYXBhY2hl
LmNvbW1vbnMuaHR0cGNsaWVudC5tZXRob2RzLlN0cmluZ1JlcXVlc3RFbnRpdHk7DQppbXBvcnQg
b3JnLmFwYWNoZS5jb21tb25zLmh0dHBjbGllbnQubWV0aG9kcy5tdWx0aXBhcnQuRmlsZVBhcnQ7
DQppbXBvcnQgb3JnLmFwYWNoZS5jb21tb25zLmh0dHBjbGllbnQubWV0aG9kcy5tdWx0aXBhcnQu
TXVsdGlwYXJ0UmVxdWVzdEVudGl0eTsNCmltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMuaHR0cGNs
aWVudC5tZXRob2RzLm11bHRpcGFydC5QYXJ0Ow0KaW1wb3J0IG9yZy5hcGFjaGUuY29tbW9ucy5o
dHRwY2xpZW50Lm1ldGhvZHMubXVsdGlwYXJ0LlN0cmluZ1BhcnQ7DQppbXBvcnQgb3JnLmFwYWNo
ZS50b29scy5hbnQuQnVpbGRFeGNlcHRpb247DQppbXBvcnQgb3JnLmFwYWNoZS50b29scy5hbnQu
dXRpbC5GaWxlVXRpbHM7DQoNCnB1YmxpYyBjbGFzcyBQb3N0TWV0aG9kVGFzaw0KCWV4dGVuZHMg
QWJzdHJhY3RNZXRob2RUYXNrIHsNCg0KCXByaXZhdGUgTGlzdCBwYXJ0cyA9IG5ldyBBcnJheUxp
c3QoKTsNCglwcml2YXRlIGJvb2xlYW4gbXVsdGlwYXJ0Ow0KCXByaXZhdGUgdHJhbnNpZW50IEZp
bGVJbnB1dFN0cmVhbSBzdHJlYW07DQoJDQoJDQoJcHVibGljIHN0YXRpYyBjbGFzcyBGaWxlUGFy
dFR5cGUgew0KCQlwcml2YXRlIEZpbGUgcGF0aDsNCgkJcHJpdmF0ZSBTdHJpbmcgbmFtZT0iIjsN
CgkJcHJpdmF0ZSBTdHJpbmcgY29udGVudFR5cGUgPSBGaWxlUGFydC5ERUZBVUxUX0NPTlRFTlRf
VFlQRTsNCgkJcHJpdmF0ZSBTdHJpbmcgY2hhclNldCA9IEZpbGVQYXJ0LkRFRkFVTFRfQ0hBUlNF
VDsNCgkNCgkJcHVibGljIFN0cmluZyBnZXROYW1lKCkgew0KCQkJcmV0dXJuIG5hbWU7DQoJCX0N
Cg0KCQlwdWJsaWMgdm9pZCBzZXROYW1lKFN0cmluZyBuYW1lKSB7DQoJCQl0aGlzLm5hbWUgPSBu
YW1lOw0KCQl9DQoNCgkJcHVibGljIEZpbGUgZ2V0UGF0aCgpIHsNCgkJCXJldHVybiBwYXRoOw0K
CQl9DQoNCgkJcHVibGljIHZvaWQgc2V0UGF0aChGaWxlIHBhdGgpIHsNCgkJCXRoaXMucGF0aCA9
IHBhdGg7DQoJCX0NCg0KCQlwdWJsaWMgU3RyaW5nIGdldENvbnRlbnRUeXBlKCkgew0KCQkJcmV0
dXJuIGNvbnRlbnRUeXBlOw0KCQl9DQoNCgkJcHVibGljIHZvaWQgc2V0Q29udGVudFR5cGUoU3Ry
aW5nIGNvbnRlbnRUeXBlKSB7DQoJCQl0aGlzLmNvbnRlbnRUeXBlID0gY29udGVudFR5cGU7DQoJ
CX0NCg0KCQlwdWJsaWMgU3RyaW5nIGdldENoYXJTZXQoKSB7DQoJCQlyZXR1cm4gY2hhclNldDsN
CgkJfQ0KDQoJCXB1YmxpYyB2b2lkIHNldENoYXJTZXQoU3RyaW5nIGNoYXJTZXQpIHsNCgkJCXRo
aXMuY2hhclNldCA9IGNoYXJTZXQ7DQoJCX0JCQ0KCX0NCgkNCglwdWJsaWMgc3RhdGljIGNsYXNz
IFRleHRQYXJ0VHlwZSB7DQoJCXByaXZhdGUgU3RyaW5nIG5hbWUgPSAiIjsNCgkJcHJpdmF0ZSBT
dHJpbmcgdmFsdWUgPSAiIjsNCgkJcHJpdmF0ZSBTdHJpbmcgY2hhclNldCA9IFN0cmluZ1BhcnQu
REVGQVVMVF9DSEFSU0VUOw0KCQlwcml2YXRlIFN0cmluZyBjb250ZW50VHlwZSA9IFN0cmluZ1Bh
cnQuREVGQVVMVF9DT05URU5UX1RZUEU7DQoNCgkJcHVibGljIFN0cmluZyBnZXRWYWx1ZSgpIHsN
CgkJCXJldHVybiB2YWx1ZTsNCgkJfQ0KDQoJCXB1YmxpYyB2b2lkIHNldFZhbHVlKFN0cmluZyB2
YWx1ZSkgew0KCQkJdGhpcy52YWx1ZSA9IHZhbHVlOw0KCQl9DQoNCgkJcHVibGljIFN0cmluZyBn
ZXROYW1lKCkgew0KCQkJcmV0dXJuIG5hbWU7DQoJCX0NCg0KCQlwdWJsaWMgdm9pZCBzZXROYW1l
KFN0cmluZyBuYW1lKSB7DQoJCQl0aGlzLm5hbWUgPSBuYW1lOw0KCQl9DQoNCgkJcHVibGljIFN0
cmluZyBnZXRDaGFyU2V0KCkgew0KCQkJcmV0dXJuIGNoYXJTZXQ7DQoJCX0NCg0KCQlwdWJsaWMg
dm9pZCBzZXRDaGFyU2V0KFN0cmluZyBjaGFyU2V0KSB7DQoJCQl0aGlzLmNoYXJTZXQgPSBjaGFy
U2V0Ow0KCQl9DQoNCgkJcHVibGljIFN0cmluZyBnZXRDb250ZW50VHlwZSgpIHsNCgkJCXJldHVy
biBjb250ZW50VHlwZTsNCgkJfQ0KDQoJCXB1YmxpYyB2b2lkIHNldENvbnRlbnRUeXBlKFN0cmlu
ZyBjb250ZW50VHlwZSkgew0KCQkJdGhpcy5jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlOw0KCQl9
CQkNCgkJDQoJCXB1YmxpYyB2b2lkIHNldFRleHQoU3RyaW5nIHRleHQpIHsNCgkJCXRoaXMudmFs
dWUgPSB0ZXh0Ow0KCQl9DQoJfQ0KCQ0KCXB1YmxpYyB2b2lkIGFkZENvbmZpZ3VyZWRGaWxlKEZp
bGVQYXJ0VHlwZSBmaWxlKSB7DQoJCXRoaXMucGFydHMuYWRkKGZpbGUpOw0KCX0NCgkNCglwdWJs
aWMgdm9pZCBzZXRNdWx0aXBhcnQoYm9vbGVhbiBtdWx0aXBhcnQpIHsNCgkJdGhpcy5tdWx0aXBh
cnQgPSBtdWx0aXBhcnQ7DQoJfQ0KDQoJcHVibGljIHZvaWQgYWRkQ29uZmlndXJlZFRleHQoVGV4
dFBhcnRUeXBlIHRleHQpIHsNCgkJdGhpcy5wYXJ0cy5hZGQodGV4dCk7DQoJfQ0KCQ0KCXB1Ymxp
YyB2b2lkIHNldFBhcmFtZXRlcnMoRmlsZSBwYXJhbWV0ZXJzKSB7DQoJCVBvc3RNZXRob2QgcG9z
dCA9IGdldFBvc3RNZXRob2QoKTsNCgkJUHJvcGVydGllcyBwID0gbmV3IFByb3BlcnRpZXMoKTsN
CgkJSXRlcmF0b3IgaXQgPSBwLmVudHJ5U2V0KCkuaXRlcmF0b3IoKTsNCgkJd2hpbGUgKGl0Lmhh
c05leHQoKSkgew0KCQkJTWFwLkVudHJ5IGVudHJ5ID0gKE1hcC5FbnRyeSkgaXQubmV4dCgpOw0K
CQkJcG9zdC5hZGRQYXJhbWV0ZXIoZW50cnkuZ2V0S2V5KCkudG9TdHJpbmcoKSwNCgkJCQkJZW50
cnkuZ2V0VmFsdWUoKS50b1N0cmluZygpKTsNCgkJfQ0KCX0NCg0KCXByb3RlY3RlZCBIdHRwTWV0
aG9kQmFzZSBjcmVhdGVOZXdNZXRob2QoKSB7DQoJCXJldHVybiBuZXcgUG9zdE1ldGhvZCgpOw0K
CX0NCgkNCglwcml2YXRlIFBvc3RNZXRob2QgZ2V0UG9zdE1ldGhvZCgpIHsNCgkJcmV0dXJuICgo
UG9zdE1ldGhvZCljcmVhdGVNZXRob2RJZk5lY2Vzc2FyeSgpKTsNCgl9DQoNCglwdWJsaWMgdm9p
ZCBhZGRDb25maWd1cmVkUGFyYW1ldGVyKE5hbWVWYWx1ZVBhaXIgcGFpcikgew0KCQlnZXRQb3N0
TWV0aG9kKCkuc2V0UGFyYW1ldGVyKHBhaXIuZ2V0TmFtZSgpLCBwYWlyLmdldFZhbHVlKCkpOw0K
CX0NCgkNCglwdWJsaWMgdm9pZCBzZXRDb250ZW50Q2h1bmtlZChib29sZWFuIGNvbnRlbnRDaHVu
a2VkKSB7DQoJCWdldFBvc3RNZXRob2QoKS5zZXRDb250ZW50Q2h1bmtlZChjb250ZW50Q2h1bmtl
ZCk7DQoJfQ0KCQ0KCXByb3RlY3RlZCB2b2lkIGNvbmZpZ3VyZU1ldGhvZChIdHRwTWV0aG9kQmFz
ZSBtZXRob2QpIHsNCgkJUG9zdE1ldGhvZCBwb3N0ID0gKFBvc3RNZXRob2QpIG1ldGhvZDsNCg0K
CQlpZiAocGFydHMuc2l6ZSgpID09IDEgJiYgISBtdWx0aXBhcnQpIHsNCgkJCU9iamVjdCBwYXJ0
ID0gcGFydHMuZ2V0KDApOw0KCQkJaWYgKHBhcnQgaW5zdGFuY2VvZiBGaWxlUGFydFR5cGUpIHsN
CgkJCQlGaWxlUGFydFR5cGUgZmlsZVBhcnQgPSAoRmlsZVBhcnRUeXBlKXBhcnQ7DQoJCQkJdHJ5
IHsNCgkJCQkJc3RyZWFtID0gbmV3IEZpbGVJbnB1dFN0cmVhbSgNCgkJCQkJCQlmaWxlUGFydC5n
ZXRQYXRoKCkuZ2V0QWJzb2x1dGVQYXRoKCkpOw0KCQkJCQlwb3N0LnNldFJlcXVlc3RFbnRpdHko
DQoJCQkJCQluZXcgSW5wdXRTdHJlYW1SZXF1ZXN0RW50aXR5KHN0cmVhbSwNCgkJCQkJCQkJZmls
ZVBhcnQuZ2V0UGF0aCgpLmxlbmd0aCgpLA0KCQkJCQkJCQlmaWxlUGFydC5nZXRDb250ZW50VHlw
ZSgpKSk7DQoJCQkJfQ0KCQkJCWNhdGNoIChJT0V4Y2VwdGlvbiBlKSB7DQoJCQkJCXRocm93IG5l
dyBCdWlsZEV4Y2VwdGlvbihlKTsNCgkJCQl9DQoJCQl9DQoJCQllbHNlIGlmIChwYXJ0IGluc3Rh
bmNlb2YgVGV4dFBhcnRUeXBlKSB7DQoJCQkJVGV4dFBhcnRUeXBlIHRleHRQYXJ0ID0gKFRleHRQ
YXJ0VHlwZSlwYXJ0Ow0KCQkJCXRyeSB7DQoJCQkJCXBvc3Quc2V0UmVxdWVzdEVudGl0eSgNCgkJ
CQkJCQluZXcgU3RyaW5nUmVxdWVzdEVudGl0eSh0ZXh0UGFydC5nZXRWYWx1ZSgpLA0KCQkJCQkJ
CQkJdGV4dFBhcnQuZ2V0Q29udGVudFR5cGUoKSwNCgkJCQkJCQkJCXRleHRQYXJ0LmdldENoYXJT
ZXQoKSkpOw0KCQkJCX0NCgkJCQljYXRjaCAoVW5zdXBwb3J0ZWRFbmNvZGluZ0V4Y2VwdGlvbiBl
KSB7DQoJCQkJCXRocm93IG5ldyBCdWlsZEV4Y2VwdGlvbihlKTsNCgkJCQl9DQoJCQl9DQoJCX0N
CgkJZWxzZSBpZiAoISBwYXJ0cy5pc0VtcHR5KCkpew0KCQkJUGFydCBwYXJ0QXJyYXlbXSA9IG5l
dyBQYXJ0W3BhcnRzLnNpemUoKV07DQoJCQlmb3IgKGludCBpPTA7aTxwYXJ0cy5zaXplKCk7aSsr
KSB7DQoJCQkJT2JqZWN0IHBhcnQgPSBwYXJ0cy5nZXQoaSk7DQoJCQkJaWYgKHBhcnQgaW5zdGFu
Y2VvZiBGaWxlUGFydFR5cGUpIHsNCgkJCQkJRmlsZVBhcnRUeXBlIGZpbGVQYXJ0ID0gKEZpbGVQ
YXJ0VHlwZSlwYXJ0Ow0KCQkJCQl0cnkgew0KCQkJCQkJcGFydEFycmF5W2ldID0gbmV3IEZpbGVQ
YXJ0KGZpbGVQYXJ0LmdldE5hbWUoKSwNCgkJCQkJCQkJZmlsZVBhcnQuZ2V0UGF0aCgpLmdldE5h
bWUoKSwNCgkJCQkJCQkJZmlsZVBhcnQuZ2V0UGF0aCgpLA0KCQkJCQkJCQlmaWxlUGFydC5nZXRD
b250ZW50VHlwZSgpLA0KCQkJCQkJCQlmaWxlUGFydC5nZXRDaGFyU2V0KCkpOw0KCQkJCQl9DQoJ
CQkJCWNhdGNoIChGaWxlTm90Rm91bmRFeGNlcHRpb24gZSkgew0KCQkJCQkJdGhyb3cgbmV3IEJ1
aWxkRXhjZXB0aW9uKGUpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCWVsc2UgaWYgKHBhcnQgaW5zdGFu
Y2VvZiBUZXh0UGFydFR5cGUpIHsNCgkJCQkJVGV4dFBhcnRUeXBlIHRleHRQYXJ0ID0gKFRleHRQ
YXJ0VHlwZSlwYXJ0Ow0KCQkJCQlwYXJ0QXJyYXlbaV0gPSBuZXcgU3RyaW5nUGFydCh0ZXh0UGFy
dC5nZXROYW1lKCksDQoJCQkJCQkJdGV4dFBhcnQuZ2V0VmFsdWUoKSwNCgkJCQkJCQl0ZXh0UGFy
dC5nZXRDaGFyU2V0KCkpOw0KCQkJCQkoKFN0cmluZ1BhcnQpcGFydEFycmF5W2ldKS5zZXRDb250
ZW50VHlwZSh0ZXh0UGFydC5nZXRDb250ZW50VHlwZSgpKTsNCgkJCQl9DQoJCQl9DQoJCQlNdWx0
aXBhcnRSZXF1ZXN0RW50aXR5IGVudGl0eSA9IG5ldyBNdWx0aXBhcnRSZXF1ZXN0RW50aXR5KA0K
CQkJCQlwYXJ0QXJyYXksDQoJCQkJCXBvc3QuZ2V0UGFyYW1zKCkpOw0KCQkJcG9zdC5zZXRSZXF1
ZXN0RW50aXR5KGVudGl0eSk7DQoJCX0NCgl9DQoNCglwcm90ZWN0ZWQgdm9pZCBjbGVhbnVwUmVz
b3VyY2VzKEh0dHBNZXRob2RCYXNlIG1ldGhvZCkgew0KCQlGaWxlVXRpbHMuY2xvc2Uoc3RyZWFt
KTsNCgl9DQoJDQoJDQp9DQo=
--0016e6d99ba7102cbf0477cfdcd7
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
--0016e6d99ba7102cbf0477cfdcd7
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Ant-contrib-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ant-contrib-developers
--0016e6d99ba7102cbf0477cfdcd7--