Feedback
Did this article resolve your question/issue?

   

Article

Error 10068 with HTTP client multipart/form-data content-type in 11.7.3

Information

 
TitleError 10068 with HTTP client multipart/form-data content-type in 11.7.3
URL NameError-10068-with-HTTP-client-multipart-form-data-content-type-in-11-7-3
Article Number000133692
EnvironmentProduct: OpenEdge
Version: 11.7.3x
OS: Windows
Question/Problem Description
Error 10068 with HTTP client multipart/form-data content-type in 11.7.3

When using the 11.7.3x HTTP client to make a request with Content-type multipart/form-data, results in error 10068 followed by 984 for example:

oRequest = RequestBuilder:POST(oURI, oMultiEntity)
 :ContentType('multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW')
 :AcceptJson()
 :AcceptFormData()
 :Request.

 
Steps to Reproduce
Clarifying Information
A a request with Content-type multipart/form-data works in OpenEdge 11.7.2 or 11.6.4, but can be reproduced in OpenEdge 11.7.3 and hotfix 11.7.3.05.

Removing the ContentType line from the code stops the 10068 and 984 errors happening.  
Error MessageLead attributes in a chained-attribute expression (a:b:c) must be type HANDLE or a user-defined type and valid (not UNKNOWN). (10068)
Error attempting to push run time parameters onto the stack. (984)
Defect/Enhancement NumberDefect OCTA-6949
Cause
This is caused by the introduction of a new multipart/form-data writer in the OpenEdge 11.7.3 Service Pack. This class does not accept MultipartEntity objects.
Resolution
Upgrade to OpenEdge 11.7.4 or later. 
Workaround
Revert back to the previous behavior by removing the writer from the relevant registry. It only needs to be done once in a session, although it does not hurt to do it before each call. 
// Once it is fixed, remove this line.
OpenEdge.Net.HTTP.Filter.Writer.BodyWriterRegistry:Registry:Remove('multipart/form-data':U).  
Notes
Last Modified Date7/3/2019 7:29 AM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.