ICU source string error: 3 when uploading binary files

Posted by Toni Perätalo on 06-Aug-2019 05:49

Hello,

I'm implementing a web handler for uploading files. I have followed Peter Judge's example (https://github.com/PeterJudge-PSC/http_samples/tree/master/web_handler/img_handler) that has been a great help. So thank you very much Peter! Everything works OK for text files, but when uploading binary files (ie. jpg, pdf) I get an error ICU source string error: 3 from OpenEdge.Net.HTTP.Filter.Payload.MultipartEntityWriter.

I have written a very simple web form to test this:

<form action="localhost:8820/.../Attachment" method="post" enctype="multipart/form-data" accept-charset="ISO-8859-1 UTF-8">
  Table name:  <br> 
  <p><input type="text" name="TableName" value="Item"> <br> 
  Table key:  <br> 
  <p><input type="number" name="TableKey" value="1000652"> <br>
  Description:  <br> 
  <p><input type="text" name="Description" value=""> <br>
  File:  <br> 
  <p><input type="file" name="FileContent1">
    <p><button type="submit">Submit</button>
</form>

Does anyone know what could cause this? Do I have something wrong in my web form or could it be some PASOE setting?

Regards,

Toni

Posted by Peter Judge on 06-Aug-2019 13:56

There's a known issue in the MultipartEntityWriter code that parses the body to create the object version, when using certain UTF-8 collations . It looks like the behavious you are seeing it it. It's fixed in 11.7.5 and 12.0.0 . The bug number is ADAS-13404.

All Replies

Posted by Mike Fechner on 06-Aug-2019 08:34

Which OpenEdge Release and do you have a stack trace for the error?

Posted by Toni Perätalo on 06-Aug-2019 09:32

OE 11.7.4

Here is stack trace:

[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           An Progress.Lang.SysError has occurred:

[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           ICU source string error: 3

[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           Write OpenEdge.Net.HTTP.Filter.Payload.MultipartEntityWriter at line 151  (OpenEdge/Net/HTTP/Filter/Payload/MultipartEntityWriter.r)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           Write OpenEdge.Net.HTTP.Filter.Payload.MultipartFormEntityWriter at line 90  (OpenEdge/Net/HTTP/Filter/Payload/MultipartFormEntityWriter.r)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           Write OpenEdge.Net.HTTP.Filter.Payload.MultipartEntityWriter at line 67  (OpenEdge/Net/HTTP/Filter/Payload/MultipartEntityWriter.r)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           SaveAttachment Foo.Erp.Core.Attachment.AttachmentWebHandler at line 552  (C:\src\Erp\Core\Attachment\AttachmentWebHandler.cls)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           HandlePost Foo.Erp.Core.Attachment.AttachmentWebHandler at line 254  (C:\src\Erp\Core\Attachment\AttachmentWebHandler.cls)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           HandleRequest OpenEdge.Web.WebHandler at line 64  (OpenEdge/Web/WebHandler.r)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           HandleRequest OpenEdge.Web.InternalWebRouter at line 113  (OpenEdge/Web/InternalWebRouter.r)

[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL           
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL             Write OpenEdge.Net.HTTP.Filter.Payload.MultipartEntityWriter at line 151  (OpenEdge/Net/HTTP/Filter/Payload/MultipartEntityWriter.r)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL             Write OpenEdge.Net.HTTP.Filter.Payload.MultipartFormEntityWriter at line 90  (OpenEdge/Net/HTTP/Filter/Payload/MultipartFormEntityWriter.r)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL             Write OpenEdge.Net.HTTP.Filter.Payload.MultipartEntityWriter at line 67  (OpenEdge/Net/HTTP/Filter/Payload/MultipartEntityWriter.r)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL             SaveAttachment Foo.Erp.Core.Attachment.AttachmentWebHandler at line 552  (C:\src\Erp\Core\Attachment\AttachmentWebHandler.cls)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL             HandlePost Foo.Erp.Core.Attachment.AttachmentWebHandler at line 254  (C:\src\Erp\Core\Attachment\AttachmentWebHandler.cls)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL             HandleRequest OpenEdge.Web.WebHandler at line 64  (OpenEdge/Web/WebHandler.r)
[19/08/05@14:17:57.128+0300] P-029944 T-031392 1 AS-7 APPL             HandleRequest OpenEdge.Web.InternalWebRouter at line 113  (OpenEdge/Web/InternalWebRouter.r)

Posted by Peter Judge on 06-Aug-2019 13:56

There's a known issue in the MultipartEntityWriter code that parses the body to create the object version, when using certain UTF-8 collations . It looks like the behavious you are seeing it it. It's fixed in 11.7.5 and 12.0.0 . The bug number is ADAS-13404.

Posted by Peter Judge on 06-Aug-2019 13:56

There's a known issue in the MultipartEntityWriter code that parses the body to create the object version, when using certain UTF-8 collations . It looks like the behavious you are seeing it it. It's fixed in 11.7.5 and 12.0.0 . The bug number is ADAS-13404.

Posted by Toni Perätalo on 07-Aug-2019 04:45

Thank you Peter! I'll install 11.7.5 and test with it.

Posted by Toni Perätalo on 24-Sep-2019 13:31

Upgrading to 11.7.5 solved the problem.

Cheers!

This thread is closed