Hi, Community!
Please welcome a new session recording from Global Summit 2017:
Data Visualization: The Choice is Yours
Representational state transfer (REST) is a software architectural style that defines a set of constraints to be used for creating Web services. Web services that conform to the REST architectural style, called RESTful Web services (RWS), provide interoperability between computer systems on the Internet. RESTful Web services allow the requesting systems to access and manipulate textual representations of Web resources by using a uniform and predefined set of stateless operations. Other kinds of Web services, such as SOAP Web services, expose their own arbitrary sets of operations.
Hi, Community!
Please welcome a new session recording from Global Summit 2017:
Data Visualization: The Choice is Yours
... but let’s first take a look at two relatively small topics, and namely:
We only have one page for now. How about adding one more? Said - done.
Anxious about starting your first major REST application? Don't fret! Join Michael Smart, Senior Support Specialist at InterSystems, as he explores the principles of RESTful design and covers best practices for creating flexible, robust, and intuitive REST services.
Watch the webinar and access the sample code.
Still have questions? Ask them in the comments section below!
Hi, Community!
Please find a new session recording from Global Summit 2017:
In this article I'd like to discuss asynchronous REST and approaches to implementing it.
Why do we need asynchronous REST? Simply put - answering the request takes too much time. While most requests usually can be satisfied immediately, some can't. The reasons are varied:
The solution to these problems is asynchronous REST. Asynchronous REST works by separating request and real response. Here's an example, let's consider the following simple async REST broker:
Hi guys,
is there a way to get the Call-Parameter in an UrlMap to call a method that lies in another class?
Example:
I have a generic class 'RestApi' where I define all my routes for the different Rest-Services I offer - in order to get the same URL for every service.
<Route Url="/checkUID/:uid/:supplierid/" Method="GET" Call="checkUID"/>
This way the checkUID-Method has to be in the class 'RestApi' where my routes are defined. If I dont want to have all methods implemented in the same generic class, is it possible to get the Call-Parameter to call for example the method 'checkUID' i
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.
... but let’s first look at error handling.
How do I set an URL when I post a httpRequest via SendFormArray of my Ensemble Business Operation. Here is my code:
Class CareHome.RestApiClient Extends EnsLib.REST.Operation
{
Parameter INVOCATION = "Queue";
Method Login(pRequest As CareHome.Request.LoginRequest, Output pResponse As Ens.StringResponse)
{
set tURL = ..Adapter.URL_"login/login"
set httpRequest = ##class(%Net.HttpRequest).%New()
set httpRequest.ContentType="application/json"
do ..ObjectToJSONStream(pRequest,.jsonStream,"aeliw")
set httpRequest.EntityBody = jsonStream
set tSC = ..Adapter.SendFormData(.tHttpResponse,"POST",httpReques
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) .
I have an Ensemble installation and just build my first RestService (using %CSP.Rest that forwards them to my Business Service). This works nice and fine when I use postman to make REST calls over http (port 57772). However when I attempt to make a request using https over port 443 I receive the following error:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested URL /csp/healthshare/fcoffice/rest/ping was not found on this server.</p>
<hr>
As many of you, our partners, are more widely using modern UI frameworks to create client front-end, you may have encountered a question, "So how do I secure my data when I just finished developing all new fancy browser based client experience?"
The answer is easy. Use a standard, proven OAuth2 and OpenID!
"OK, but how can I do it? I have never done it before."
No problem, just have a look here, if your client is Angular (not AngularJS) based, there is a demo project available for you to review and get inspired!
The demo presents a simple Angular (and typescript) application with user login and pu
Hello, evrybody, I'm writing one project using CSP("OnPreHTTP"), and also REST angular. At the beginning I wrote purely on csp, then I decided to use angular for the flexibility of the client part. Now I can not design logging, I created a table App.Log with properties
/// Type of eventProperty EventType As %String(MAXLEN = 10, VALUELIST = ",NONE,FATAL,ERROR,WARN,INFO,STAT,DEBUG,RAW") [ InitialExpression = "INFO" ];/// Name of class, where event happenedProperty ClassName As %String(MAXLEN = 256);/// Name of method, where event happenedProperty MethodName As %String(MAXLEN = 128
Hi, Community!
Suppose If you develop a client js application which works with Caché server via REST API (CSP Gateway).
What are the options for Authentication and working with Caché session then?
Hi team,
i send an http request to my rest class, i want to extract ID , full name , pass word from this request , can you show me how doing it.
thank's
Hi Community!
Check a new session recording from Global Summit 2017:
Angular, JSON, and REST – Oh My!
Hello again and welcome to the next tutorial on this series: Part 4 - Sharing data across router methods. Here we are going to learn how to share a object containing data that is available for read across every router methods.
You're required to complete at least the Part 1 before entering this one. Still, this is supposed to be a really short tutorial, since there isn't much to be said about data sharing.

I am sending a file in Postman and receiving a status 200OK. but i need to get the response in the body too. I have Implemented the class %CSP.REST to get the %request and %response. There is no default method to invoke and post the content via %Response class. Can any one suggest me the sample code for that.
Hi everyone! My company has a Zen ERP application with CSP delegated authentication. Now, we're developing a separated BI application, using Angular, which consumes DeepSee REST API services. Both applications access the same Caché database.
How to implement single sign-on strategy in order to allow an already authenticated ERP user to access DeepSee REST services? Has anyone already implemented something like that?
Thanks in advanced.
Hello again and welcome to the Part 3 - Using the SQL API!
If you have been wondering about how to use SQL along with Frontier, you came to the right place. That's because since Frontier wraps the common Caché SQL API within it's own, you need to use the API provided from it. But you don't need to worry about its learning curve, because the Frontier SQL API is really simple.
If you arrived here without checking the Part 1, I'd recommend you doing so, because Part 1 covers the essential for getting started with Frontier routers.

Hi,
I am a beginner on intersystems technologies ! and i want implements Oauth2 for our projects ( Angular 2 + Caché REST Backend).
i read the article that the link is below :
But : i need to create all servers ( Auth and Resource ) on Caché and dont' to use google server.
Also, i need to be able to consume Oauth from my web services as caché REST application (whitout csp ui) .
An Idea Please ?
Thank you
Yani
I've mentioned the QEWD project in this group before: it's a Node.js-based platform for web, Native and REST applications which tightly integrates with Cache. It uses a somewhat different philosophy to the use of Node.js than the norm, and I've now published an article that explains this approach and the unique benefits that arise as a result.
It turns out that, integrated via QEWD, Cache is an ideal bed-fellow for Node.js. QEWD makes the integration of Cache and Node.js exceptionally fast, simple and intuitive to use, but also extremely powerful.
Read the article here:
Hello again! Welcome to the Part 2 - Handling payloads!
If you're new to this series, I'd recommend you to check out the Part 1 - Core concepts. You'll need a basic understanding about how Frontier works before continuing with the Part 2.
Hello.
The idea of this post is to introduce Frontier: An abstraction layer that allows Rapid REST development.
REQUIREMENTS:
Why?
Have you ever found yourself dealing with repetitive tasks like mounting objects, serializing them and eventually handling multiple errors for multiple cases? Frontier can boost your development by making you focus on what really matters: your application.
Frontier is made to stop you from WRITE'ing by instead forcing your methods to return values.
It's designed to make you code clean, and you'll see the why pretty soon.
This is the Part 1, where you'll learn he basics about how to work with Frontier. That means at the end of this part you should be capable of
creating GET requests without difficulties. Since this also serves as a way to introduce the framework, I'll be calling this part: Core concepts.
Hi
I tried to access one server to another server in Cache Rest Service, I tried
Parameter HandleCorsRequest = 1;
and
<Route Url="/data/:first/:second" Method="GET" Call="GetData" Cors="true"/>
But not working,
Can anyone tell me the solution??
Thanks in advance!!
Hello,
I come from a programming background, but haven't touched ObjectScript before my current job, so please forgive my ignorance.
Within an Ensemble system, I need to post some information to a RESTful web service. I'm just trying to figure out how to create a method which takes a simple message and posts this off to a RESTful web service?
Thanks in advance for any help.
a.k.a.. "The World of Widgets Returns!" or "Paternity leave damages Instructional Series momentum"
In our last lesson, we combined 2 separate classes to appear as the same property. We now have the ability to Update our Widget catalog, but what if we want to Create a Widget? Thankfully, we've already done 90% of what we need, just by implementing Edits
As we mentioned when creating the REST Services for PUT and POST, the only real difference between creating and updating a record is whether we are passing in an existing ID or creating a %New record. The actual content of the Widget JSON is e

Before we begin, I'd like to mention that I am by no means an Ensemble expert, so take this with a grain of salt and please feel free to offer any suggestions for improvement. That being said, I have enjoyed working with Ensemble and wanted to share the approach I took to poll an external REST API for patient data in the hopes that it might help others with a similar goal.
If you get bored easily and just want to see some code, feel free to jump straight to the example on github. It uses dummy data (for obvious reasons) but the core principles should be the same.
The goal
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.