One Star

tESBProviderRequest cannot validate WSDL

Hello Talend Fighters!
The Talend DI Component "tESBProviderRequest" to wrap the Talend Job as a web service
implementation cannot validate the belonging WSDL and its XML Scheme respectively.
Can someone tell me how to turn on the XML Schema validation? I can't understand
why this is not supported?
Can this maybe achieved with Talend ESB (Mediation)? But this approach is totally different.
Thanks in advance
Hilderich
7 REPLIES
Employee

Re: tESBProviderRequest cannot validate WSDL

HI Hilderich,
actually the tESBProviderRequest is an ESB component (even so in the Integration perspective bu tit's part of the ESB Data Service feature ) but to come to your question. In 5.3 you can not easily get a schema validation in place for Data Servcies but in the new Talend ESB 5.4. version it is available just by a click on a check box (or in teh Enterprise version alternativly also by Policy provided via our ESB Service Registry). In case it is enough for you to know that it comes this year the answer is yes and you can see it/try it out with our 5.4.0 M3 (TOS4ESB) already.
Regarding 5.3. I can't really provide you a simple 'workaround'. (Sure you could do a validation in front via a Route or after the call in your Job but this requires additional effort which is not really good but just to provide some hints.
Dietmar
One Star

Re: tESBProviderRequest cannot validate WSDL

Hello Dietmar!
Thank you for your help, explanations and advices. Your explanations are very bad news because we cannot just wait and upgrade in a while when 5.4 has reached a mature state. Furthermore an upgrade is associated with much efforts.
Cheers
Hilderich
Employee

Re: tESBProviderRequest cannot validate WSDL

Hi Hilderich,
even so it would be not as convienent as in 5.4. it should be possible to add a WSDL Schema Validation policy directly into the WSDL which you use to create the Data Service. I will asked our Support Team to check this and they will come back to you in this.
Dietmar
Employee

Re: tESBProviderRequest cannot validate WSDL

Hi Hilderich,
in 5.3 there is no way by means of an outside configuration to make it working on a Data Service (from Studio exported), mean my hope that we can apply a policy does not exists anymore. As a summery of options we see:
1) Wait for 5.4.0 / 5.4.1 (but we know not everyone can switch to the newest version immeditaly but it might be still an option to consider as here it is supported by policy an by a simple 'Check Box' to enable it for the Data Service provider very easily.
2) Use a Proxy in front (e.g. a Route with cCXF and schema validation enabled)
3) Do the schema validation in the Data Service Operation (using tXSDValidator right after tESBProvider Request component)
4) well not really something easy but if you really like to go down the path to even patch the exported kar file it should work to patch the bean.xml directly (by this you have to extract the kar file and the contral-bundle jar also and change the '{your dataservice name}-control-bundle\0.1\META-INF\spring\bean.xml and add the following jaxws property to the existing jaxws properties (add it to the existing once)
<jaxwsSmiley Tongueroperties>
..... others already existing once ........
<entry key="schema-validation-enabled" value="true"/>
</jaxwsSmiley Tongueroperties>
After that you have to make sure that you really create a valid jar and kar again with the changed bean.xml and when you then deploy it to the Container it should enforce the schema validation (but for sure whenever you export the dataservice from the studio this change will be lost (you might need to setup e.g. a jenkins job or so to do this in a more automated fashion )
Some hint to the jaxws property can be also found here: http://www.jroller.com/gmazza/entry/soap_xml_schema_validation
I hope one of the options is still helpful for you.
Dietmar
One Star

Re: tESBProviderRequest cannot validate WSDL

Hello Dietmar,
Thank you for your long explained options.

Option four doesn't work because we don't use the runtime but also a plain job server.
Options 2 and 3 seems to be realistic. Option 4 has a huge impact and my colleagues
will kill me.
Kind regards
Hilderich
One Star

Re: tESBProviderRequest cannot validate WSDL

Hi,
I am using talend 5.4 free version. Can I resolve above issue with free version?
Regards,
Rajashree
One Star

Re: tESBProviderRequest cannot validate WSDL

Hi, I am looking for the same in TOS ESB 5.4. Can we set CXF's flag schema-validation-enabled in tESBProviderRequest or the service's ESB Runtime Options?
Thanks Michal