Actually, it wasn't quite working. When I reopened the class it couldn't access the file property as it was looking at the default stream location rather than the one it was filed with, so thought it was empty!  It doesn't appear to save the directory along with the filename in the D global. So I'm having to do a workaround when I open the object I set a variable to the HTMLZIPDoc.Filename, piece out just the filename part then put the directory and a slash on the front and put it back into HTMLZIPDoc.Filename and that seems to work. If anyone has a better solution let me know. thanks.

Hi 

Thanks that did work when I took out the %OnOpen. What I was trying to do was copy from an existing %Stream.FileCharacter; property to a new Stream.FileCharacterGzip property and I was also trying to set the location of the FileCharacter property too, but in doing that it lost the link the existing file, even though it was the same location. So I've just had to add code to change the location of the Stream.FileCharacterGzip just before I copy it from the existing property.  I did realise you could set the FileName but wanted it to just generate the random filename part as it does when you set the LOCATION, so wasn't sure how that would work when using that. 

I've had a quick go of PuTTY and I do like that. Simple to set up and configure to work like terminal!

thanks for that.

Does your suggestion just switch namespace? 

We will be receiving events to a central SOAP service for a number of 'sites' on the same machine in different namespaces. They share a common database, but some globals are not mapped to the central database namespace so as to separate out some settings and they also need to take responsibility for resolving data issues for the patients belonging to their area.  

The SOAP service will upload events automatically for individual patients, but each 'site' only wishes to see events related to their patients and manually resolve 'rejections' for their area.  I think in explaining the case, I have thought of another way to do it. I think I will save the object centrally and just save a namespace specific global which points to ones for their area, then I can also create an index by 'site'.  I think that should do it.  

thanks for your suggestions!

Hi Danny

Thanks, but neither of those would work. There are multiple possible namespaces I might want to save the class to.  Each with their own version of the global (i.e. containing different records)

Yes it does contain a child class too, so that needs to be considered.

Probably not the same sort of token and probably nothing to do with your problem... but to create a bearer token for the interface I recently wrote I had to do:

s authstring=$TR($SYSTEM.Encryption.Base64Encode(headJSONstring,1),"=")_"."_$TR($SYSTEM.Encryption.Base64Encode(paylJSONstring,1),"=")_"."

s request.Authorization=" Bearer "_authstring

I had set the flag so that the Base64Encode didn't add CR/LF and strip padded ='s from the end and also the other end want a space before the word Bearer as well as after. I don't know if that's standard.

I also only used a standard Ens.BusinessOperation with an EnsLib.HTTP.OutboundAdapter to send my REST requests.