use of org.jboss.wsf.spi.metadata.config.EndpointConfig in project wildfly by wildfly.
the class WSIntegrationProcessorJAXWS_HANDLER method processAnnotation.
@Override
protected void processAnnotation(final DeploymentUnit unit, final EEModuleDescription moduleDescription) throws DeploymentUnitProcessingException {
final WSEndpointHandlersMapping mapping = getOptionalAttachment(unit, WS_ENDPOINT_HANDLERS_MAPPING_KEY);
final VirtualFile root = unit.getAttachment(DEPLOYMENT_ROOT).getRoot();
final JBossWebservicesMetaData jbossWebservicesMD = unit.getAttachment(WSAttachmentKeys.JBOSS_WEBSERVICES_METADATA_KEY);
final CompositeIndex index = unit.getAttachment(Attachments.COMPOSITE_ANNOTATION_INDEX);
final boolean war = DeploymentTypeMarker.isType(DeploymentType.WAR, unit);
final JBossWebMetaData jwmd = ASHelper.getJBossWebMetaData(unit);
for (EEModuleClassDescription classDescription : moduleDescription.getClassDescriptions()) {
ClassInfo classInfo = null;
ClassAnnotationInformation<WebService, WebServiceAnnotationInfo> annotationInfo = classDescription.getAnnotationInformation(WebService.class);
if (annotationInfo != null) {
classInfo = (ClassInfo) annotationInfo.getClassLevelAnnotations().get(0).getTarget();
}
final ClassAnnotationInformation<WebServiceProvider, WebServiceProviderAnnotationInfo> providreInfo = classDescription.getAnnotationInformation(WebServiceProvider.class);
if (providreInfo != null) {
classInfo = (ClassInfo) providreInfo.getClassLevelAnnotations().get(0).getTarget();
}
if (classInfo != null && isJaxwsEndpoint(classInfo, index, false)) {
final String endpointClassName = classInfo.name().toString();
final ConfigResolver configResolver = new ConfigResolver(classInfo, jbossWebservicesMD, jwmd, root, war);
final EndpointConfig config = configResolver.resolveEndpointConfig();
if (config != null) {
registerConfigMapping(endpointClassName, config, unit);
}
final Set<String> handlers = getHandlers(endpointClassName, config, configResolver, mapping);
if (!handlers.isEmpty()) {
if (isEjb3(classInfo)) {
for (final EJBEndpoint ejbEndpoint : getJaxwsEjbs(unit)) {
if (endpointClassName.equals(ejbEndpoint.getClassName())) {
for (final String handlerClassName : handlers) {
final String ejbEndpointName = ejbEndpoint.getName();
final String handlerName = ejbEndpointName + "-" + handlerClassName;
final ComponentDescription jaxwsHandlerDescription = createComponentDescription(unit, handlerName, handlerClassName, ejbEndpointName);
propagateNamingContext(jaxwsHandlerDescription, ejbEndpoint);
}
}
}
} else {
for (final POJOEndpoint pojoEndpoint : getJaxwsPojos(unit)) {
if (endpointClassName.equals(pojoEndpoint.getClassName())) {
for (final String handlerClassName : handlers) {
final String pojoEndpointName = pojoEndpoint.getName();
final String handlerName = pojoEndpointName + "-" + handlerClassName;
createComponentDescription(unit, handlerName, handlerClassName, pojoEndpointName);
}
}
}
}
}
}
}
}
use of org.jboss.wsf.spi.metadata.config.EndpointConfig in project wildfly by wildfly.
the class ConfigService method start.
@Override
public void start(final StartContext context) throws StartException {
Map<String, String> props = null;
if (!properties.isEmpty()) {
props = new HashMap<String, String>(properties.size(), 1);
for (PropertyService ps : properties) {
props.put(ps.getPropName(), ps.getPropValue());
}
}
if (client) {
ClientConfig clientConfig = new ClientConfig(configName, preHandlerChains, postHandlerChains, props, null);
serverConfig.registerClientConfig(clientConfig);
config = clientConfig;
} else {
EndpointConfig endpointConfig = new EndpointConfig(configName, preHandlerChains, postHandlerChains, props, null);
serverConfig.registerEndpointConfig(endpointConfig);
config = endpointConfig;
}
}
use of org.jboss.wsf.spi.metadata.config.EndpointConfig in project wildfly by wildfly.
the class WebservicesSubsystemRuntimeTestCase method testSubsystem.
@Test
public void testSubsystem() throws Exception {
KernelServicesBuilder builder = createKernelServicesBuilder(createAdditionalInitialization()).setSubsystemXml(getSubsystemXml());
KernelServices mainServices = builder.build();
if (!mainServices.isSuccessfulBoot()) {
Assert.fail(mainServices.getBootError().toString());
}
//WSDL soap:address rewrite engine options test
ServerConfig serverConfig = getMSCService(mainServices.getContainer(), WSServices.CONFIG_SERVICE, ServerConfig.class);
Assert.assertTrue(serverConfig.isModifySOAPAddress());
Assert.assertEquals("localhost", serverConfig.getWebServiceHost());
Assert.assertEquals(9895, serverConfig.getWebServicePort());
Assert.assertEquals(9944, serverConfig.getWebServiceSecurePort());
Assert.assertEquals("https", serverConfig.getWebServiceUriScheme());
//Client & Endpoint predefined configuration tests
//HACK: we need to manually reload the client/endpoint configs as the ServerConfigService is actually not starting in this test;
//the reason is that it requires services which are not installed here and even if those were available it would fail to start
//because we're not running in a modular environment and hence it won't be able to detect the proper ws stack implementation.
//Even if we made the subsystem work with a flat classloader (which would not make sense except for the tests here), we'd have
//to deal a hell of ws specific maven dependencies here... so really not worth the effort.
serverConfig.reloadClientConfigs();
ClientConfig clCfg = serverConfig.getClientConfig("My-Client-Config");
Assert.assertNotNull(clCfg);
Assert.assertEquals(1, clCfg.getProperties().size());
Assert.assertEquals("bar3", clCfg.getProperties().get("foo3"));
Assert.assertEquals(2, clCfg.getPreHandlerChains().size());
Map<String, UnifiedHandlerChainMetaData> map = new HashMap<String, UnifiedHandlerChainMetaData>();
for (UnifiedHandlerChainMetaData uhc : clCfg.getPreHandlerChains()) {
map.put(uhc.getId(), uhc);
}
Assert.assertTrue(map.get("my-handlers").getHandlers().isEmpty());
Assert.assertEquals("##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM", map.get("my-handlers").getProtocolBindings());
Assert.assertEquals(1, map.get("my-handlers2").getHandlers().size());
Assert.assertEquals("MyHandler", map.get("my-handlers2").getHandlers().get(0).getHandlerName());
Assert.assertEquals("org.jboss.ws.common.invocation.MyHandler", map.get("my-handlers2").getHandlers().get(0).getHandlerClass());
Assert.assertEquals("##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM", map.get("my-handlers").getProtocolBindings());
Assert.assertEquals(1, clCfg.getPostHandlerChains().size());
Assert.assertEquals("my-handlers2", clCfg.getPostHandlerChains().get(0).getId());
Assert.assertEquals(1, clCfg.getPostHandlerChains().get(0).getHandlers().size());
Assert.assertEquals("MyHandler2", clCfg.getPostHandlerChains().get(0).getHandlers().get(0).getHandlerName());
Assert.assertEquals("org.jboss.ws.common.invocation.MyHandler2", clCfg.getPostHandlerChains().get(0).getHandlers().get(0).getHandlerClass());
Assert.assertEquals("##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM", clCfg.getPostHandlerChains().get(0).getProtocolBindings());
serverConfig.reloadEndpointConfigs();
EndpointConfig epCfg = serverConfig.getEndpointConfig("Standard-Endpoint-Config");
Assert.assertNotNull(epCfg);
Assert.assertTrue(epCfg.getProperties().isEmpty());
Assert.assertTrue(epCfg.getPreHandlerChains().isEmpty());
Assert.assertTrue(epCfg.getPostHandlerChains().isEmpty());
epCfg = serverConfig.getEndpointConfig("Recording-Endpoint-Config");
Assert.assertNotNull(epCfg);
Assert.assertEquals(2, epCfg.getProperties().size());
Assert.assertEquals("bar", epCfg.getProperties().get("foo"));
Assert.assertEquals("bar2", epCfg.getProperties().get("foo2"));
Assert.assertEquals(1, epCfg.getPreHandlerChains().size());
Assert.assertEquals("recording-handlers", epCfg.getPreHandlerChains().get(0).getId());
Assert.assertEquals(2, epCfg.getPreHandlerChains().get(0).getHandlers().size());
Assert.assertEquals("RecordingHandler", epCfg.getPreHandlerChains().get(0).getHandlers().get(0).getHandlerName());
Assert.assertEquals("org.jboss.ws.common.invocation.RecordingServerHandler", epCfg.getPreHandlerChains().get(0).getHandlers().get(0).getHandlerClass());
Assert.assertEquals("AnotherRecordingHandler", epCfg.getPreHandlerChains().get(0).getHandlers().get(1).getHandlerName());
Assert.assertEquals("org.jboss.ws.common.invocation.RecordingServerHandler", epCfg.getPreHandlerChains().get(0).getHandlers().get(1).getHandlerClass());
Assert.assertEquals("##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM", epCfg.getPreHandlerChains().get(0).getProtocolBindings());
Assert.assertEquals(1, epCfg.getPostHandlerChains().size());
Assert.assertEquals("recording-handlers2", epCfg.getPostHandlerChains().get(0).getId());
Assert.assertEquals(2, epCfg.getPostHandlerChains().get(0).getHandlers().size());
Assert.assertEquals("RecordingHandler2", epCfg.getPostHandlerChains().get(0).getHandlers().get(0).getHandlerName());
Assert.assertEquals("org.jboss.ws.common.invocation.RecordingServerHandler", epCfg.getPostHandlerChains().get(0).getHandlers().get(0).getHandlerClass());
Assert.assertEquals("AnotherRecordingHandler2", epCfg.getPostHandlerChains().get(0).getHandlers().get(1).getHandlerName());
Assert.assertEquals("org.jboss.ws.common.invocation.RecordingServerHandler", epCfg.getPostHandlerChains().get(0).getHandlers().get(1).getHandlerClass());
Assert.assertEquals("##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM", epCfg.getPostHandlerChains().get(0).getProtocolBindings());
}
Aggregations