Robert Cemper · Feb 27, 2022 go to post

You reference the documentation  for 

but your $ZV shows.

$ZV: IRIS for Windows (x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:39:22 EDT [Health:3.3.0]
this might be the reason !

The difference is significant.

Robert Cemper · Feb 26, 2022 go to post

detailed description is here  Defining an XData Mapping Block

  XData {MappingName}
  {
    <Mapping  {ClassAttribute}="value" [...] xmlns="http://www.intersystems.com/jsonmapping".>
      <{Property Name}="PropertyName" {PropertyAttribute}="value" [...] />
      [... more Property elements]
    </Mapping>
  }
Robert Cemper · Feb 26, 2022 go to post

Just checked.  The method  uses  %XML.Reader=##class(%XML.Reader).%New()
So you better  compose a nice XML description.
this tells you what is expected:

Do reader.CorrelateRoot("%JSON.Mapping")
 

Robert Cemper · Feb 26, 2022 go to post

And that's the description
classmethod GenerateMappingFromXdata(class As %String, ByRef mapping) as %Status

Get the JSON adaptor configuration information from class and property parameters.

BUT:
https://docs.intersystems.com/iris20212/csp/documatic/%25CSP.Documatic.cls?&LIBRARY=%25SYS&CLASSNAME=%25JSON.Generator

This class is used internally by InterSystems IRIS. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.

Robert Cemper · Feb 26, 2022 go to post

It looks like your JSON Mapping is already content of what you labeled XDATA.
The essence of XDATA is to contain an XML structure to describe your data.
that is to be transformed into a JSON mapping. 
In your case, you have the mapping already in hands.
So what other mapping would you expect ? 

Robert Cemper · Feb 25, 2022 go to post

No, I have no solution.
As all development on Caché (except serious bugfix) is frozen I wouldn't expect this to come.
You may migrate your Caché to IRIS. Or use some other way (REST ?) for access. 

Robert Cemper · Feb 25, 2022 go to post

my personal experience dates back to ~2007 or so.
converting tables using SQLGatewy at the customer side was rather simple.
rewriting ALL stored procedures (in COS) was an enormous effort.
Finally, the soultion provider located in NYC refused cooperation.
This was an O* Platinum Partner.
ISC sales in NYC couldn't convince them crying     

Robert Cemper · Feb 25, 2022 go to post

Hi Dmitry,
Did you ever get some useful echo?
Except: "use the newer version". 
No surprise. But ISC mostly doesn't follow their own rules and suggestions
You may create your own %ZXML.CharacterStream extending  %Stream.GlobalCharacter.
I would not expect as much resistance from ISC as against my backport of %JSON* to Caché