Hi Everyone!
New webinar "Rest API Design and Development" is available now on InterSystems Developers YouTube Channel:
Application Programming Interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components.
Hi Everyone!
New webinar "Rest API Design and Development" is available now on InterSystems Developers YouTube Channel:
For many in today's interoperability landscape, REST reigns supreme. With the overabundance of tools and approaches to REST API development, what tools do you choose and what do you need to plan for before writing any code?
Now that you've learned how to create a REST API in the REST & Relaxation webinar, see how you can successfully make it big. Join @Eduard Lebedyuk, InterSystems Sales Engineer, for REST API Design and Development. You'll learn design patterns and considerations that allow you to build highly robust, adaptive, and consistent REST APIs.
Hi guys,
I am using the %Net.HttpRequest method to get data from a server.
The server will continuously send data. Is there any way that i can able to read the HttpResponse data line by line so that if at a particular line i may terminate the request.
Please advice.
Thanks,
Arya
Set httprequest=##class(%Net.HttpRequest).%New()
Set httprequest.Server="www.intersystems.com"
Do httprequest.Get("/")
Do httprequest.HttpResponse.OutputToDevice()
Do httprequest.Get("/cache/")
Do httprequest.HttpResponse.OutputToDevice()The above is the code which i found in this link http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?…
How do the above code works and can i be able to run this?
Thanks in advance.
Hi!
It is often necessary to run some external command such as a python program or a shell script from inside Caché/Ensemble. There are three ways of doing this:
$ZF(-1) is normally more interesting because it allows you to recover the return code of the program you are calling. If that is important to you, that is the way to go.
I'm experimenting with sending large amounts of data in a POST payload to be stored as a stream. However I've noticed that no matter how many characters are in the message, Cache only gets about 32k of them, cutting off the rest. Conversely as expected it can only send about 32k worth of characters in a payload.
Before I get creative, is there a REST message size limit that can be changed? Or is there something else going on here?
Thank you!
Hi All,
Does anybody has experience with Angular application and have implemented some solution in order to track and record pageviews?
We are interested in to know how to capture those pageviews information and call a Caché REST Api in order to store those data.
Thanks.
I am trying to write an application that will take some information on the database make a call to the Google API distance matrix and get the information to use with rest of the application without using the ensemble part of the development is this possible and how can I do my communication with the API from a cache class thanks in advance
Hello
I'm in the process of creating a TestClass which simulate a HTTP POST call to REST-based web services and while I am having success, I'm struggling on how to parse out the results to a JSON format
Here is down the code part which concerns parsing the HttpResponse.Data variable into JSON :
s httprequest=##class(%Net.HttpRequest).%New()
s httprequest.Server="http://127.0.0.1"
s httprequest.Port="57772"
s httprequest.Https = 0
s httprequest.ContentType="application/json"
s httprequest.Authorization = "Basic X1N5c3RlbTpTWVM="
d httprequest.EntityBody.Write(json)
s sc = httprequest.Post("http://127.0.0.1:57772/api/v0/bwxpert/visiocheck/account")
Do $$$AssertStatusOK(sc,"HTTP POST OK")
Set Result= httprequest.HttpResponse.Data
Set DynamicObject = {}.%FromJSON(Request.HttpResponse.Data)
Do $$$AssertEquals(Result.syncType,"ADMIN_SYNC","sync OK")
write DynamicObject.%ToJSON(),!
Hi all,
I have started using the UPS in my application for shipment and cancellation.
I have the WSDL from the UPS.
I have imported the WSDL via Studio->Tools->addins and finish the process to get the Package implemeted in my studio.
Now the SOAP method contains a URL which is for their live system so i manually changed the URL with their Testing URL.
They are also providing the sample shipment numbers which we can use to test the cancellation process.
I am trying that shipment number to void(cancel) the shipment by call the method.
And i am facing the error as below,
<ZSOAP>zInvokeClient+205^%SOAP.
Hi, Community!
Please find a new session recording from Global Summit 2017:
Hi, Community!
Please find a new session recording from Global Summit 2017:
Building Durable APIs: New REST Tooling
Hi Guys,
Can you please guide me to get rid of this issue. Please find the image files with this post.
Please let me know, before we are developing an API what are all the setup/Configuration(Apache/web server) need to do in my machine.
If any lead would be appreciated.
I don't know, in XMLNamespace parameter which URL need to use.
.
Thanks,
Arun Kumar Durairaj.
In short, I wanted to react on CPUusage warnings and alerts with my own actions. It seemed that it was possible in my Caché version (2015.1):
http://docs.intersystems.com/cache201513/csp/docbook/DocBook.UI.Page.cl…
But all my attempts silently failed. Callback code was as simple as possible:
Class %z.Monitor.Health Extends SYS.Monitor.Health.AbstractCallback
I've got my alerts written to alerts.log and cconsole.
Greetings.
We have one vendor who requires us to send data using TCP
through an SSH port forwarding tunnel that is set up in advance.
UNIX scripts maintain this, and the Ensemble interface uses a TCP Adapter.
I was thinking that Ensemble could maintain the SSH tunnel,
which would improve our detecting of issues.
Has anyone done something like this?
I see that the class %Net.SSH.Session has a method ForwardPort,
but it doesn't stand up the tunnel by itself. Instead, it appears
to return a handle into the tunnel. It will work a bit differently.
Hi,All,
I did a small coding for the HTTP request and HTTP response. When i tried to use a server with ping i was able to get a response from the HTTP request. But when i tried the same with HTTP response i am getting a empty value in the response why is that?
Thanks in advance.
Guys,
Can you please guide me to create a RESTful API in our cache with JSON response.
I have an application in Cache 2013 (No Ensemble) which need to consume a REST web API over internet.
Can somebody please help me by pointing out the documentation or provide me code sample for consuming the REST API from a routine/class.
I am using Cache 2008 (No Ensemble) .
Hello.
We're about to implement an application that could use WebSockets intensely so before we head to that direction we need to figure out about how some few things work. That being said, anyone care to give me some enlightenment?
Hi, folks!
Suppose you called an MDX which takes a really long period of time.
Is there any way to cancel its execution programmatically?
Is there any Test Driven Development tool for Cache for the web development. If so can any one help me on this.
Thanks in advance.
Hi-
I have an IP address (or hostname) and a port (in this case a super server port #) and I want to try to verify that network communications can be established between the host I'm on and the given hostname and port number of a remote server.
Is there any way pragmatically to do this within Cache?
Hi all-
We used to have this Java applet in our CSP page to "print all" and "download all" PDF medical reports. We want this applet so that the user won't have to open each PDF in the browser just to print it.
But now most browsers do not support Java applets anymore due to security concerns, so that Java application is down. We tried to migrate to Java Web Start but don't know how to invoke the JNLP file from the CSP page. I am new to Cache so any help would be greatly appreciated.
Also, is there an easier solution to this print all problem?
If you are facing out the license expire warning message on your terminal ("*** Warning: This Cache license will expire in 3 days ***") and you do not want that message to be displayed, you can disable/enable that by rinning the following commands:
Do ExpirationMessageOff^%SYS.LICENSE - Disable
Do ExpirationMessageOn^%SYS.LICENSE - Enable

Recently we supported a few NHS cases that required TIE (Trust Integration Engine) integration with the PKB service. Hence this article is meant to be a 10-minute quick guide to describe a demo solution (simple configurations and end-2-end implementation steps) for Health Connect (Ensemble) Integration with PKB (Patient-Knows-Best) service.
Hi guys
Im trying to use an API running in AWS API Gateway.
This API is over https and i am using the SSL/TLS config of Caché.
set httpRequest = ##class(%Net.HttpRequest).%New()
set httpRequest.Server = server
set httpRequest.Https=1
set httpRequest.SSLConfiguration = "SSLPadraoAdapcon"
do httpRequest.SetHeader("Content-Type","application/json")
do httpRequest.EntityBody.Write(json)
do httpRequest.Post("/dev/router")MonCaché — MongoDB API implementation based on InterSystems Caché

The idea of the project is to implement basic MongoDB (v2.4.9) API features for searching, saving, updating and deleting documents in a way that will allow the use of InterSystems Caché instead of MongoDB without changing the code on the client side.
Perhaps, if we take an interface based on MongoDB and use InterSystems Caché for data storage, we may see a performance boost.
Does anyone send alerts via API / Web Services to an application such at Tivoli or CA Spectrum? If so, can you share what commands you send? e.g. If connection is down or queue depth > 200. Thanks.
Hello everybody,
We have a piece of Caché software which calls an external utility using $zf(-1,command). It works fine under Linux, but under Windows an external process occasionally hangs (due to some internal problems out of the scope here) and need to be killed programmatically. Having PID, it's easy to kill a process. If a Caché process is called with JOB command, the caller can easily get its PID from $zchild, but alas $zf(-1) does not seem to return the similar info. Is it possible to get it somehow?
Hi,
I am new to coding web services and trying to connect to an API that returns its format in xml or json.
I have a class as follows.. when I run I get back a 6059 in my status - Unable to open TCP/IP socket to server
Can someone help me identify what I am missing? Thanks
Class Common.WebDownload Extends (