User Answers

I'd add another Operation called MockSOAPOperation which accepts SOAP requests and calls your method.

After that change Business Host setting(s) to point to this mock operation.

In jQuery you don't need Allow* headers.

On server try this for TESTING ONLY:

Do %response.SetHeader("Access-Control-Allow-Origin",..GetOrigins())
Do %response.SetHeader("Access-Control-Allow-Credentials","true")
Do %response.SetHeader("Access-Control-Allow-Methods","GET, PUT, POST, DELETE, OPTIONS")
Do %response.SetHeader("Access-Control-Max-Age","10000")
Do %response.SetHeader("Access-Control-Allow-Headers","Content-Type, Authorization, Accept-Language, X-Requested-With")

And GetOrigins

You can alter queries via Studio/Atelier/VS Code IDEs.

In portal you can run DROP QUERY and create the query again.

Two ways I know how to add your page:

1. To DeepSee User Portal (from Analyze This):

Set tItem=##class(%DeepSee.UserLibrary.Link).%New()
Set tItem.fullName="Analyze This"
Set tPage="AnalyzeThis.UI.CSVImport.zen"
Set tItem.href=$system.CSP.GetPortalApp($namespace,tPage) _ tPage
Set tItem.title="Analyze This"
Set tSC=tItem.%Save()

Is it service or operation? Please elaborate on your configuration.

Because you have XML error, I think there are some additional transformation(s) taking place.

Have you tried checking Stream at line 3 offset 120?

Use ccontrol qlist to get structured information about available instances.

ccontrol qlist [<instance>] [nodisplay > outputfile]
Display a quick list of information about all installed instances, in a format suitable for parsing in command scripts.
The record for an instance contains fields separated by "^" (carats):

Create a response wrapper and use it. %ListOfObjects is serial, not persistent.

Class MyResponse Extends %Persistent {

Property Snapshots As List Of EnsLib.SQL.Snapshot;

}

FOR CE ONLY.

I recommend creating non-production namespace with one database and calling

set sc = ##class(%EnsembleMgr).EnableNamespace(namespace, 1)