Reading the documentation it seems to be saying that you should exclude directories containing files that are actively used by Cache such as those containing databases, WIJ and journal files, etc.

It is not recommending that you disable virus scanning on all directories associated with Cache 

Wow!   Not sure how I missed that when I went through the docs looking for it.

Indeed exactly what I was lookimg for.


Your $zv looks very suspect Paul.   On one hand you have a 2016.2 beta of Ensemble, but you have HealthShare libraries also which aren't distributed with Ensemble.

Was this a HealthShare instance of 2016.1 that you overlayed with a 2016.2 install of Ensemble?

I'm not sure that can ever be expected to work right.

Maybe try your service on a fresh install of 2016.2 beta and see if it works then, although you won't have access to the HS libraries 


The only strangeness I see here is that in your code you set pOutput to the result of HS.Test.Service.SendSync which returns a %Status.

In your method, the pOutput variable is used in the method declaration and is supposed to be a stream object because that is how the adapter responds back as the response to the http request.

I wonder if this could possibly be the problem.  I have to admit that the behavior is very strange, if indeed that is the problem.

Jeff- Thanks

What I am really looking for here is a generic way to represent any global structure as JSON.

In my example, the top node contains both data as well as sub-nodes.  

I'm not really looking for a way to represent a person in JSON, just a way to represent generic global structures taking into account the fact that a global node can have both data stored at that particular level as well as sub-nodes below it.


I have to say that I never thought of using Google to search our documentation until a colleague pointed it out to me a while back.

Need the function to determine your process id.

Open Google, enter "intersystems determine process id"

First returned document is the documentation for the $JOB symbol variable which contains your process id.

I have to say that as an Intersystems employee I was disappointed when I heard that the feature maps were going away.  I cant say how many times I used to use those maps for jumping to a key feature that I wanted to know about.

However, since I started using Google to search the docs the docs have become much more friendly and easy to locate what I'm looking for.

Change is hard....

Thanks Ben-  This does help.  What I was missing was....

1.  On the <form> element you need the multi-part encoding specified,

and then when you process the form on the server you need to look into the %request.MimeData to actually find the file stream.



This suggestion solved my problem.



            s c=0

            &sql(DECLARE tieCursor CURSOR FOR


            ID into :ID

            FROM EnsLib_Workflow.TaskResponse)    

            &sql(OPEN tieCursor)



                        &sql(FETCH tieCursor)


                        w !,ID

                        s c=$G(c)+1

                        s tTask=##class(EnsLib.Workflow.TaskResponse).%OpenId(ID)

                        set tSC = ##class(EnsLib.Workflow.Engine).CompleteTask(tTask)



            &sql(CLOSE tieCursor)

So I finally found the place to add code packages under My Content -> My Collaborations.  It seems that it would be more intuitive if when I searched for code packages, if I didnt find what I was looking for that I should be able to add something right there.  


As someone who might post a code package I would probably want to see if it already existed first, and then if it didnt already exist then I would have the option to add it.