I have used this in order to call python code in the server, it calls bcrypt encryption in python.

  Set password = "password"
  Set tSC = ##class(EnsLib.JavaGateway.Service).RunCommandViaCPIPE("python -c 'import bcrypt; print(bcrypt.hashpw("_$c(34)_password_$c(34)_", bcrypt.gensalt(10)))'",.pDevice,.pOutput)
  Write pOutput,!

A simple example that you can follow is in the ENSDEMO namespace, the class is Demo.REST.MathService.cls

Is it possible?: Yes
Is it a good idea: No

Proof of concept of bad idea:

Class Rest.BadExample Extends %CSP.Page

Parameter CHARSET = "utf-8";

Parameter CONTENTTYPE = "application/json";

ClassMethod OnPage() As %Status

  Set String = "[ {code:1,description:'cat'},{code:2,description:'lyon'}]"
  Write String

  Quit $$$OK


As Eduard said, you should make your own class that inherits from %CSP.REST

What I finally did was use this form of $zconvert:


It didn't work. I'm now investigating if the way that AngularJS handles the $http.get has to do with it.

Thank you very much Eduard!

The global made it work for the CSP files!

I'm outputting characters from the Rest Service. The locale I'm using is enuw however I tried changing it to espw but it didn't work.

This from System > Configuration > Locale Definitions

A new problem..

In my country we speak in spanish. My developing machine uses windows 8.1

I made a nice looking html mock-up using angular material (in Atom, writing in UTF-8). I just moved that mock-up to the CSP folder inside Ensemble and it shows the typical weird characters of character encoding problems.

Have you had an issue like this before?

My temporal solution for the html files: I just configured Atom to read the files in Windows 1252 encoding
However I still see weird characters on a query to the DB (I made a rest service that returns a json than in turn I use to fill a select input in the html)

I change the names of the files in order to do that, like this:

csp file:

<!DOCTYPE html>
<csp:include page="includes/libraries.csp"/>

inside the includes/libraries.csp file, rename the file as "jquery-1.11.3.min.js" instead of just use the file as "jquery.min.js" :

 <script src="jquery/jquery-1.11.3.min.js"></script> 

this in order to avoid the server to load the old file

By the way, do you use a modern WYSIWYG editor? I used to use Microsoft Frontpage ages ago, and a bit of dreamweaver too