go to post Robert Cemper · May 18, 2018 my assumption; you have installed CSP Gateway on your public website
go to post Robert Cemper · May 18, 2018 If you remove port 57772, then HTTP uses default port 80At that server your "page" is unknown and you get back 404I suggest checking the firewalls on your way starting with the server of your public website. to let 57772 inmy 2ct.
go to post Robert Cemper · May 17, 2018 Hint:backup of %SYS is good for recovery but not recommended for a copythere a lot of instance related settings (e.g. config) included that may cause serious problems in the copy.
go to post Robert Cemper · May 17, 2018 Online backup can run for exactly selected DBs.It gives an exact image taking also care for all changes during the backup process.requirement:-Journal for the DB must be active at least during the backup process. - enough disk space to hold the backup
go to post Robert Cemper · May 17, 2018 to verify your mailing is working correctly it is useful to get the mail server in your handshMailServer is one of several others.
go to post Robert Cemper · May 17, 2018 Here is a lot of information on Intersystems IRIS to reduce confusion.Your InterSystems sales rep will have more.
go to post Robert Cemper · May 16, 2018 Laura,there is something like ..... Ens.Util.XML.Readerespecially ##class(Ens.Util.XML.Reader).ObjectFromString(. . . )But you have to fix ther error pointed out by @Eduard Lebedyuk anyhow
go to post Robert Cemper · May 15, 2018 Jordi,TSTART, TROLLBACK TCOMMIT is totally unrelated to LOCKingit neither requests a LOCK nor does it release.So to have no LOCK at all nothing prevents you from TSTARTDo ##class(MyTable).%OpenId(<TableID>, 0). . . . .TROLLBACK The short time internal LOCK during %Save() is handled inside Save In your example:TSTARTLock +^MyLockTROLLBACKyou just miss Lock -^MyLockto unlock your transaction
go to post Robert Cemper · May 15, 2018 As there is no further reaction at all I assume this is the summary of the solution:dynamicObject -> Message to be sentProperty Test as %String (MAXLEN="") ; Set classObj.Test = DynamicObject.%ToJSON() Message received -> dynamic Object set dynObj={}.%FromJSON(request.Test)write dynObj.%Get("XYZ")
go to post Robert Cemper · May 13, 2018 Just to be completeOf course at the receiving end w request.Test.%Get("XYZ") This will fail now with <INVALID OREF>Since request.Test is now of type %String and not a dynamic object.You now need to recover your dynamicObject from %Stringset dynObj={}.%FromJSON(request.Test)write dynObj.%Get("XYZ")
go to post Robert Cemper · May 13, 2018 Pls. forget "store it as it is" all you store is the oref (a pointer to a local structure) with no persistent storage behind.set local= dynamicObject.%ToJSON()set classObj.Test = "my dynamicObject = "_$LENGTH(local)so you don't get an error if you just apply %ToJSON() ??? If your version is before 2016.2 than .$toJSON() would be the right method
go to post Robert Cemper · May 13, 2018 You didn't indicate the line you get the error.anyhow the message is clear:Either classObj or dynamicObject is not what you expect it to be.If you test from Terminal you can useZWRITE classObjZWRITE dynamicObjectto see what they are.otherwise, you may comment out one line and see if it still breaks e.g.// set local= dynamicObject.%ToJSON()set classObj.Test = "my dynamicObject = "_$ISOBJECT(dynamicObject)So you see what happens. I expect: my dynamicObject = 0So you see where you have to investigate further
go to post Robert Cemper · May 12, 2018 is it defined that way?Property Test as %String (MAXLEN="") ;ATTENTION - default MAXLEN = 50 !!!!!This might look odd but tryset local= dynamicObject.%ToJSON()set classObj.Test = local so you see if the issue is your property or your dynamic Object. as there are 2 objects in the command.the only thing %String is checked against is Length. otherwise. if %ToJSON() fails your dynamic object is broken somehow
go to post Robert Cemper · May 12, 2018 Peter,I have the same problem. (and some more others). It's good not to feel alone. Robert
go to post Robert Cemper · May 12, 2018 If you check it in the same process it's of course there as you are still in the same local partition (environment).but you need it in your message that gets handled by some other process that has no access nor idea about your local environment.which is the essential concept of all those message structures.
go to post Robert Cemper · May 12, 2018 You can't just set the dynamic object (exactly the oref) to %String.You place than just a reference of a local structure to your message. That's useless.you need to Set classObj.Test = DynamicObject.%ToJSON() Now you have your string that gets persisted and is part of your message. Suggested reading: Converting Dynamic Entities to and from JSON
go to post Robert Cemper · May 12, 2018 I guess you did this intentionally to challenge your readers I may may mistakes or miss a better way of doing thingsI highly appreciate your series of articles.
go to post Robert Cemper · May 12, 2018 just try a restart of Eclipse.When fresh stated it is sometimes so busy with its own updates