In applicazioni web compilate con Oracle JDeveloper 12.2.1.3.0 ed installate su GlassFish 5.x le operazioni “file download/upload” non funzionano.
Il problema risiede in come la libreria Trinidad gestisce i “multi-part forms” e viene risolto dalla seguente modifica.
index: trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/util/MultipartFormHandler.java =================================================================== --- trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/util/MultipartFormHandler.java (revision 1160712) +++ trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/util/MultipartFormHandler.java (working copy) @@ -388,9 +388,14 @@ { return null; } + String boundary = contentType.substring(boundaryStart +_BOUNDARY_PARAMETER.length()); + final int semicolonIndex = boundary.indexOf(";"); + if (semicolonIndex > -1) { + boundary = boundary.substring(0, semicolonIndex); + } // Boundary always starts with "--" - return "--" + contentType.substring(boundaryStart + _BOUNDARY_PARAMETER.length()); + return "--" + boundary; } //Reads the ContentType string out of a line of the incoming request
Spazio IT ha applicato questa modifica al file trinidad-impl.jar che viene distribuito con Oracle JDeveloper 12.2.1.3.0 e che dovrebbe rimpiazzare quello in “<Oracle_Home>/oracle_common/modules/oracle.adf.view”.
Nota: questo fix non è più necessario con Jdeveloper 12.2.1.4.0.