testen ajax verzoek JSF spring applicatie met Jmeter

stemmen
2

Ik gebruik j meter om te controleren hoeveel tijd er nodig is van een druk op een A4J knop op de client naar het antwoord van de server.

Om dat te bereiken dat ik opende een HTTP-verzoek met behulp van fiddler en gezocht naar:

  1. ajax verzoek gedecodeerd het en het ingevoegd om de waarden in de http-header?
  2. Wat moet ik nog in te voegen met het oog op een verzoek sturen? sessionid? hoe om deze te plaatsen op de http-header?

Ik stel het op dezelfde machine waar ik run Tomcat en ik kan zien in mijn Eclipse logger ik in te voeren om de juiste pagina, maar de knop duwen is niet geduwd, kan iemand me helpen aub.

Dit is de logger Ik krijg in Eclipse:

2011-08-17 09:52:32,673 ERROR [_ErrorPageWriter] An exception occurred
javax.faces.FacesException: javax.crypto.BadPaddingException: Given final block not properly padded
    at org.apache.myfaces.shared_impl.util.StateUtils.symmetric(StateUtils.java:456)
    at org.apache.myfaces.shared_impl.util.StateUtils.symmetric(StateUtils.java:494)
    at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:294)
    at org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:243)
    at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getSavedState(HtmlResponseStateManager.java:187)
    at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getTreeStructureToRestore(HtmlResponseStateManager.java:151)
    at org.ajax4jsf.application.AjaxStateManager.restoreLogicalViewId(AjaxStateManager.java:564)
    at org.ajax4jsf.application.AjaxStateManager.restoreStateFromSession(AjaxStateManager.java:495)
    at org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:444)
    at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:515)
    at org.ajax4jsf.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:107)
    at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:85)
    at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
    at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151)
    at org.apache.myfaces.webapp.MyFacesServlet.service(MyFacesServlet.java:103)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.coral.project.web.context.ExecutionContextFilter.doFilter(ExecutionContextFilter.java:75)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)
Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
    at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
    at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
    at com.sun.crypto.provider.DESCipher.engineDoFinal(DashoA13*..)
    at javax.crypto.Cipher.doFinal(DashoA13*..)
    at org.apache.myfaces.shared_impl.util.StateUtils.symmetric(StateUtils.java:452)
    ... 40 more

EDIT: Ik denk dat dit kan nuttig zijn om mijn probleem undersand:

voer

De vraag is gesteld op 10/08/2011 om 18:40
user
In andere talen...                            


1 antwoorden

stemmen
1

Als u niet zeker weet wat uw AJAX call nodig om succesvol te zijn, de makkelijkste om te doen is gebruik maken van HTTP-proxy en de actie op te nemen. Dit geeft je alle parameters die worden doorgegeven aan de server, samen met hun waarden in een record tijd te geven.

Dan, in voorkomend geval, u de parameter waarden dynamischer te maken (sessionID is een goed voorbeeld van).

Hoe op te nemen :

antwoordde op 11/08/2011 om 13:51
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more