Hi,

Just would like to check the following thing in CXF architecture:
As I understand WSDL  is initialized quite early on the Client side. If 
wsdlLocation attribute is defined in client spring configuration, 
JaxWsProxyFactoryBean -> ClientFactoryBean -> ReflectionServiceFactoryBean get 
WSDL from the location and build Service Model. At this point service endpoint 
and policy attachments are loaded. When client proxy is injected, it has 
already pre-initialized endpoint and policies from WSDL.

Question: is there any possibility to update WSDL dynamically (for example load 
from another location with updated endpoint and policies) after client proxy is 
injected?
Use case: service is looked up dynamically via service registry and client 
should make some decisions which service wsdl will be used in callbacks 
handler. Therefore possible solution will be just to tell client after 
ServiceRegistry lookup and callback calls - this is new WSDL url with updated 
endpoint and updated policies.
As far as I can see it is not possible in CXF now, but just ask it to be sure.

Alternative solution is update only endpoint in ConduitSelector and set 
policies dynamically using POLICY_OVERLOAD property.
WSDL solution seems to be more elegant, but I am not sure is it possible now in 
CXF.

Regards,
Andrei.

Reply via email to