private void configureEndpoints ( final Deployment dep , final JBossWebMetaData jbossWebMD ) { final String transportClassName = this . getTransportClassName ( dep ) ; WSLogger . ROOT_LOGGER . trace ( "Modifying servlets" ) ; // get a list of the endpoint bean class names final Set < String > epNames = new HashSet < String > ( ) ; for ( Endpoint ep : dep . getService ( ) . getEndpoints ( ) ) { epNames . add ( ep . getTargetBeanName ( ) ) ; } // fix servlet class names for endpoints for ( final ServletMetaData servletMD : jbossWebMD . getServlets ( ) ) { final String endpointClassName = ASHelper . getEndpointClassName ( servletMD ) ; if ( endpointClassName != null && endpointClassName . length ( ) > 0 ) { // exclude JSP if ( epNames . contains ( endpointClassName ) ) { // set transport servlet servletMD . setServletClass ( WSFServlet . class . getName ( ) ) ; WSLogger . ROOT_LOGGER . tracef ( "Setting transport class: %s for endpoint: %s" , transportClassName , endpointClassName ) ; final List < ParamValueMetaData > initParams = WebMetaDataHelper . getServletInitParams ( servletMD ) ; // configure transport class name WebMetaDataHelper . newParamValue ( WSFServlet . STACK_SERVLET_DELEGATE_CLASS , transportClassName , initParams ) ; // configure webservice endpoint WebMetaDataHelper . newParamValue ( Endpoint . SEPID_DOMAIN_ENDPOINT , endpointClassName , initParams ) ; } else if ( endpointClassName . startsWith ( "org.apache.cxf" ) ) { throw WSLogger . ROOT_LOGGER . invalidWSServlet ( endpointClassName ) ; } } } }
Configures transport servlet class for every found webservice endpoint .