go to post Alexander Koblov · Mar 19 Status already includes stack-trace. It is not printed by default. You can enable including stack-trace information into status text representation. See https://community.intersystems.com/post/how-set-envcallererrorinfoget-wi...
go to post Alexander Koblov · Mar 19 Take a look at class %SYS.ProcessQuery USER>set q=##class(%SYS.ProcessQuery).ExamStackByPid($J,1) USER>zw ^mtemp(q) ^mtemp(4,"*FORMAT")=1 ^mtemp(4,"*LEVEL",1)=1 ^mtemp(4,"*LEVEL",2)=2 ^mtemp(4,"*STACK")=2 ^mtemp(4,"*STACK",0,"V","$D")="" ... ^mtemp(4,"*STACK",1,"I")="1^S^^^0^" ^mtemp(4,"*STACK",1,"L")=" 1 SIGN ON " ^mtemp(4,"*STACK",1,"S")="" ^mtemp(4,"*STACK",1,"T")="SIGN ON " ^mtemp(4,"*STACK",2,"I")="2^e^^^0^S q=##CLASS(%SYS.ProcessQuery).ExamStackByPid($J,1)" ^mtemp(4,"*STACK",2,"L")=" 2 $$EXTFUNC ~S q=##CLASS(%SYS.ProcessQuery).ExamStackByPid($J,1)" ^mtemp(4,"*STACK",2,"S")="~S q=##CLASS(%SYS.ProcessQuery).ExamStackByPid($J,1)" ^mtemp(4,"*STACK",2,"T")="$$EXTFUNC " ^mtemp(4,"*VARS")=1
go to post Alexander Koblov · Mar 3 Hi Roy, I wonder if you used some LLM to write big chunks of this article. For example, CSP.ini in section 4.2 looks strange to me Indeed, there is a System_Manager parameter in CSP.ini, however its value is allowed IP addresses. And there is no such parameter as System_Manager_Host There is no such section as WEBAPP in CSP.ini to my knowledge. There is a APP_PATH. AutheEnabled, Timeout, and LockCSPName are properties of the web-application, but you generally specify them for the web-application in IRIS or in the Installation Manifest, not in the CSP.ini Where did you find these parameters? I have not found them documented in https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls... Additionally, in 5.1 you have iam listed as a part of IrisCluster definition, and then in the implementation guide there are steps 3 and 4. And step 3 suggests to deploy IAM using IrisCluster operator, and step 4 is to deploy IrisCluster itself. However IAM is a part of IrisCluster in the sample above
go to post Alexander Koblov · Feb 28 Please describe your use case. What you ask for is not possible, however perhaps there are other solutions
go to post Alexander Koblov · Feb 21 What is the authentication method for this web-application? I would suggest to you to have delegated authentication (ZAUTHENTICATE), get the Cookie there and inspect it For example, in the sample here ZAUTHENTICATE checks OAuth2 token. You can check Cookie there Adjust also GetCredentials accordingly
go to post Alexander Koblov · Feb 21 No way, unfortunately. Unless you can use ODBC from your project to access Caché, not InterSystems.Data.CacheClient.dll
go to post Alexander Koblov · Feb 21 The basic solution -- don't enable "Retain All Log Files". Then you would have only two log files -- current one, and old one which is replaced every time current log reaches its Log Rotation Size For more complex strategies -- yes, use OS tools. E.g. logrotate in linux https://docs.intersystems.com/iris20243/csp/docbook/DocBook.UI.Page.cls?...
go to post Alexander Koblov · Feb 21 I wonder if indeed server and port do not match with the ones in the ssldefs.ini What is the connection string and what is the contents of ssldefs.ini?
go to post Alexander Koblov · Jan 30 Hi Yaron. SQL Injection police here ;-) You can pass query parameters to %ExecDirect as well SET variable = 2000 SET sql = "SELECT Column FROM Table WHERE ID = ?" DO ##class(%SQL.Statement).%ExecDirect(, sql, variable)
go to post Alexander Koblov · Jan 14 And also try zw sc after Set sc=stream.LinkToFile("test_test.json")
go to post Alexander Koblov · Dec 2, 2024 Or, if you connect from external java program to IRIS -- check DelimitedIdentifiers option: https://docs.intersystems.com/iris20243/csp/docbook/DocBook.UI.Page.cls?...
go to post Alexander Koblov · Nov 25, 2024 Thank you Luis Angel. Other possibility -- use CPF Merge Define an SSL configuration with CreateSSLConfig, then modify superserver with ModifyServer to assign this SSL configuration https://docs.intersystems.com/iris20242/csp/docbook/DocBook.UI.Page.cls?...
go to post Alexander Koblov · Nov 25, 2024 Measures can be used as a logical condition. For example: SELECT IIF(MEASURES.[%COUNT]<500, "fewer than 500", "500 or more") ON 0, diagd.MEMBERS ON 1 FROM patients SELECT IIF(STDDEV(birthd.decade.MEMBERS) < 50 , "fewer than 50", "50 or more") ON 0, diagd.MEMBERS ON 1 FROM patients https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...
go to post Alexander Koblov · Nov 25, 2024 Hi Daniel. This 404 error shows IIS page. For the debugging purposes the recommendation is to enable PassThrough responses in IIS: https://docs.intersystems.com/iris20242/csp/docbook/DocBook.UI.Page.cls?... IRIS returns 404 when the page or class does not exist, and when PROTECT error happens. So enable the PROTECT events in the Audit, and check if anything is logged there Check that IIS is configured correctly to forward the request that returns 404 to the Web Gateway and then IRIS
go to post Alexander Koblov · Nov 19, 2024 I wonder if this is an error in the documentation, and you rather should use PasswordExternal property, that is for specifying clear text password Tani's comment below is of course correct -- it's always a bad idea to put passwords in the plaintext
go to post Alexander Koblov · Nov 18, 2024 Other idea -- try to put ojdbc8.jar in some publicly available folder. Like /tmp to rule out permissions issue. You wrote that you checked the permissions, however I wonder if MacOS treats folders in the /Users folder in a special way
go to post Alexander Koblov · Nov 18, 2024 Hi Muhammad. Enable logging in the %JDBC External language server, reproduce the error, and check the log. Hopefully there will be some useful information in the log
go to post Alexander Koblov · Nov 11, 2024 Hi David. Take a look in the %Net.SMTP:GetResponse method. There is a commented out "#define SMTPTRACE" macro. Uncomment it, recompile %Net.SMTP Reproduce the error, then check ^SmtpTrace global Hopefully it should have some details on the interaction with the SMTP server. Do this on the TEST instance, as each %Net.SMTP:Send clears out the debug global.