Article Alberto Fuentes · Feb 24, 2021 1m read

Hi Community!  Today I'd like to share with you a link to some exercises from a workshop about developing REST APIs and how to manage them using InterSystems API Manager.

It includes step by step exercises to:

  • Developing REST APIs from OpenAPI specifications.
  • Adding the created API in an interoperability production (optional).
  • Basic API management in InterSystems API Manager (service, route, auth, consumers, rate limiting, etc.).
  • Some other more complex scenarios in InterSystems API Manager like load balancing, or routing by header.

You will find it all here: https://openexchange.intersystems.c

0
0 350
Article Iryna Mykhailova · Feb 24, 2021 13m read

In the first installment of this article series, we discussed how to read a “big” chunk of data from the raw body of an HTTP POST method and save it to a database as a stream property of a  class. Now let’s look at how to save such data and metadata in JSON format.

Unfortunately, Advanced REST Client doesn’t let you compose JSON objects with binary data as a value of a key (or maybe I simply haven’t figured out how to do it), so I decided to write a simple client in ObjectScript to send data to the server.

I created a new class called RestTransfer.Client and added to it parameters Server =

0
0 643
Question Yone Moreno · Feb 23, 2021

We would need some help,

Thanks in advance for your replies,

We can POST directly via POSTMAN only if we disable "SSL certificate verification"

We see the response:

However if we turn on "SSL certificate verification" it shows:

So, when we use Ensemble and a REST Operation, it outputs:

ERROR <Ens>ErrException: <THROW>zdoLoginToken+22^Operaciones.REST.HistoriaClinica.VacunasAPI.1 *%Exception.StatusException ERROR <Ens>ErrHTTPStatus: Recibido estado no correcto 403 del servidor HTTP remoto: 'HTTP/1.1 403 Forbidden' -- - registrado como '-' número - @' Set sc=tSC Throw:('sc)

1
0 488
Question Scott Roth · Feb 23, 2021

I am trying to figure out how to send a Page via a HTTP.OutboundAdapter to a URL from Ensemble.

We have a URL that I am able to pass PNo=xxxx%PMsg=xxxx as parameters to send the page to a pager.

http://xxxxx.xxxxx.xxx/Employee/Tools/Paging/SendPage.aspx?PNo=1817&PMs…

When I send the above URL through a REST client I receive a Response of "SENT".

But when I try to send it through the HTTP.OutboundAdpater I do not get a response.

