0

我正在 Tomcat 7 上的一个 Servlet/JSP 基础 Web 应用程序上使用基于 http 上的肥皂的 Web 服务。
我正在使用 Codehaus XFire eclispe 插件,它从 WSDL 生成客户端存根并为我插入依赖库。代码采用 和Service name = Class name形式Service Action = Class Method

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

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

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

只有我有这种经历吗?有没有办法在 xfire 中配置任何属性来提高性能?做任何事情发生了什么?

我的项目正在进行

  • 小服务程序/JSP
  • 雄猫 7
  • Java 运行时 1.6
  • Xfire 1.2.5 和 JAXB 2.0.1

提前致谢

请询问是否需要更多信息。

4

1 回答 1

0

由于没有其他选择,我们决定使用 HTTPURLConnection 手动调用 Soap 服务并捕获 JAXB 上下文大大提高了性能,但是是的,我们一次又一次地发明了轮子。

看起来codehous XFire存在一些问题。我们需要计划将来将我们的应用程序迁移到一些更好的服务客户端。

于 2015-05-25T13:53:34.797 回答