We are trying to make an ODBC connection via our intersystems ensemble (2016.2 running on ubuntu). However, when I am testing the connection I receive a pop-up that: "Http object response incomplete or invalid.0,#R". Note that the iodbctrace.log remains empty (and it is working because on the first try it registered a 459 error that I should activate kerberos, which I did). Any advise where I should look?

I have taken the following actions:

1. Expand the cacheodbc.ini in the mgr directory as follows

Last answer 17 January 2018 Last comment 18 January 2018
0 2
390

views

0

rating

I have a database which needs to be synced to another system and considering to use the SQL Inbound adapter to 'watch' the database. The other system, however, has a bulk API so I'd prefer to send multiple SQL rows in a single message to that system. The SQL Inbound adapter seems to trigger a single call (to a process or business operation) per SQL-row. However, the documentation here: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=... in example 5 seems to suggest that if I exclude a KeyFieldName I get multiple rows in my EnsLib.SQL. snapshot and should be able to send multiple rows to the bulk API down the line. Is this a correct interpretation of the documentation?

Last answer 8 January 2018
0 1
0

comments

165

views

0

rating

Recently viewed a demo on the new Dynamic Objects in InterSystems (we are still running 2016.1); together with the upcoming IRIS data platform I started thinking about possibilities of building dynamic databases. That is, I can imagine some projects were it might be really nice to store dynamic objects and then run sql queries on them without ever defining the fields of the dynamic objects (i.e. not at storage, but only if you run your sql query). If there is any system where this might be possible it is InterSystems Cache.  Of course, Ithis might not be a good idea for an entirety of reasons, but one can still dream, so please bear with me :P.

So the core idea is to host an intersystems REST API that acepts any JSON message, converts it to a dynamic object and store it in Cache. Then I'd like to run a sql query on the stored objects to see what I actually received.

So here are my questions

Last answer 13 December 2017
0 1
0

comments

255

views

0

rating

When executing a business process I'd like to share the Login Token from an external system retrieved via one of my business operations across multiple process instances. This means I need to persist the token somewhere. What would be the best approach/pattern to implement this?

The primary idea I had was to store the token and a timestamp in a persistable object and then write a single method in the Business Operation that retrieves the token. The method returns either the token from the persistable object, or if the timestamp is older than say one hour, it calls the external system to get a new token and returns that (and of course updates the persistable object).

Alternative ideas are

Last answer 28 November 2017
0 2
0

comments

104

views

+ 1

rating

I am calling a business rule from one of my business processes and I noticed that when the business rule reports an error that the business process calling that rule just stops without any errors. Resultingly it fails to trigger the scope - catch-all construction that is surrounding the business rule. I know that it is possible to view the errors in business rules in the business rules log, but I really like to push an error message to Ens.Alert or something similar when my business rules report an error. How do I achieve that?

 

Last answer 27 November 2017
0 1
0

comments

97

views

0

rating

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)
{

Last answer 27 November 2017
0 1
0

comments

279

views

0

rating

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

Last answer 23 November 2017 Last comment 23 November 2017
0 2
288

views

0

rating

Initial questions have been answered. Expanded the post with actual code (see below)

So, I'd like to update one (and preferably) more context-fields in my ensemble BPL business process based upon the information in the request that initiates said BPL proces. I got a few questions about that:

1. First, I can't get it to work. Specifically, in the BPL process I call the business rule with my request as context and expect it to put it results in context.Boolean. The business rule nicely updates the context.Boolean but the conditional logic looks at specific fields in the request (i.e. if request.MyField="helloworld" then return true otherwise return false) doesn't work: The business rule always returns false. I suspect that the syntax I use in the conditional isn't entirely correct. (i.e. I am trying 'request.MyField = "helloworld")

Last answer 27 November 2017 Last comment 27 November 2017
0 3
221

views

0

rating