E9.2 xerceswrapper and CDATA XML convention

ccornagg

Well Known Member
Hello,

is there someone experiencing issues reading XML files via xerceswrapper and containing CDATA XML convention ?

Apparently this is not supported by JDE, I did try also with 9.2.6.x Tool Release:
when you try to read via XRCS APIs an XML element containing CDATA the process is not returing any error but it crashes (with related zombie kernel).

If you take a look at:

<<E1: BSFN: Is It Possible to Use API XRCS_getElementText to Parse an XML with CDATA Section (Doc ID 2656182.1)>>

You can see a definitive statement:

<< No. As informed by JDE Development team , the API XRCS_getElementText has a limitation and is not capable of parsing an XML element with CDATA section. >>


How comes a similar limitation has not been overcomed with recent tool releases ?

Is someone using alternative APIs to handle incoming XML files ?

Thanks for your feedback.

Kind regards,

Carlo
 
I have used the jde xerceswrapper for both read and writing quite a few times in the past, however, I have NOT ever had to deal with data formatted as CDATA. I also can't recall ever working with CDATA outside of the JDE context either so take whatever I post here with a grain of salt. I can only give you some possible things I might try just thinking out loud and would be curious what solution you finally come to.

Its also a little curious that JDE crashes with a zombie. If it encounters what it thinks is malformed XML it should throw an error, not crash.

1. Maybe just use the latest xerces lib directly (or maybe you can use the one already "embedded" in the jde instance) instead of using the JDE wrappers. It looks like it does support CDATA, JDE simply must not have implemented CDATA support in the wrappers.

2. Use a consumer BSSV to parse the data. I know most people think of consumer BSSVs for consuming a third party web service but its really just a BSFN calling a BSSV... you then do whatever you want in the BSSV and I would think you would have a lot more tools at your disposal for dealing with XML in the BSSV/Java like JAXB.

3. To all the Orchestrator gurus... can Orchestrator handle this?
 
would be curious what solution you finally come to.

Its also a little curious that JDE crashes with a zombie. If it encounters what it thinks is malformed XML it should throw an error, not crash.

Thank you very much Brian for your answer.

Indeed I'm really disappointed CDATA convention can cause a BSFN to crash, this is not acceptable.
Similarly Oracle documentation is just talking about an "API limitation" ...

My temporary solution is to add a preprocess step ouside JDE in order to guarantee XML files included in my inbound folder do not contain CDATA convention.

I know it's not the most elegant and effective approach, but I cannot really avoid using my C piece of code contained in my JDE BSFN which has few calculations and has been designed to be called from APPL Event Rules.
Moreover it's a pice of code working in production environment since two years by few customers running different versions (9.0 / 9.1 / 9.2) and various tool release level.
It may happen they will never receive XML files with CDATA, but when it happens it's something hard to explain to users / customers.

Kind regards,

Carlo
 
Back
Top