One Star

Setting WSDL URL dynamically in CXF in Talend ESB open source edition

Hi,
I am trying to use context to set the WSDL URL in CXF component in Mediation route in open source edition When the route is deployed , the WSDL URLS are resolved on deployment . I am trying to use config to load on startup the WSDL URLS from external file.How can I ensure that WSDL URLS are not resolved post deployment on load of the routes using Talend Open source edition?
Thanks
3 REPLIES
Moderator

Re: Setting WSDL URL dynamically in CXF in Talend ESB open source edition

Hi,
I am trying to use config to load on startup the WSDL URLS from external file.How can I ensure that WSDL URLS are not resolved post deployment on load of the routes using Talend Open source edition?

You don't want to access the WSDL URLS from external file(WSDL URLS are not resolved post deployment on load of the routes? return a error?) Is there any more description about your scenario? What's the final expected result do you want?
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: Setting WSDL URL dynamically in CXF in Talend ESB open source edition

we are using context variables for "Address" and "WSDL" Fields in cxf component settings (Address,WSDL File ) .As we are using open source
we are unable to use the different context groups -Default , dev , QA , Prod . So we employed the property files
and use "cconfig" comppnent to read the property file and then set the context variable to set the information dynamically . However it doesn't happen that way .
The "default" group values in the context are always taken during deployment as the WSDL file resolution happens before "cconfig" component is called by Talend. How do i
handle or configure or ensure that the WSDL file is not resolved prior to loading of the cconfig component.
PROPERTY FILE
=============
CLAIMS_SERVICE_ENDPOINT=http://abc.ddd.com/businessservices/clservice
Employee

Re: Setting WSDL URL dynamically in CXF in Talend ESB open source edition

Hi kranthides,

There are several options I would try:
Camel Simple
In your cCXF configuration, I would try using a little of the Camel Simple expression language to reference a header. So early in your route, you would set the desired address and wsdlurl to headers. You would also put some Camel Simple references to those headers in your cCXF configuration in the Address and WSDL File field. So they would look something like ${header.service_address} and ${header.wsdl_url}.
In order to use the context properties, you could probably create exports of the route with each environment's context. I know that's not very graceful, but it is an option.

If possible, I suggest adding the actual WSDL to the Resources repository in Studio , and using that WSDL in your cCXF configuration. That way you only need to alter the address in your various environments.

http://camel.apache.org/simple.html

I hope that helps
-Ben