Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Not able to receive Request from External service

SA-1222

Summary



The application receives a file upload (to a Service HTTP) using a Multi-Part encoded form (as a POST) and then it transfers that request to an Anti-Virus service which will scan the file content and transfer the request back to PRPC. 

When the request is made directly to PRPC HTTP Service, everything works fine.
But when Anti-Virus service sends the request to the HTTP service, it is adding an additional new line character before the multi-part data boundary. This results in PRPC failing to parse the data correctly. 



Error Messages



2014-09-01 15:26:35,164 [fault (self-tuning)'] [ ] [ ] ( web.impl.WebStandardImpl) ERROR - gatewaytest.nehr.sg: Problem retrieving input data: 
java.io.IOException: Corrupt form data: no leading boundary: != -----------------------------7de2f81e2b086a 
at com.pega.pegarules.web.fileupload.MultipartParser.<init>(MultipartParser.java:201) 
at com.pega.pegarules.web.fileupload.MultipartParser.<init>(MultipartParser.java:118) 
at com.pega.pegarules.web.fileupload.MultipartRequest.<init>(MultipartRequest.java:175) 
at com.pega.pegarules.web.impl.HttpUtilities.fileUpload(HttpUtilities.java:447) 
at com.pega.pegarules.web.impl.HttpUtilities.extractRequest(HttpUtilities.java:313) 
at com.pega.pegarules.web.impl.WebStandardImpl.makeEtierRequest(WebStandardImpl.java:349) 
at com.pega.pegarules.web.impl.WebStandardImpl.doPost(WebStandardImpl.java:278) 
... 
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doPost(WebStandardBoot.java:118) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
... 


Steps to Reproduce



1. Create a Service HTTP which acceps a file upload in a multi-part form POST. 
2. Make sure it works fine and can read all submit parameters from form. 
3. Capture the request in Fiddler and then manually edit the request in Fiddler composer to add an additional new Line before the multi part boundary (also increase length by 2) 
4. Submit that request manually using Fiddler and we can see the error. 

Root Cause



The root cause of this problem is a defect in Pegasystems’ code/rules. 
When an additional new line (CRLF) was present before multi-part data started, the parsing code will throw an error.



Resolution



This issue is resolved by hotfix item: Hfix-9980 (port of Hfix-9630 in 6.1 SP2)

 

Published January 31, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us