0

I am consumeing a web service which is based on soap over HTTP on one of my Servlet/JSP base web Application on Tomcat 7.
I am using Codehaus XFire eclispe plugin which generate client stub from WSDL and insert depending libraries for me. Code are in the form Service name = Class name and Service Action = Class Method.

So I instantiate this class and call the appropriate method to consume this service. It is working fine.

Now my problem is during load testing one of the service is taking too much time. I confirmed from logs and wireShark that the services are working fine and returning response withing few hundred millisecond.
My findings are that the high latency is while processing the web service response before my code receive the response object.

Time taken is as much as 40 seconds average per request. and the load I am testing is 50 users and 50 iteration with 5 second of ramp-up time.

Am I the only one experience this? Is there any way of configuring any properties in xfire to increase performance? Do any one what is happening?

My project is on

  • Servlet/JSP
  • Tomcat 7
  • Java Runtime 1.6
  • Xfire 1.2.5 and JAXB 2.0.1

Thanks in advance

Please ask if any more information is needed.

Jafar Ali
  • 1,084
  • 3
  • 16
  • 39
  • XFire is an ancient technology. You could get more help if you used one of its successors, such as Apache CXF. – bmargulies Feb 08 '15 at 19:10
  • thanks but can any one help me out with this. I inherited this project for optimizing. and I am stuck here. – Jafar Ali Feb 08 '15 at 19:12
  • Do you have control over the project i.e. could you change the response structure? It would be good to see the XML produced in the response. Did you look at the size of the response? – Namphibian Feb 08 '15 at 22:53
  • it is returning 100 records which does not make it more than 1000 line and make on file system about 2kb in size. – Jafar Ali Feb 09 '15 at 05:32
  • I am just consuming the service I cannot change the response. – Jafar Ali Feb 09 '15 at 05:33

1 Answers1

0

Due to no more alternative we desided to Call Soap service manually using HTTPURLConnection and catching JAXB context considerabely increased the perfomance but yes we ended up invention wheel again and again.

It look line there some problem with codehous XFire. We need to plan for migration our application to some better Service client in the future.

Jafar Ali
  • 1,084
  • 3
  • 16
  • 39