使用JAX-WS Web服务客户端进行初始调用 - 成本及其增强方式

时间:2015-05-21 20:18:06

标签: java web-services soap

我有一个使用Metro 2.2构建的SOAP Hello World Web服务。我有一个匹配的WS客户端。我有一个WSDL客户端的本地副本。

我的第一个电话总是系统地比后续电话贵得多(最多10倍)。是什么导致的?我怎么能绕过它呢?如何衡量延迟的来源?

指针赞赏。

1 个答案:

答案 0 :(得分:0)

(我不知道到底出了什么问题,但在某些项目中,我遇到了相同的行为并进行了一些测试,我可以获得很多)

首先,我认为WSDL或生成的类(通常由错误的WSDL引起)是问题所在。但如果你只是客户,那么无论如何你都无法改变它。

启动时的最大差异(对于大型WSDL,1-2分钟降至1-2秒,以及一般性能更高)我在没有为客户端创建jar文件时遇到过,我刚创建了一个.bat和.sh仍然能够舒适地启动客户端(我尝试了所有不同的jar选项,将包库放入jar中显然是最糟糕的)。一些具有巨大WSDL文件的Web服务客户端根本无法执行(并且生成类也只能使用CXF而不能使用Axis)。

您也可以通过提取库获得一些东西。我想这些巨大的差异与从众多必需的库中解压缩所需的类有关,但说实话:我不知道,但它在我的案例中有所帮助。