Class JaxWsWebServicePublisherBeanPostProcessor

java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.handler.AbstractHandlerMapping
org.springframework.web.servlet.handler.AbstractUrlHandlerMapping
org.apache.cxf.jaxws.spring.JaxWsWebServicePublisherBeanPostProcessor
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.context.ApplicationContextAware, org.springframework.core.Ordered, org.springframework.web.context.ServletConfigAware, org.springframework.web.context.ServletContextAware, org.springframework.web.servlet.handler.MatchableHandlerMapping, org.springframework.web.servlet.HandlerMapping

public class JaxWsWebServicePublisherBeanPostProcessor extends org.springframework.web.servlet.handler.AbstractUrlHandlerMapping implements org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.web.context.ServletConfigAware, org.springframework.beans.factory.BeanFactoryAware
Bean to scan context for potential web services. This scans the beans for classes that are annotated with @WebService. Excepting those already declared via the JAX-WS Spring schema, it launches each as an endpoint. By default, it sets up a default JaxWsServiceFactory and JAX-B data binding, and then creates a URL under /services/ based on the service name. Properties of the bean permit you to configure this; if you set prototypeServiceFactoryBeanName, the code will fetch that bean. It must be a prototype, since service factory object can't be used for more than one endpoint. Similarly, prototypeDataBindingBeanName can be used to control the data binding. Note that this class uses org.apache.cxf.transport.servlet#CXFServlet from the cxf-rt-transports-http-jetty library, which is not part of the standard dependencies of the JAX-WS front end. If you use this processor in an environment with no servlet, it will still launch the endpoints using the embedded CXF server.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
  • Field Summary

    Fields inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping

    mappingsLogger

    Fields inherited from class org.springframework.context.support.ApplicationObjectSupport

    logger

    Fields inherited from interface org.springframework.web.servlet.HandlerMapping

    BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, LOOKUP_PATH, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
    boolean
    For Unit Test.
    boolean
    For Unit Test.
     
     
    void
    setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
     
    void
    setPrototypeDataBindingBeanName(String prototypeDataBindingBeanName)
    Set the data binding for all services launched by this bean.
    void
    setPrototypeServerFactoryBeanName(String prototypeServerFactoryBeanName)
    Set the server factory for all services launched by this bean.
    void
    setServletConfig(jakarta.servlet.ServletConfig servletConfig)
     
    void
    setUrlPrefix(String urlPrefix)
    Set the prefix for the generated endpoint URLs.

    Methods inherited from class org.springframework.web.servlet.handler.AbstractUrlHandlerMapping

    buildPathExposingHandler, exposePathWithinMapping, exposeUriTemplateVariables, getHandlerInternal, getHandlerMap, getPathPatternHandlerMap, getRootHandler, lookupHandler, lookupHandler, match, registerHandler, registerHandler, setLazyInitHandlers, setPatternParser, setRootHandler, setUseTrailingSlashMatch, supportsTypeLevelMappings, unregisterHandler, useTrailingSlashMatch, validateHandler

    Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping

    adaptInterceptor, detectMappedInterceptors, extendInterceptors, formatMappingName, getAdaptedInterceptors, getCorsConfiguration, getCorsConfigurationSource, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getPatternParser, getUrlPathHelper, hasCorsConfigurationSource, initApplicationContext, initInterceptors, initLookupPath, setAlwaysUseFullPath, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper, usesPathPatterns

    Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport

    getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext

    Methods inherited from class org.springframework.context.support.ApplicationObjectSupport

    getApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContext

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.springframework.web.servlet.HandlerMapping

    getHandler, usesPathPatterns

    Methods inherited from interface org.springframework.web.servlet.handler.MatchableHandlerMapping

    getPatternParser
  • Constructor Details

  • Method Details

    • setUrlPrefix

      public void setUrlPrefix(String urlPrefix)
      Set the prefix for the generated endpoint URLs.
      Parameters:
      urlPrefix -
    • postProcessBeforeInitialization

      public Object postProcessBeforeInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException
      Specified by:
      postProcessBeforeInitialization in interface org.springframework.beans.factory.config.BeanPostProcessor
      Throws:
      org.springframework.beans.BeansException
    • postProcessAfterInitialization

      public Object postProcessAfterInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException
      Specified by:
      postProcessAfterInitialization in interface org.springframework.beans.factory.config.BeanPostProcessor
      Throws:
      org.springframework.beans.BeansException
    • setServletConfig

      public void setServletConfig(jakarta.servlet.ServletConfig servletConfig)
      Specified by:
      setServletConfig in interface org.springframework.web.context.ServletConfigAware
    • setBeanFactory

      public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
      Specified by:
      setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
      Throws:
      org.springframework.beans.BeansException
    • getPrototypeServerFactoryBeanName

      public String getPrototypeServerFactoryBeanName()
    • setPrototypeServerFactoryBeanName

      public void setPrototypeServerFactoryBeanName(String prototypeServerFactoryBeanName)
      Set the server factory for all services launched by this bean. This must be the name of a scope='prototype' bean that implements org.apache.cxf.frontend#ServerFactoryBean.
      Parameters:
      prototypeServerFactoryBeanName -
    • getPrototypeDataBindingBeanName

      public String getPrototypeDataBindingBeanName()
    • setPrototypeDataBindingBeanName

      public void setPrototypeDataBindingBeanName(String prototypeDataBindingBeanName)
      Set the data binding for all services launched by this bean. This must be the name of a scope='prototype' bean that implements org.apache.cxf.databinding#DataBinding.
      Parameters:
      prototypeDataBindingBeanName -
    • isCustomizedServerFactory

      public boolean isCustomizedServerFactory()
      For Unit Test.
      Returns:
    • isCustomizedDataBinding

      public boolean isCustomizedDataBinding()
      For Unit Test.
      Returns: