2015-07-21 135 views
0

要生成我的客户端代码,我使用了如下命令:生成SOAP客户端与Apache CXF 3.1.1

wsdl2java -client HelloWorld.wsdl 

这个生成的Java文件,它的工作没有错误,但不幸的是,很慢,二每次通话的秒数。

SOAP UI中,在200ms内调用相同的Web服务方法。

我注意到日志中说每次我打电话给服务时都会调用org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL。这似乎是软件每次都从WSDL重新创建客户端。即使在我保留创建的服务对象时也会发生这种情况

我该如何解决这个问题?我做错了什么?

回答

0

我刚发现这个问题。

每次我打电话给MyService.getPort(),WSDL都会被解析。 因此,我只创建一次这个port并通过我的应用程序重用它。

现在客户端真的很快!