2015-02-08 209 views
0

我正在使用基于SOAP over HTTP的Web服务,它基于Tomcat 7上的一个Servlet/JSP基础Web应用程序。
我使用Codehaus XFire eclispe插件生成客户端来自WSDL的存根,并为我插入依赖库。代码的格式为Service name = Class nameService Action = Class MethodWeb服务响应处理花费太多时间

所以我实例化这个类并调用适当的方法来使用这个服务。它工作正常。

现在我的问题是在负载测试期间,其中一项服务花费了太多时间。我从日志和wireShark证实,服务工作正常,并返回响应几百毫秒。
我的发现是,在我的代码接收响应对象之前,处理Web服务响应时出现高延迟。

每次请求的平均时间高达40秒。我正在测试的负载是50个用户和50次迭代,5秒钟的加速时间。

我是唯一一个体验这个吗? 有没有什么办法在xfire中配置任何属性来提高性能? 做任何一件事发生了什么?

我的项目是在

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

在此先感谢

请询问更多的信息是否neede d。

+0

XFire是一种古老的技术。如果您使用其后继者之一(如Apache CXF),则可以获得更多帮助。 – bmargulies 2015-02-08 19:10:16

+0

谢谢,但任何人都可以帮助我解决这个问题。我继承了这个项目进行优化。我被困在这里。 – 2015-02-08 19:12:28

+0

您是否可以控制该项目,即是否可以更改响应结构?很高兴看到响应中生成的XML。你看过回复的大小吗? – Namphibian 2015-02-08 22:53:05

回答

0

由于没有更多的选择,我们希望使用HTTPURLConnection手动调用Soap服务,并捕获JAXB上下文,以增加性能,但是我们一次又一次地结束了发明轮。

它看起来有代码的XFire有一些问题。我们需要计划将我们的应用程序迁移到未来更好的服务客户端。