It is not a <PROTECT> error. Here are some examples which errors are shown:

EnsEDI.Description:
  • FEHLER #5002: Caché-Fehler: <SLMSPAN>zKill+4^%Studio.Global.1

EnsEDI.Description("X","X12"):("X","X12"):

  • FEHLER #5899: Dieses Global-Format kann nicht decodiert werden, da es falsch ist '^EnsEDI.Description("X"'.\n '^"X12"):("X"'.\n
  • FEHLER #5899: Dieses Global-Format kann nicht decodiert werden, da es falsch ist '^"X12")'.\n
  • FEHLER #5899: Dieses Global-Format kann nicht decodiert werden, da es falsch ist '^"X12"):("X"'.\n
  • FEHLER #5899: Dieses Global-Format kann nicht decodiert werden, da es falsch ist '^"X12")'.

I'm not using DeepSee and could delete the globals of this part without a problem.

Anyway - my problem is solved. I'll use a separate new database. Did not know, that is the actual standard.

I worked with Caché since 2003 for several year. And at this time it still was standard to just have the namespaces %sys for the Intersystems things and user for the application. So I tried to restart now the same way with IRIS.

Where did you set that?

It seems to be not the same problem as yours. In my case may be it is not an IRIS specific problem at all. As I do not reach the cors dispatch method and the method in the impl file, It looked like the preflight request is already blocked by the Apache2 webserver on my system.

So I tried to add the following lines to the .htaccess file of solidara.net meanwhile:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

This should enable Cors in the Apache2 webserver.

I also did service apache2 restart.

But this did not solve the problem too. I still getting the same error message for the preflight request.

hi, I tried to modify the above ClassMethod iterate using a local variable sessionId inside the while loop.

Doing this I found out, the behavior of this method is not like normal ClassMethods.

The sessionId set in one cycle of the loop in the next cycle is invalid or - if I set  it to a default value before the loop - it has this default value again.

As a temporary solution I then set a global ^SESSIONID and used that inside the loop. In case I kill this global at the end of the method, I have the same effect again. The ^SESSIONID global is undefined inside the loop again.

It looks like my solution is working when I kill the temporary Global outside this method. But this way is needing a lock of the global, which I could avoid if I could use a local variable.

So: Is there a solution for this problem or is this an error in the %DynamicAbstractObject class and I have to live with this behaviour?

Ok, did that with Postman and it looks like I am one step further now. I get back some headers including cookies for CSPSESSIONID and CSPWSERVERID now, but I get it together with error 404 not found.

So it looks like I'm reaching the csp server, but not my generated rest class method %RouteCB1 in impl.cls. Shouldn't this be automatically called by the given URL independent from username? Or do I have to specify there something more besides username, password and roles in the user record?

By the way I also get this error 404, when I try to do the request on virtserver.swaggerhub.com, although there are example mock data, which are displayed as a result in the Swaggerhub development page for the API. But I think that is not related to the IRIS error.