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

Reply via email to