Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
3.1.1
-
None
-
Oracle JDK 1.8.0_91
Tomcat 8.0.23
-
Unknown
Description
We have an error in the production environment that we can't reproduce locally. The error:
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()
It looks like the WSDLManagerImpl gives not the correct cached SchemaCollection for the Service. Following the code for creating the client:
private static final URL WSDL_RESOURCE = MyTest.class.getClassLoader().getResource("/wsdl/MyService.wsdl");
...
MyServicePort myServicePort = new MyService(WSDL_RESOURCE).getMyService();
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