go to post Dmitrii Baranov · Sep 11, 2023 It seems to me that I found the answer (was googling for two hours and found nothing, then used forum search and voila): Declare a class which inherits Ens.Production: Class My.Production Extends Ens.Production { XData ProductionDefinition { <Production Name="My.Production" TestingEnabled="true" LogGeneralTraceEvents="true"> <Description></Description> <ActorPoolSize>1</ActorPoolSize> </Production> } } And launch: Set isProductionRunning = ##class(Ens.Director).IsProductionRunning("My.Production") If isProductionRunning = 0 { Set sc = ##class(Ens.Director).StartProduction("My.Production") }
go to post Dmitrii Baranov · Jul 31, 2023 Ended up with a compromise 😊 Just replaced <transform> with a <call> and delegated that transform to BO
go to post Dmitrii Baranov · Jul 25, 2023 I'm a very beginner :) but personally I would not recommend such an approach. That "syntax sugar" will only discourage people who come from the world of Java and C#.
go to post Dmitrii Baranov · Jul 19, 2023 > What parameter are you trying to change? My subclassed Transform calls some external web service and I want to allow a user configure that web service settings (url-port-ssl-etc) by clicking on the business process <transform> element. Also, it is crucial that such a transformation cannot be delegated to BO. So anyway, thank you, it is fine if I move settings to BP, but it is not that elegant :(
go to post Dmitrii Baranov · May 20, 2023 If you want to modify the response produced by your service, perhaps this will work: https://community.intersystems.com/post/enslibhl7servicehttpservice-enab... PS the original post is two years old
go to post Dmitrii Baranov · May 20, 2023 Got it! Now I'm struggling with adding a value to that array. Would it be correct? set arr(arr + 1) = value
go to post Dmitrii Baranov · May 20, 2023 Thanks Robert. > args = number of params Arrays in IRIS are counterintuitive 😥
go to post Dmitrii Baranov · May 17, 2023 Here it is: Class MyHL7HTTPService Extends EnsLib.HL7.Service.HTTPService { Method OnAdapterHTTPResponse( ByRef pStatus As %Status, ByRef pHTTPResponseStatus As %String, ByRef pBodyLen As %Integer, ByRef pResponseBodyStream As %Stream.Object, ByRef pMainResponseHeader As %String, ByRef pHeaderExtra As %String) { set pHeaderExtra = pHeaderExtra _ "Access-Control-Allow-Origin: *"_ $char(13) _ $char(10) _ "Access-Control-Allow-Headers: *" _ $char(13) _ $char(10) _ "Access-Control-Allow-Methods: *" _ $char(13) _ $char(10) } }
go to post Dmitrii Baranov · Apr 30, 2023 Finally, I've implemented the following brute solution. I don't like the look of this at all, but it works ClassMethod test() As %Status{ #dim request as %CSP.Request set request = %request #dim headerName as %String set headerName = "" set headerName = request.NextCgiEnv(headerName) while (headerName '= "") { if $find(headerName, "HTTP_") '= 0 { set localHeaderName = $replace(headerName, "HTTP_", "") set localHeaderName = $replace(localHeaderName, "_", "- ") set localHeaderName = $zconvert(localHeaderName, "L") set localHeaderName = $zconvert(localHeaderName, "W") set localHeaderName = $replace(localHeaderName, "- ", "-") write localHeaderName, ": ", request.GetCgiEnv(headerName), ! } set headerName = request.NextCgiEnv(headerName) } return $$$OK}
go to post Dmitrii Baranov · Mar 21, 2023 I need to find a reason of a performance bug in the source code of the original class :)
go to post Dmitrii Baranov · Jan 9, 2023 Thanks, I caught your idea but no, IIS is not a cause, although the issue exists in Windows but not in Linux
go to post Dmitrii Baranov · Jan 8, 2023 I'm using Postman, the default Accept header value was */*, then according your advice I tried application/json, then application/fhir+json, both not working, IRIS still produces HTML <div id="content"> <div class="content-container"> <fieldset> <h2>500 - Internal server error.</h2> <h3>There is a problem with the resource you are looking for, and it cannot be displayed.</h3> </fieldset> </div> </div>
go to post Dmitrii Baranov · Nov 6, 2022 Thanks but I doubt it's a license issue. The IRIS installer creates another log in C:\Windows directory, and it also contains no useful information. At some point the installation process just hangs as well as the log file stops growing.
go to post Dmitrii Baranov · Nov 5, 2022 UPD1: launched the installation package via the "Run as administrator" menu item. Now the messages.log file contains the following diagnostics info: - on Ryzen 3900 - the processor has too many cores which is not allowed by Community edition license - on Athlon 3000G the error message is less informative: `11/06/22-01:06:28:788 ( 5200) 3 irisctl.dll (error during startup):(289) IRIS failed to start. IRIS Control Process terminated abnormally (exit code = 0).`
go to post Dmitrii Baranov · Nov 5, 2022 I know about messages.log, but in my case it's pretty short (~2kb) and contains no useful trace info :( There are workarounds with Docker and VMs, both approaches work
go to post Dmitrii Baranov · Nov 5, 2022 Laptop - Windows 11 AMD workstations - Windows 10 Home (official OEM, with fresh updates)