Patrik Wikström said:Why is the dataset repeated twice in the response structure
It is not.
The outermost dsGetData is the name of a property in the response. The second dsGetData is already part of Progress' serialization of the ProDataset.
Both nodes have the same name. But it's not repeating the dataset twice. If this irritates you, I'd implement an Adapter in the frontend wrapping the access to the JSDO to return the response parts in a format you prefer.
The JSDO has never been made for Business Tasks. As an alternative, check the RESTful method of invoking Business Task Methods:
https://documentation.consultingwerkcloud.com/display/SCL/Support+for+RESTful+invocation+of+Business+Task+and+Business+Entity+Methods