我正在尝试使用JAX-WS生成的代理调用Web服务。
WSDL相对较小(11kB),只有3个操作,并存储在本地。
但是当我尝试初始化端口时,它会在stdout中的这一行卡住10-20秒:
在。检索文档 “文件:/ C:/路径/到/ web应用/的WebContent / WEB-INF / WSDL /'.
对应于new MyServicePort(new URL(wsdlLocation))
,并读取wsdl。
对Web服务的所有后续调用都可以正常,快速(每次调用<200毫秒)。
对new MyServicePort(new URL(wsdlLocation))
的后续调用也很快......
合理规格的计算机上的响应时间是否正常? (核心i5 + 8GB内存)
答案 0 :(得分:0)
在应用程序启动后,第一次Web服务调用通常很慢,因为正在创建代理对象,并且框架工作初始化了进行WS调用所需的所有类。
常见的解决方法是让您的服务公开一些不会执行任何操作的存根方法),并在应用程序启动时调用此存根。 这将在后台创建服务代理对象,当您的应用程序实际调用服务时,一切就绪。