Method Sample(pReq As osuwmc.Page.DataStructures.Page, Output pResp As %Net.HttpResponse) As %Status
{
    set pInput = "PNo="_pReq.PagerNumber_"&PMsg="_pReq.Messag
3
0 347
Article Benjamin De Boe · Feb 23, 2021 1m read

Hi, 

I just published isc-mem-config on OpenExchange and ZPM. It's a prototype to test whether this kind of user experience (UX) is a good fit for novice and / or more seasoned users. The settings it generates are already fairly-good-practice :-), but also being reviewed by experts within InterSystems in parallel.

Happy to hear your feedback on the applicability to your and/or your customers' day-to-day business, where this would fit best in the broad spectrum ranging from documentation, over installation to standalone tools.

2
1 259
Article Iryna Mykhailova · Feb 22, 2021 6m read

A question came up in the InterSystems developer community concerning the possibility of creating a TWAIN interface to a Caché application. There were several great suggestions on how to get data from an imaging device on a web client to a server, then store this data in a database. 

However, in order to implement any of these suggestions, you need to be able to transfer data from a web client to a database server and store the received data in a class property (or a table cell, as was the case in the question).

1
1 969
Question Roberto Cahanap · Feb 19, 2021

Currently in Visual Studio Code when we connect to a Cache server and export the CLS and MAC files, they get placed in the following:

\Comp;anyName\src\Packages

Where the Packages folder corresponds to the different class packages we have. The MAC files are placed in the src folder and not contained in it's own folder.

Is there a way to configure the export for the MAC files so that it's contained in it's own folder like this:

\CompanyName\src\mac

Thanks in advance for your help.

-Roberto

2
0 403
Question Martin Staudigel · Feb 19, 2021

Hello community,

I would like to report about a security issue, that engages us for some time meanwhile.

We configured a restricted user to read data from a csp page to feed our nagios server with information about configuration items we would like to have an eye upon. The configuration of this user is the same in our production and in our development environment. The called method mainly reads data from lookup tables by sql queries and writes data to a temporary table, which is deleted in the begining.

The weird thing is, that both on DEV an PROD the script terminates without any obvious error,

2
0 540
Question George Hodder · Feb 19, 2021

Hi,

I am wanting to get the results of SYS.Database class's List query into a result set.

I have code that does it, but I get a cursor error at the end.... should I just to a try/catch and ignore this error below?  Or can I call this in a different way to avoid the error?  
My code, in the %SYS namespace
Set Statement=##class(%SQL.Statement).%New()
Set status=Statement.%PrepareClassQuery("SYS.Database","List")

Set rset=Statement.%Execute()
//
while (rset.%Next())
{
        W !,rset.%Get("Directory"),?30,rset.%Get("Size"),?40,rset.%Get("MaxSize")
}
when I call it... it displays
c:\intersystems\cache\mgr\

2
0 428
Question Jairton Junior · Feb 19, 2021

When using "IDENTITY" as my primary key, I can select the last inserted ID with 

SELECT LAST_IDENTITY() FROM %TSQL_sys.snf;

Actually this is how Hibernate + Iris' Driver acquires the inserted ID when mapping with

@GeneratedValue(strategy = GenerationType.IDENTITY)

 

Now, considering that I am using the type "SERIAL" as my primary key instead, how can I get the last inserted ID?

Note that with "SERIAL" I can forcefully insert any value for this ID, from which Iris will continue generating values...

CREATE TABLE test (
    test_id serial NOT NULL,
    name varchar(100) NULL,
    CONSTRAINT pk_test

1
0 354
Question Mufsi Hamza · Feb 18, 2021

When I create a TASK on the Primary mirror member and Try to create the same TASK in the backup mirror member,  It Gives me CSP Application error.

The TASK gets created in the Primary node without any errors and When creating in the Backup node it prompts the error.

It happens is IRIS and I didn't face this in CACHE.

Finally what I did is export the TASK in Primary and Imported in Backup.

Is this a feature of IRIS?

6
0 332
Article Alberto Fuentes · Feb 18, 2021 2m read

Hi Community! 

I'm sharing a little tool (REST service) to download interoperability messages from your browser.

You only need to:

  1. Create a web application in Management Portal (e.g. /downloadmsg) and set DispatchClass=Util.DownloadMsg.
  2. Call the tool using your browser passing the namespace and the message header id to download. http://localhost:52773/downloadmsg/ns/mydev/msgid/17441
/// 1.Create a webapplication (e.g./// 2.
0
0 516
Question chenna velagala · Feb 18, 2021

I am working on automating to pick all the jobs running particular business process and kill them by using a routine. Though I was able to kill the jobs/PID on server by using (sudo kill jobid) and by using do $SYSTEM.Process.Terminate(jobid) or  Do ##class(Ens.Job).UnRegister("buseiness host"jobid), I am looking to build a routine by setting a variable with all the business process names and then fetch the jobid or PID associated with those business process and kill them. Any help is highly appreciated.

3
0 373
Question Yufeng Li · Jul 27, 2020

想问一下IRIS里有SHA256withRSA  加密算法的实现吗?因为最近用到该加密算法进行接口调用。

Translated by moderator

I want to know if IRIS has SHA256 with RSA encryption algorithm? we have interface needing this encryption algorithm recently.

5
0 598
Question Matthew Baron · Feb 17, 2021

Is there an API that can be used to remotely fetch the state of an IRIS instance similar to what is reported with "iris list"?  Specifically, I'm looking to be able to remotely detect when an IRIS instance is in "hung" state.

I know there is the "iris_system_state" metric that I can consume in Grafana, but I found that when our system was in a "hung" state, there was just no data for that metric and I'd think if you alert on that, you cannot be sure if the IRIS system is down or hung or there's just an issue with prometheus fetching stats from IRIS.

# iris list

Configuration 'IRIS'
1
0 554
Question Aaron Vail · Feb 17, 2021

I have vendors asking for verification that messages for locations are coming through to them.  I can get generic ADT_A01 type of numbers in Activity.  I'd really like to get some good SQL queries that can give me a count of MSH.4s (for example) for a day for X Operation.  I'm not sure which table to look at for that information.

1
0 317
Question Jerry Petrole · Feb 5, 2021

Hello,

I have established an ODBC connection with our client based on credentials they provided.    The test connection was successful and after using the Link Table wizard I can now see the client's tables and properties.    However when we try to execute a query in IRIS we are getting error code -226.   I'm trying to determine if this could be just a simple setting problem in IRIS or something with the client.   

We have tried with PostgreSQL as well as with TSQL.  Same result for each.

Has anyone seen this error before and could it be pointing me in a certain direction?

3
0 460
Job Drew Spoelstra · Feb 16, 2021

We are a multi-state Health Information Network seeking experienced integration analysts for immediate, full time positions. Currently these positions are 100% remote. Excellent benefits.

Ideal candidates will have extensive experience with InterSystems HealthShare, experience with Amazon Web Services, HL7 v2 & v3, and IHE ITI profiles. Rhapsody or other integration engine experience is a plus. We are seeking confident, motivated individuals with strong communication skills and the ability to engage directly with a variety of healthcare stakeholders.

For more information and to apply visit the

0
0 390