Well, largerly as an FYI, there's mojo in 2.2.7 that resolved the problem. In the hail mary "have you updated the firmware" spirit, I built a version on the latest 2.2.7 and it appeared to make the problem go away for the customer. Unfortunately, I haven't been able to duplicate the problem on anything locally and don't really have the means to do anything on their machines, so I can't provide an actual answer to what was happening or why it went away.
Either way, I'm going to take it. Thanks, Nate -----Original Message----- From: Daniel Kulp [mailto:dk...@apache.org] Sent: Wednesday, March 31, 2010 11:18 PM To: users@cxf.apache.org Cc: Nate Woody Subject: Re: Lag in service creation It definitely does sound like a WSDL/xsd download issue. I'm not sure if you can use wireshark or something to look at the traffic going back and forth to see if something obvious there is causing an issue. We DO cache the wsdl which explains the speedup on the subsequent calls. Dan On Wednesday 31 March 2010 3:46:55 pm Nate Woody wrote: > I'm running an cxf-2.2.4 client against a .NET service located in NY. > Some customers running Mac 10.6 in Germany are seeing a massive lag in > talking to the service and I've managed to narrow it down to the service > creation. It only appears to happen the first time the client > constructs the service, subsequent service constructions don't lag. > Here's the basic code: > > (StubService is a javax.xml.ws.Service object created by WSDLTojava) > > > > logger.info("Starting cert config"); > > StubService service = new StubService(); > > logger.info("Created service"); > > hpc = service.getFactoryPortType(); > > logger.info("Retrieved port"); > > Client client = > org.apache.cxf.frontend.ClientProxy.getClient(hpc); > > logger.info("configuring logging interceptors"); > > client.getOutInterceptors().add(new LoggingOutInterceptor()); > > client.getInInterceptors().add(new LoggingInInterceptor()); > > > > > > There is almost a 5 minute lag executing the Service constructor and the > getFactoryPortType the first invocation: > > [2010-03-31 20:51:37,034] INFO Mediator(main) - Starting cert config > > [2010-03-31 20:58:26,040] INFO Mediator(main) - Created service > > [2010-03-31 20:58:26,048] INFO ReflectionServiceFactoryBean(main) - > Creating Service {service} from WSDL: http://myserver.org/WSDL.xml > > [2010-03-31 21:05:13,889] INFO Mediator(main) - Retrieved port > > [2010-03-31 21:05:13,889] INFO Mediator(main) - configuring logging > interceptors > > > > However, subsequent calls occur right away: > > [2010-03-31 21:05:16,255] INFO Mediator(main) - Starting certHPC config > > [2010-03-31 21:05:16,255] INFO Mediator(main) - Created service > > [2010-03-31 21:05:16,256] INFO ReflectionServiceFactoryBean(main) - > Creating Service {service} from WSDL: http://myserver.org/WSDL.xml > > [2010-03-31 21:05:16,319] INFO Mediator(main) - Retrieved port > > [2010-03-31 21:05:16,320] INFO Mediator(main) - configuring logging > interceptors > > > > My only thought is that there is some network problems in retrieving the > wsdl and associated xsds, though they don't see any problems if they > access the wsdl from a browser or wget. I can't duplicate the problem > on any of my systems and I haven't yet sent them a build that contains > the wsdl locally to completely remove the network communication. Is > there anything else going on in here that could be causing problems? Is > cxf (or friends) doing something smart with the WSDL that explains why I > only seem to see the lag the first time the service object is > constructed? > > > > Thanks, > > Nate -- Daniel Kulp dk...@apache.org http://dankulp.com/blog