You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Marco Stettler (JIRA)" <ji...@apache.org> on 2016/10/19 08:11:59 UTC

[jira] [Commented] (CXF-7076) Intermittent failure in WSDL cache

    [ https://issues.apache.org/jira/browse/CXF-7076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15588002#comment-15588002 ] 

Marco Stettler commented on CXF-7076:
-------------------------------------

Some more information:
- if the cache is corrupt, we have to restart the application (no recovery)

What is this cache for? Just for performance? Could deactivate it be an workaround? Would this be correct:

{quote}
                WSDLManager wsdlManager = CXFBusFactory.getThreadDefaultBus().getExtension(WSDLManager.class);
                ((WSDLManagerImpl)wsdlManager).setDisableSchemaCache(true);
{quote}

In WSDLManagerImpl there is a comment indicating that there is a problem with this cache too:

{quote}
   /**
     * There's a test that 'fails' by succeeding if the cache is operational.
     * @param disableSchemaCache
     */
    public void setDisableSchemaCache(boolean disableSchemaCache) {
        this.disableSchemaCache = disableSchemaCache;
    }
{quote}

I really need some help here!

> Intermittent failure in WSDL cache
> ----------------------------------
>
>                 Key: CXF-7076
>                 URL: https://issues.apache.org/jira/browse/CXF-7076
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime, Services
>    Affects Versions: 3.1.1
>         Environment: Oracle JDK 1.8.0_91
> Tomcat 8.0.23
>            Reporter: Marco Stettler
>            Priority: Blocker
>
> We have an error in the production environment that we can't reproduce locally. The error:
> {quote}
> Caused by: org.apache.cxf.wsdl11.WSDLRuntimeException: Part parameters defined as element http://mynamespace MyService which is not in the schema.
> 	at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildMessage(WSDLServiceBuilder.java:886)
> 	at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildInterfaceOperation(WSDLServiceBuilder.java:615)
> 	at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildInterface(WSDLServiceBuilder.java:593)
> 	at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:353)
> 	at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:209)
> 	at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:162)
> 	at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:405)
> 	at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:525)
> 	at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:261)
> 	at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:199)
> 	at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:102)
> 	at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:91)
> 	at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:157)
> 	at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:142)
> 	at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:493)
> 	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:359)
> 	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:350)
> 	at javax.xml.ws.Service.getPort(Service.java:119)
> 	at ch.mynamespace.MyService.getMyService()
> {quote}
> It looks like the WSDLManagerImpl gives not the correct cached SchemaCollection for the Service. Following the code for creating the client:
> {quote}
> private static final URL WSDL_RESOURCE = MyTest.class.getClassLoader().getResource("/wsdl/MyService.wsdl");
> ...
>               MyServicePort  myServicePort = new MyService(WSDL_RESOURCE).getMyService();
> {quote}
> This runs per invocation. We are on a webservice intermediate, so its possible to run in some sort of concurrency problem. As mentioned before, the error occours intermittent (about every 2 weeks). We are speaking about some load, but not that heavy (about 15k requests per day).
> I think it could be the same as there:
> https://issues.jboss.org/browse/JBWS-3973
> I'll inform if I have updates. As the production environment is involved, i have to investigate and must have a solution as quick as possible.
> Thanks
> Marco



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)