Question Menno Voerman · Feb 11, 2021

Hi All,

I hope someone can help me with the following, it's about the usage of the class EnsLib.HL7.Service.HTTPService.

Working situation right know.

In IIS we've got a site configured who is dealing with the client certificate, etc and redirect the full request to http://localhost/csp/healthshare/NAMEPSACE/EnsLib.HL7.Service.HTTPServi… and the web gateway redirects the request to Business Service 'EnsLib.HL7.Service.HTTPService.cls'.

Preferred situation:

We would like to have multiple available endpoints per namespace.

2
0 625
Question Ahmad Bukhtiar · Feb 25, 2021

Hi 

I am using below function and it works fine but i want to match the value ignoring the first 4 chars as they are only added to sort the data.

##class(Ens.Rule.FunctionSet).Lookup

For example

My table has following values

0001EMRNameB

0002EMRNameA

0003EMRNameC

w ^Ens.LookupTable("EMRName","0002EMRNameA") this works 

But i want to use something like that

w ^(Ens.LookupTable("EMRName","%EMRNameA") this doesnt works 

3
0 334
Question Andy Coutinho · Feb 25, 2021

Does anyone know how to get the closing tab/menu changing event in a CSP? I've tried the JS "OnBeforeUnload" already but it seems the browsers aren't allowing it anymore. I need to show a pop-up that holds the user if trying to get away before completing the stage.

1
0 175
Question Kurro Lopez · Feb 25, 2021

Hi all,

I have a API operation that is calling to a external process. The answer is a big json but I only want a pice of the full content.

My first attempt is:

.....
// The code of prepare the request is omitted.
set tSC = ..Adapter.SendFormDataArray(.tHttpResponse,"POST",tHttpRequest,,,tURL)
if $$$ISERR(tSC) $$$ThrowStatus(tSC)
// Get the response directly
set response = ""
while (tHttpResponse.Data.AtEnd = 0) {
    set response = respuesta_tHttpResponse.Data.Read()
}
// Convert Json to generic object, get the node returnValue.data and convert to JSon again
set objJson =
2
0 309
Announcement Kate Schell · Feb 24, 2021

Hello All,

InterSystems Certification has designed a certification exam for technical specialists who work with HealthShare Patient Index. We need input from our community to help validate the exam topics. Here's your chance to have your say in the knowledge, skills, and abilities that a certified HealthShare Patient Index Technical Specialist should possess.

Exam title:                  HealthShare Patient Index Technical Specialist

Exam candidate:       An IT implementation professional who:

  • has 6-12 months experience with installing, configuring and supporting the HealthShare Patient Index
0
0 345
Question Scott Roth · Feb 23, 2021

So now that I have figured out how to send a Page via HTTP.OutboundAdapter, I have another question. I want to use a Function that all I have to do is pass two variables and it is sent to the HTTP.OutboundAdapter I created to send the Page. 

So.. If I have a class file that ExtendsEns.Rule.FunctionSet, how do I force it to send a Request to my HTTP Business Operation, without having to go through a DTL, or Business Process?

Thanks

Scott

3
0 915
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 351
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 645
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 260
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 542
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 430
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