So far AS does not support for Carbon HostName property when generating
WSDLs for JAX-WS services,  this was an issue on ELB fronted worker/manager
setups because each worker generate WSDLs with their own hostname/IP.

Please find proposed architecture to fix above issue.


1.  In CXF F/W WSDLGetInterceptor is the interceptor responsible for WSDL
generation,  there is a new  interceptor introduced called
HostNameSupportedWSDLGetInterceptor which extended from default
WSDLGetInterceptor. This HostNameSupportedWSDLGetInterceptor calls supper
class methods to generate WSDLs but modify endpoint address according to
Carbon HostName property.

2. There is a CXF ServerLifeCycleListener introduced called
CarbonServerLifeCycleListener which get invoked during the start and
termination of CXF service, during the start it perform following two
activities.

a.)  Load the configuration from carbon.xml  and keep it in a static
variable to use in future.

b.)  Go through the registered interceptors and replace WSDLGetInterceptor
by HostNameSupportedWSDLGetInterceptor if it available on Classpath.


This new CXF extension will be shipped as a dependency of AS 5.2.0 CXF
runtime but can be used with any CXF version within a Carbon based servers.



Thanks !

Sagara Gunathunga

Senior Technical Lead; WSO2, Inc.;  http://wso2.com
V.P Apache Web Services;    http://ws.apache.org/
Linkedin; http://www.linkedin.com/in/ssagara
Blog ;  http://ssagara.blogspot.com
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to