You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Tomasz Sikora (JIRA)" <ji...@apache.org> on 2017/05/22 08:59:04 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=16019318#comment-16019318 ]
Tomasz Sikora commented on CXF-7076:
------------------------------------
We have been experiencing the same intermittent issue in prod env currently. Unfortunately the same resolution is in place: ... if the cache is corrupted, we have to restart the application (no recovery)
We are unable to replicate the problem in test envs. Neither under a load test nor in the soak test (259M hits) running for 3+ days. We are planning to apply the same change as did by [~mstettler].
{quote}
WSDLManager wsdlManager = CXFBusFactory.getThreadDefaultBus().getExtension(WSDLManager.class);
((WSDLManagerImpl)wsdlManager).setDisableSchemaCache(true);
{quote}
It would be great if someone could please help us to understand more the cache nature. Hoping to have a patch to prod at the end of the week, 26..27th May.
{quote}
What is this cache for? Just for performance? Could deactivate it be an workaround? Would this be correct:
{quote}
> 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.15#6346)