You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Matthias Wessendorf <ma...@apache.org> on 2010/09/07 08:15:05 UTC

Re: Problem with the JMeter HTTP Proxy

Felix, Jose_,

I ran into a similar issue - now I filed this ticket:

https://issues.apache.org/jira/browse/TRINIDAD-1905

-Matthias

On Fri, Jan 8, 2010 at 10:48 AM, Jose_ <ja...@gmail.com> wrote:
>
> Hello Felix, I'm having the same error. I'm testing a JSF application and
> there is a point where it is necessary to send a file with the request. I
> have test it with Internet Explorer and it works fine but, when I test it
> through the JMeter Proxy it doesn't work. I get the same page and the
> following exception:
>
> org.apache.myfaces.trinidadinternal.config.upload.FileUploadConfiguratorImpl
> beginRequest
> GRAVE:
> java.io.IOException
>        at
> org.apache.myfaces.trinidadinternal.share.util.MultipartFormHandler.getNextPart(MultipartFormHandler.java:208)
>        at
> org.apache.myfaces.trinidadinternal.config.upload.FileUploadConfiguratorImpl.beginRequest(FileUploadConfiguratorImpl.java:119)
>        at
> org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl._startConfiguratorServiceRequest(GlobalConfiguratorImpl.java:523)
>        at
> org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl.beginRequest(GlobalConfiguratorImpl.java:209)
>        at
> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:142)
>        at
> org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
>        at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
>        at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>        at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>
>
> I have debugged the trinidad code and I have discovered what it is happening
> but I don't know how to work it out. Trinidad code seems to expect an empty
> line after a content-type header but JMeter doesn't send a empty line, it
> sends the content-transfer-encoding.
>
> Maybe it is a trinidad bug, I don't know. I found this interesting post:
>
> http://markmail.org/message/v2brfsmz257uppy6
>
> Have you solved your problem? How? Have you got any new idea?
>
> Thank you
>
>
> Felix.Becker wrote:
>>
>> Hi!
>>
>>
>>
>> We are currently testing our application frontends with Jakarta JMeter
>> 2.3.2. We are activating the JMeter proxy for creating our Tests. This
>> worked fine until we switched the <tr:form usesUpload="false"> to
>> <tr:form usesUpload="true"> in our jsf documents. With the Internet
>> Explorer it works without the proxy. When the request is send through
>> the JMeter proxy, it does not work anymore (I'm getting the same page,
>> the actions which should have been triggered were not executed).
>>
>>
>>
>> I sniffed with Wireshark and found the POST Request with and without the
>> JMeter proxy.
>>
>>
>> In the withoutproxy.txt I connected directly to the frontend with the
>> IE, in the withproxy.txt it used the JMeter proxy.
>>
>>
>>
>> I think the two POST requests are almost the same (HTTP 1.0 / 1.1 should
>> not cause an error). Is it possible that a trinidad bug is causing this
>> behaviour?
>>
>>
>>
>> Any ideas / suggestions?
>>
>>
>>
>> Thank you,
>>
>>
>>
>> Felix
>>
>>
>> POST /xxx_frontend/pages/add.xhtml HTTP/1.0
>> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
>> application/x-shockwave-flash, application/vnd.ms-excel,
>> application/vnd.ms-powerpoint, application/msword, */*
>> Referer:
>> http://xxxxxxxxxxx/xxx_frontend/pages/add.xhtml?nodeId=addConfiguration10881285
>> Accept-Language: de
>> Content-Type: multipart/form-data;
>> boundary=---------------------------7d81fa171f03e0
>> UA-CPU: x86
>> User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1;
>> .NET CLR 1.1.4322; .NET CLR 2.0.50727)
>> Host: xxxxxxxxxxxxxxx
>> Content-Length: 1586
>> Connection: Keep-Alive
>> Pragma: no-cache
>> Cookie: JSESSIONID=7A6B3F16F83B1645EAF0B1743DCEDF55;
>> oracle.uix=0^^GMT+2:00
>>
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="nfaddform:nfname"
>>
>> test
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="nfaddform:nfversion"
>>
>> 1
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="nfaddform:nfdescription"
>>
>> test
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="nfaddform:nfstatus"
>>
>> 0
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="nfaddform:contentInput"
>>
>> test
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="nfaddform:nfbtn_save"
>>
>> Speichern
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data;
>> name="org.apache.myfaces.trinidad.faces.FORM"
>>
>> j_id2
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="javax.faces.ViewState"
>>
>> !1
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="event"
>>
>>
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="source"
>>
>> nfaddform:nfbtn_save
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="j_id10:_selected"
>>
>>
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="partialTargets"
>>
>>
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="partial"
>>
>>
>> -----------------------------7d81fa171f03e0
>> Content-Disposition: form-data; name="path"
>>
>>
>> -----------------------------7d81fa171f03e0--
>> POST /xxx_frontend/pages/add.xhtml HTTP/1.1
>> Connection: keep-alive
>> Referer:
>> http://xxxxxxxxxxx/xxx_frontend/pages/add.xhtml?nodeId=addConfiguration10881285
>> Host: xxxxxxxxxxxxxx
>> Accept-Language: de
>> User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1;
>> .NET CLR 1.1.4322; .NET CLR 2.0.50727)
>> Pragma: no-cache
>> UA-CPU: x86
>> Cookie: JSESSIONID=ED9ED8A8046040112712AA609867F6D8;
>> oracle.uix=0^^GMT+2:00
>> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
>> application/x-shockwave-flash, application/vnd.ms-excel,
>> application/vnd.ms-powerpoint, application/msword, */*
>> Content-Type: multipart/form-data;
>> boundary=---------------------------7d159c1302d0y0
>> Content-Length: 2692
>>
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="nfaddform:nfname"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>> test
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="nfaddform:nfversion"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>> 1
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="nfaddform:nfdescription"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>> test
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="nfaddform:nfstatus"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>> 0
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="nfaddform:contentInput"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>> test
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="nfaddform:nfbtn_save"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>> Speichern
>> -----------------------------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_id2
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="javax.faces.ViewState"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>> !1
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="event"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>>
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="source"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>> nfaddform:nfbtn_save
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="j_id10:_selected"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>>
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="partialTargets"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>>
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="partial"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>>
>> -----------------------------7d159c1302d0y0
>> Content-Disposition: form-data; name="path"
>> Content-Type: text/plain; charset=iso-8859-1
>> Content-Transfer-Encoding: 8bit
>>
>>
>> -----------------------------7d159c1302d0y0--
>>
>>
>
> --
> View this message in context: http://old.nabble.com/Problem-with-the-JMeter-HTTP-Proxy-tp19435675p27072961.html
> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf