2011-08-10 29 views
2

クライアント側のa4jボタンを押してからサーバーの応答にどれくらいの時間がかかるかを確認するためにjmを使用しています。私はシオマネキを使用してHTTPリクエストを開いて、探したことを達成するためにjmeterを使用してjsf springアプリケーションのajaxリクエストをテストする

  1. AJAXリクエストはそれを復号化し、HTTPヘッダの値にそれを挿入しましたか?
  2. リクエストを送信するために他に何を挿入する必要がありますか?セッションID ?それをhttpヘッダーに挿入する方法は?

私はTomcatを実行するマシンと同じマシンで実行しますが、私はEclipseロガーで正しいページに入ることができますが、ボタンを押してもプッシュされません。

これは私が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 

編集:私は、これは私の問題をundersandすると便利かもしれないと思う:

enter image description here

+0

あなたは私の提案を試しましたか?もしそうなら、どんな結果が得られましたか? – BlackGaff

答えて

1

をあなたがわからない場合あなたのAJAX呼び出しが成功する必要がありますが、最も簡単なことはHTTPプロキシを使用してアクションを記録することです。これにより、サーバーに渡されるすべてのパラメーターと、記録時の値が表示されます。

次に、必要に応じてパラメータ値を動的にします(sessionIDはこれの良い例です)。

How to record

関連する問題