docs: @Override
      public ExtensionProcessor createExtensionProcessor(IServletContext servletContext) throws Exception {
  
          WebModuleMetaData moduleMetaData = ((WebAppConfigExtended) (servletContext.getWebAppConfig())).getMetaData();
          JaxWsModuleMetaData jaxWsModuleMetaData = JaxWsMetaDataManager.getJaxWsModuleMetaData(moduleMetaData);
  
          //If jaxws-2.2 feature is enabled while the server is on the running status, WebContainer service may receive the JaxWsExtensionFactory registration
          //service before the started applications are removed, at this time, no JaxWsModuleMeta was stored in the application metadata
          //So, now we just return null, as the application will be restarted as it is configured in the jaxws feature file
          if (jaxWsModuleMetaData == null) {
              return null;
          }
  
          //Add WebAppInjectionInterceptor to JaxWsInstanceManager
          jaxWsModuleMetaData.getJaxWsInstanceManager().addInterceptor(new WebAppInjectionInstanceInterceptor(servletContext));
  
          //Get JaxWsModuleInfo
          JaxWsModuleInfo jaxWsModuleInfo = servletContext.getModuleContainer().adapt(JaxWsModuleInfo.class);
  
          //No WebService Implementation is found and just return null to indicate no interest on the request processing
          if (jaxWsModuleInfo == null || jaxWsModuleInfo.endpointInfoSize() == 0) {
              if (tc.isDebugEnabled()) {
                  Tr.debug(tc, "No web service implementation bean is found in the web module, will not create web service processor");
              }
              return null;
          }
  
          Container publisherModuleContainer = servletContext.getModuleContainer();
          JaxWsPublisherContext publisherContext = new JaxWsPublisherContext(jaxWsModuleMetaData, publisherModuleContainer, JaxWsUtils.getWebModuleInfo(publisherModuleContainer));
  
          publisherContext.setAttribute(JaxWsWebContainerConstants.SERVLET_CONTEXT, servletContext);
  
          WebApp webApp = (WebApp) servletContext;
          publisherContext.setAttribute(JaxWsWebContainerConstants.NAMESPACE_COLLABORATOR, webApp.getCollaboratorHelper().getWebAppNameSpaceCollaborator());
  
          publisherContext.setAttribute(JaxWsConstants.ENDPOINT_INFO_BUILDER_CONTEXT, new EndpointInfoBuilderContext(
                          servletContext.getModuleContainer().adapt(WebAnnotations.class).getInfoStore(),
                          servletContext.getModuleContainer()
                                        ));
  
          // get endpoint publisher and do publish
          EndpointPublisher endpointPublisher = endpointPublisherManagerRef.getServiceWithException().getEndpointPublisher(JaxWsConstants.WEB_ENDPOINT_PUBLISHER_TYPE);
  
          for (EndpointInfo endpointInfo : jaxWsModuleInfo.getEndpointInfos()) {
              endpointPublisher.publish(endpointInfo, publisherContext);
          }
  
          for (JaxWsWebAppConfigurator jaxWsWebAppConfigurator : jaxWsWebAppConfigurators) {
              jaxWsWebAppConfigurator.configure(jaxWsModuleInfo, servletContext.getWebAppConfig());
          }
  
          return new JaxWsExtensionProcessor(servletContext);
      }