Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-7076

Intermittent failure in WSDL cache

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 3.1.1
    • 3.2.7, 3.3.0
    • JAX-WS Runtime, Services
    • 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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mstettler Marco Stettler
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: