use of org.jboss.ws.common.configuration.BasicConfigResolver in project jbossws-cxf by jbossws.
the class ServerBeanCustomizer method configureEndpoint.
protected void configureEndpoint(EndpointImpl endpoint) {
// Configure wsdl file publisher
if (wsdlPublisher != null) {
endpoint.setWsdlPublisher(wsdlPublisher);
}
// Configure according to the specified jaxws endpoint configuration
if (// before publishing, we set the jaxws conf
!endpoint.isPublished()) {
final Object implementor = endpoint.getImplementor();
// setup our invoker for http endpoints if invoker is not configured in jbossws-cxf.xml DD
boolean isHttpEndpoint = endpoint.getAddress() != null && endpoint.getAddress().substring(0, 5).toLowerCase(Locale.ENGLISH).startsWith("http");
if ((endpoint.getInvoker() == null) && isHttpEndpoint) {
final AnnotationsInfo ai = dep.getAttachment(AnnotationsInfo.class);
endpoint.setInvoker(new JBossWSInvoker(ai.hasAnnotatedClasses(UseAsyncMethod.class.getName())));
}
// ** Endpoint configuration setup **
final String endpointClassName = implementor.getClass().getName();
final List<Endpoint> depEndpoints = dep.getService().getEndpoints();
for (Endpoint depEndpoint : depEndpoints) {
if (endpointClassName.equals(depEndpoint.getTargetBeanName())) {
org.jboss.wsf.spi.metadata.config.EndpointConfig config = depEndpoint.getEndpointConfig();
if (config == null) {
// the ASIL did not set the endpoint configuration, perhaps because we're processing an
// Endpoint.publish() API started endpoint or because we're on WildFly 8.0.0.Final or
// previous version. We compute the config here then (clearly no container injection
// will be performed on optional handlers attached to the config)
BasicConfigResolver bcr = new BasicConfigResolver(dep, implementor.getClass());
config = bcr.resolveEndpointConfig();
depEndpoint.setEndpointConfig(config);
}
if (config != null) {
endpoint.setEndpointConfig(config);
}
// also save Service QName and Port QName in the endpoint for later matches
depEndpoint.setProperty(Message.WSDL_PORT, endpoint.getEndpointName());
depEndpoint.setProperty(Message.WSDL_SERVICE, endpoint.getServiceName());
}
}
// JASPI
final JASPIAuthenticationProvider jaspiProvider = (JASPIAuthenticationProvider) ServiceLoader.loadService(JASPIAuthenticationProvider.class.getName(), null, ClassLoaderProvider.getDefaultProvider().getServerIntegrationClassLoader());
if (jaspiProvider == null) {
Loggers.DEPLOYMENT_LOGGER.cannotFindJaspiClasses();
} else {
if (jaspiProvider.enableServerAuthentication(endpoint, depEndpoints.get(0))) {
endpoint.getInInterceptors().add(new AuthenticationMgrSubjectCreatingInterceptor());
}
}
}
}
Aggregations