Hi, and thanks for the info.
The exception in your previous post :
at
org.apache.myfaces.trinidadinternal.share.util.MultipartFormHandler.getNextPart(MultipartFormHandler.java:206)
at
org.apache.myfaces.trinidadinternal.config.upload.FileUploadConfiguratorImpl.beginRequest(FileUploadConfiguratorImpl.java:116)
at
org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl._startConfiguratorServiceRequest(GlobalConfiguratorImpl.java:445)
at
org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl.beginRequest(GlobalConfiguratorImpl.java:193)
seems to appear in the following file and revision :
http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/util/MultipartFormHandler.java?revision=535419&view=markup
It seems to be the following lines :
String contentType = _parseContentType(contentTypeText);
*if* (contentType == *null*)
{
contentType = _DEFAULT_CONTENT_TYPE;
}
*else*
{
///Eat empty line
/ *final* String emptyLine = _readLine(*true*);
*if* (emptyLine.length() > 0)
{
/// =-=AEW Better exception?
/ *throw* *new* IOException();
}
}
So the trinidad code seems to expect an empty line after a content-type
header.
I think that is a wrong assumption. So I think this is a bug in the
trinidad code.
The trinidad expects the header fields in a certain sequence, as you
will see if you look at the getNextPart method, I think that is a false
assumption.
As you can see from your two logs :
The one working (as an example) :
-----------------------------20944579171226107605927256923
Content-Disposition: form-data; name="org.apache.myfaces.trinidad.faces.FORM"
j_id203
-----------------------------20944579171226107605927256923
The one failing (as an example) :
-----------------------------7d159c1302d0y0
Content-Disposition: form-data; name="org.apache.myfaces.trinidad.faces.FORM"
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
j_id203
-----------------------------7d159c1302d0y0
So JMeter include content-type and content-transfer-encoding headers in
the multipart, and that triggers the "contenttype" part of the trinidad
code.
I had a quick search on the Internet, since I do not fully remember why
I included the
"Content-Transfer-Encoding: 8bit " header for form data. I will try to
look more into that later this week.
Regards
Alf Hogemark
NEVEU Anthony (EURIWARE SA) wrote:
Hi,
I made those 2 logs with paros proxy for Mozilla and Jmeter.
Have you got an idea?
1) log of paros for Mozilla
POST http://10.24.10.129:8080/nuxeo/create_document.faces HTTP/1.1
Host: 10.24.10.129:8080
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060130
Red Hat/1.7.12-1.4.2 Paros/3.2.13
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer:
http://10.24.10.129:8080/nuxeo/nxdoc/default/71322d51-532f-4716-9ffe-9077a8db3bfa/create_geide_workspace?conversationId=0NXMAIN2&tabId=GEIDE_TAB_CONTENT&subTabId=&conversationIsLongRunning=true
Cookie: JSESSIONID=A240A94D4F5CE8042A269F7129075FE0
Content-Type: multipart/form-data;
boundary=---------------------------20944579171226107605927256923
Content-Length: 944
-----------------------------20944579171226107605927256923
Content-Disposition: form-data; name="j_id203:j_id207:0:j_id209:0:h_inputText"
azerty
-----------------------------20944579171226107605927256923
Content-Disposition: form-data;
name="j_id203:j_id207:0:j_id209:1:h_inputTextarea"
-----------------------------20944579171226107605927256923
Content-Disposition: form-data;
name="j_id203:j_id207:0:j_id209:2:t_inputCalendar"
-----------------------------20944579171226107605927256923
Content-Disposition: form-data; name="org.apache.myfaces.trinidad.faces.FORM"
j_id203
-----------------------------20944579171226107605927256923
Content-Disposition: form-data; name="org.apache.myfaces.trinidad.faces.STATE"
!j_id937:j_id938
-----------------------------20944579171226107605927256923
Content-Disposition: form-data; name="source"
j_id203:j_id238
-----------------------------20944579171226107605927256923--
2) Log of paros for jMeter
POST http://10.24.10.129:8080/nuxeo/create_document.faces HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Paros/3.2.13
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Cookie: JSESSIONID=B7AB8605E89E5666D22B0C52A439F0EE
Content-Type: multipart/form-data;
boundary=---------------------------7d159c1302d0y0
Content-Length: 1334
Host: 10.24.10.129:8080
Proxy-Connection: keep-alive
-----------------------------7d159c1302d0y0
Content-Disposition: form-data; name="j_id203:j_id207:0:j_id209:0:h_inputText"
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
toto4_!j_id281:j_id284
-----------------------------7d159c1302d0y0
Content-Disposition: form-data;
name="j_id203:j_id207:0:j_id209:1:h_inputTextarea"
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
tata4
-----------------------------7d159c1302d0y0
Content-Disposition: form-data;
name="j_id203:j_id207:0:j_id209:2:t_inputCalendar"
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
-----------------------------7d159c1302d0y0
Content-Disposition: form-data; name="org.apache.myfaces.trinidad.faces.FORM"
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
j_id203
-----------------------------7d159c1302d0y0
Content-Disposition: form-data; name="org.apache.myfaces.trinidad.faces.STATE"
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
!j_id281:j_id284
-----------------------------7d159c1302d0y0
Content-Disposition: form-data; name="source"
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
j_id203:j_id238
-----------------------------7d159c1302d0y0--
Thanks for your help
-----Message d'origine-----
De : Alf Høgemark [mailto:[EMAIL PROTECTED]
Envoyé : vendredi 17 août 2007 20:03
À : JMeter Users List
Objet : Re: Jmeter and Multipart/form-data
Hi
Some comments to your questions / observations :
2)
I suggest you add the "View Results Tree" listener to your test plan.
Then you should be able to see all the details about the request sent
from JMeter to your web server, including the HTTP POST body, i.e.
similar to what you have listed in 1).
Then you can compare, and maybe find an answer for the error you see in 3).
You could also show it to me, and I can have a look if I can spot the
problem.
3)
I think the warning about Content-type not having a charset encoding can
be solved if you specify the content enconding in the HTTP Sampler GUI,
because then
that will be used in the Content-type header.
I do not think that warning is the reason for your problems.
I'm very interested in helping you solve this problem, it might be a bug
in JMeter
Regards
Alf Hogemark
NEVEU Anthony (EURIWARE SA) wrote:
Hi all,
I'm using jmeter 2.3RC3 and I have a problem with a multipar/form-data form.
1) First, I get with paros http proxy the request of http that I want to
test with jmeter
2) Second, I make a httpSampler with those parameters
3) Third, I always have the same error on my application server, because
the http request is not correct
2007-08-16 13:37:31,697 DEBUG [org.apache.catalina.connector.CoyoteAdapter]
Requested cookie session id is F258DD54B68CEE4BEAE6158D08E7567D
2007-08-16 13:37:31,699 DEBUG
[org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter] Filter start request
processing at 8/16/07 1:37 PM for uri: /nuxeo/create_document.faces
2007-08-16 13:37:31,699 DEBUG
[org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter] Incoming request has
Content-Type header without character encoding: multipart/form-data;
boundary=---------------------------7d159c1302d0y0
2007-08-16 13:37:31,699 DEBUG
[org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter] Filter request output to XML
2007-08-16 13:37:31,703 ERROR [STDERR] Aug 16, 2007 1:37:31 PM
org.apache.myfaces.trinidadinternal.config.upload.FileUploadConfiguratorImpl
beginRequest
SEVERE: null
java.io.IOException
at
org.apache.myfaces.trinidadinternal.share.util.MultipartFormHandler.getNextPart(MultipartFormHandler.java:206)
at
org.apache.myfaces.trinidadinternal.config.upload.FileUploadConfiguratorImpl.beginRequest(FileUploadConfiguratorImpl.java:116)
at
org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl._startConfiguratorServiceRequest(GlobalConfiguratorImpl.java:445)
at
org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl.beginRequest(GlobalConfiguratorImpl.java:193)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]