Java Jax-ws-client:非常慢的初始化

Java Jax-ws-client:非常慢的初始化,java,performance,jax-ws,Java,Performance,Jax Ws,我正在尝试使用JAX-WS生成的代理调用Web服务 WSDL相对较小,只有3个操作,只有11kB,并且存储在本地 但是,当我尝试初始化端口时,它在stdout中的这条线上被卡住了10-20秒: 检索位于的文档 '文件:/C:/path/to/webapp/WebContent/WEB-INF/wsdl/' 它对应于新的myServicePortNewUrlWSDLLocation,并读取wsdl 对webservice的所有后续调用都可以正常工作,而fast在应用程序启动后,第一个Web服务调用

我正在尝试使用JAX-WS生成的代理调用Web服务

WSDL相对较小,只有3个操作,只有11kB,并且存储在本地

但是,当我尝试初始化端口时,它在stdout中的这条线上被卡住了10-20秒:

检索位于的文档 '文件:/C:/path/to/webapp/WebContent/WEB-INF/wsdl/'

它对应于新的myServicePortNewUrlWSDLLocation,并读取wsdl


对webservice的所有后续调用都可以正常工作,而fast在应用程序启动后,第一个Web服务调用通常会很慢,因为正在创建代理对象,并且框架会初始化进行WS调用所需的所有类

一个常见的解决方法是让您的服务公开一些不会做任何事情的存根方法,当您的应用程序启动时,调用这个存根。
这将在后台创建服务代理对象,当您的应用程序实际调用服务时,一切都准备就绪。

该wsdl是否包括作为远程URL的架构导入?不,没有远程URL,除了名称空间。您应该附加一个探查器以查看它占用的时间。其他一切都只是猜测。你在这段时间内找到这个问题的答案了吗?我面临着同样的问题。创建一些代理对象不应该花费10-20秒。这取决于服务器到服务器,就像我们使用web逻辑一样,第一次调用需要50-60秒,当我们在JBoss中尝试时需要20-30秒。谷歌的第一个WS-call很慢,你会发现很多信息。