cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bin Zhu <luckyzhu...@gmail.com>
Subject Re: [jira] [Commented] (CXF-5216) WSDL definition cache issue for web service client when WSDL in service war changed
Date Fri, 06 Sep 2013 08:46:53 GMT
Hi,

For the cached wsdl in client side issue, the removeDefinition method works
in most cases in my testing. However, sometimes it failed, especially when
the server WSDL changes frequently and there are multiple client invoked
the web service.  It seems the caches is not correctly removed as expected.
Any idea for the potential reason? Thanks in advance.

 bus.getExtension(WSDLManager.class).removeDefinition(bus.
getExtension(WSDLManager.class).getDefinition(url));


2013/8/20 Freeman Fang (JIRA) <jira@apache.org>

>
>     [
> https://issues.apache.org/jira/browse/CXF-5216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13744765#comment-13744765]
>
> Freeman Fang commented on CXF-5216:
> -----------------------------------
>
> Per Bin Zhu last reply in mail list, the solution here works for him so I
> will close this issue.
>
> > WSDL definition cache issue for web service client when WSDL in service
> war changed
> >
> -----------------------------------------------------------------------------------
> >
> >                 Key: CXF-5216
> >                 URL: https://issues.apache.org/jira/browse/CXF-5216
> >             Project: CXF
> >          Issue Type: Bug
> >    Affects Versions: 2.6.2
> >            Reporter: Bin Zhu
> >            Assignee: Freeman Fang
> >         Attachments: CXF-5216-2.patch, CXF-5216.patch
> >
> >
> > In current design, the WSDL definition will be cached in case the the
> same wsdl will be queried later.(WSDLManagerImpl.getDefinition)
> > e.g.
> >     public Definition getDefinition(String url) throws WSDLException {
> >         synchronized (definitionsMap) {
> >             if (definitionsMap.containsKey(url)) {
> >                 return definitionsMap.get(url);
> >             }
> >         }
> >         return loadDefinition(url);
> >     }
> > The cache mechanism indeed improves the performance in most scenarios.
> But if the WSDL file in service provider app changed, the client will not
> get the correct WSDL definition even using retrieves the wsdl from server
> dynamically (http://hostname:portname/xxx?wsdl),unless restarting the
> client app.
> > It would be more reasonable to introduce a client property to allow user
> to disable the definition cache so that they can choose if they get WSDL
> definition from cache or the URL dynamically for their scenarios. Any
> thoughts? Thanks.
>
> --
> This message is automatically generated by JIRA.
> If you think it was sent incorrectly, please contact your JIRA
> administrators
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message