diff --git a/common/src/main/java/com/genexus/internet/GXHttpClient.java b/common/src/main/java/com/genexus/internet/GXHttpClient.java index a939b164e..b693bf406 100644 --- a/common/src/main/java/com/genexus/internet/GXHttpClient.java +++ b/common/src/main/java/com/genexus/internet/GXHttpClient.java @@ -568,15 +568,22 @@ protected String setPathUrl(String url) { return url; } + boolean firstMultiPart; @SuppressWarnings("unchecked") protected byte[] getData() { byte[] out = new byte[0]; + firstMultiPart = false; + int variablesCount = getVariablesToSend().size(); + int count = 1; for (Object key: getVariablesToSend().keySet()) { + if (count == variablesCount) + firstMultiPart = true; String value = getMultipartTemplate().getFormDataTemplate((String)key, (String)getVariablesToSend().get(key)); getContentToSend().add(0, value); //Variables al principio + count++; } for (int idx = 0; idx < getContentToSend().size(); idx++) @@ -792,7 +799,10 @@ String getHeaderTemplate(String name, String fileName, String mimeType){ } String getFormDataTemplate(String varName, String value){ String contentType = getContentTypeFromString(value); - return "\r\n--" + boundary + "\r\nContent-Disposition: form-data; name=\"" + varName + "\"\r\n" + ((contentType != null)? "Content-Type: " + contentType + "\r\n" : "") + "\r\n" + value; + String beginformDataTemplate = "\r\n--"; + if (firstMultiPart) + beginformDataTemplate = "--"; + return beginformDataTemplate + boundary + "\r\nContent-Disposition: form-data; name=\"" + varName + "\"\r\n" + ((contentType != null)? "Content-Type: " + contentType + "\r\n" : "") + "\r\n" + value; } private String getContentTypeFromString(String value){