go to post Robert Cemper · Jul 16 My personal preference would be verify Websockets with a js client (even in CSP) then move it to IRIS with all hidden and default features if required at all. You may check all the old WS examples in OEX
go to post Robert Cemper · Jul 16 Hi your codeSet WebSoc=##class(%Net.WebSocket.Client).%New(WebSocURL,cre,evl) Just uses the Default %Net.HTTPrequest that contains url port, ....But %New offers more• Methode %OnNew(pURL As %String, pCredentials As %Net.WebSocket.ICredentials = $$$NULLOREF, pEventListener As %Net.WebSocket.IEventListener = $$$NULLOREF, pAcceptedProtocols As %String = "", pRequest As %Net.HttpRequest = $$$NULLOREF) als %Statusand in %Net.HTTPrequest you have a property porthttps://docs.intersystems.com/iris20251/csp/documatic/%25CSP.Documatic.cls?LIBRARY=%25SYS&PRIVATE=1&CLASSNAME=%25Net.HttpRequestI never needed it as protocol ws and wss was sufficient.But there is no other place for a port to be assigned
go to post Robert Cemper · Jul 16 You mentioned: WebSockets are enabled on ports 80 & 443, but the code fails Websockets work bi-directionalSO: Did you assign / map those ports also in your docker-compose ?
go to post Robert Cemper · Jul 14 Docker build fails : ERROR MESSAGE ! iris The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested 0.0s ✔ Container docker-setup-1 The required Platform is not mentioned as a Prerequisite Is it also available for amd64 processors ?
go to post Robert Cemper · Jul 11 Possible workaround: $ListToString(%DLIST(DISTINCT(REPLACE(ARCIM_Desc,'<br/>',''))),'<br/>') as "ARCIM_Desc",
go to post Robert Cemper · Jul 11 Details on $LISTTOSTRING Your source seems to contain the <br/>Try a different separator e.g. @ to verfiy it.If it is in and you can see it, HTML tags < > might be escaped for some reason and not berecognized but displayed as text instead
go to post Robert Cemper · Jul 10 set DOB=$ZDATE(paper.PAPERDob,15,,4) will do it1 comma less,4 is the 4th parameter !!see also doc: https://docs.intersystems.com/iris20251/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fzdate
go to post Robert Cemper · Jul 9 #; Recompute hash here now we have the lock Set hashval=$$$hash($lb($$ClassIndexTS^%SYS.cspServer2(db),$roles)_rangelist) $ROLES of the user might also be involved in the issue
go to post Robert Cemper · Jul 9 As a first step, I would check file/directory owner + protection in WINDOWS related to Studio Windows user< DIRECTORY> is not so specific on the reasons
go to post Robert Cemper · Jul 3 If you look at GitHub, you find a kind of CSS therehttp://https://github.com/intersystems-community/webterminal/tree/master/src/client/scssThey might be present somewhere in your installation.You may play with it at your own risk
go to post Robert Cemper · Jun 30 again YES !Any expansion is related to an extension of the internal mapping structure of the .DAT filewritten to disk If you don't have any restrictions on disk space, you consume the relatedoverhead in 1 single shot at a time that you control (e.g., startup)
go to post Robert Cemper · Jun 27 A possible escape from that trap could be to use a dedicated boxThat just runs TCPTRACESo the message runs CLIENT -> BOX -> SERVER -> BOX -> CLIENT Of course, a qualified network manager might use Wireshark for this issue
go to post Robert Cemper · Jun 26 HMMM.Are you sure that WS and WSS Protocol are enabled on the Webserverhttps://ac1.mqtt.sx3ac.com And any firewall in between?
go to post Robert Cemper · Jun 25 In short: Index ZipIDX On (City,State) sorts by 2 levels City and State and holds a pointer to the referred record Index ZipIDX On ZipCode [ Data = (City,State) ] sorts just by ZipCode and holds a pointer to the referred record but also a copy of City and State This is faster if all you want is to map ZIP to City, State and have no need to access what else is in your record
go to post Robert Cemper · Jun 25 Assuming you have full access to your Windows you may take this approach. install TCPTRACE as a local forward it shows you what it gets from Caché and passes it along to your target system you can be sure it knows the network mechanics if you see your text, but no reply you most likely are a victim of Windows firewalls OUTGOING on your end, INCOMING at the target system OUTGOING for the target reply INCOMING from the target on your side So in the worst case, you need 4 explicit rules ! Adding TCPTRACE on the target system also improves insight on the other end
go to post Robert Cemper · Jun 25 You are right, The example defines Class WSCI.CRE Extends (%RegisteredObject, %Net.WebSocket.ICredentials)but doesn't use it,According to the class definition of %Net.WebSocket.Client you pass it as a parameterin the %New() method. so you code (extending my example may look like this: set cre=##class(WSCI.CRE).%New() #; feed whatever your credentials need #; init connection set ws=##class(%Net.WebSocket.Client).%New(url,cre,evl) It might be worth checking what class %Net.WebSocket.Client does with your credentials
go to post Robert Cemper · Jun 25 The article https://community.intersystems.com/post/websocket-client-iris-internalhas a link to OEX https://openexchange.intersystems.com/package/IRIS-internal-WebSocket-Clientwhich points to code on Github that includes a Client and an Echo Server for testing the code runs on any IRIS. Docker is just a helping platform
go to post Robert Cemper · Jun 24 It would be great to get all the code from Github be published on OpenExchange
go to post Robert Cemper · Jun 24 Dmitry, you are just great.And you impressed me over and over again.Thank you for sharing your knowledge and your passion