re-mass test with SOAP request

30 views
Skip to first unread message

Claude Perche

unread,
Jun 1, 2016, 8:15:37 AM6/1/16
to Gatling User Group
Hi

I installed last release of "Gatling 2.2.1"
         i processed webservice tests ; this webservice is deployed in  "Axis2/Tomcat6".
         the scenario is described below :

        val httpProtocol = http 
                                              .acceptCharsetHeader("ISO-8859-1,utf-8;q=0.7,*;q=0.7")
                                               .acceptHeader("application/soap+xml")
                                                       .acceptEncodingHeader("gzip, deflate")
                                                       .acceptLanguageHeader("fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3")
                                                       .userAgentHeader("Apache-HttpClient/4.1.1 (java 1.5)")
                                              .disableClientSharing
  val buf = new StringBuilder

buf.append("<soap:Header/>\n")
buf.append("<soap:Body>\n")
buf.append("<ser:checkIDScan>\n")
buf.append("<ser:request>\n")
buf.append("<xsd:certificat>true</xsd:certificat>\n")
buf.append("<xsd:confirmOnDoubt>false</xsd:confirmOnDoubt>\n")
buf.append("<xsd:image1>").append(image1).append("</xsd:image1>\n")
buf.append("<xsd:imageType1>jpg</xsd:imageType1>\n")
buf.append("<xsd:image2>").append(image2).append("</xsd:image2>\n")
buf.append("<xsd:imageType2>jpg</xsd:imageType2>\n")
buf.append("<xsd:mobile>false</xsd:mobile>\n")
buf.append("<xsd:username>patrick</xsd:username>\n")
buf.append("<xsd:password>patrick</xsd:password>\n")
buf.append("<xsd:reference>TESTGATLING</xsd:reference>\n")
buf.append("</ser:request>\n")
buf.append("</ser:checkIDWithResoScan>\n")
buf.append("</soap:Body>\n")
buf.append("</soap:Envelope>\n")
  
val scn1 = scenario("SOAPClientcheckIDScan_1")
  .exec(http("SOAPClientcheckIDScan_1").post(url).body(StringBody(buf.toString))   
 .check(status.is(200))  
)

setUp(scn1.inject(atOnceUsers(7)).protocols(httpProtocol))
}
        

 
         an error occurs at the seven test :  "AxisFault : org.apache.axis2.AxisFault: Timeout waiting for connection"
         it seems : for Axis2 you try to connect many times for the same httpclient and the request failed  because no available connections in the connection pool 

       stacktrace
       org.apache.axis2.AxisFault: Timeout waiting for connection
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:197)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at com.resocom.portail.server.serviceWeb.proxyOCR.WebServiceResoComV4Stub.eResoScanTwoFace(WebServiceResoComV4Stub.java:179)
at com.resocom.portail.server.serviceWeb.ServiceResoScan.traiteImage(ServiceResoScan.java:238)
at com.resocom.portail.server.serviceWeb.ResoComWS.getResponse(ResoComWS.java:173)
at com.resocom.portail.server.serviceWeb.ResoComWS.checkIDWithResoScan(ResoComWS.java:134)
at sun.reflect.GeneratedMethodAccessor544.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.resocom.portail.server.servlet.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:46)
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:857)
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: org.apache.commons.httpclient.ConnectionPoolTimeoutException: Timeout waiting for connection
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:497)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:621)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)
... 38 more

        Best Regards
       Patrick Perche


Reply all
Reply to author
Forward
0 new messages