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]


Reply via email to