#Ensemble

23 Followers · 2.3K Posts

InterSystems Ensemble is a complete and easy-to-use integration platform that enables users to connect people, processes, and applications in record

time.

Learn more

Documentation

Question Michel Bruyère · Nov 20, 2018

I created a connector of type "Services" having for name of class "EnsLib.File.PassthroughService". In the parameters, the value "FileSpec " was "*" and the "FilePath " pointed to my directory " .... Documents "; whereas "TargetConfigNames" was empty.

Much to my surprise, as soon as I activated this connector, all the files were deleted.

These are not in the dushbin of Windows. - 

Do you know a way to get back them? Are they in the system of the ESB?

I know that programs can undelete files. I have already used this type of programs.

Thank you in advance.

Sorry for my poor English.

2
0 520
Question Bhupinder Singh · Nov 19, 2018

Hi All,

I am converting UTF-8 encoded error files to ANSI files and for that I had written below piece of code. But I am not able to get ANSI encoded files.

Code Snippets:

Set tReadStatus = ""
Set eol = 0
Set (tRecord1,tRecord) = ""
Set stream=##class(%Stream.FileCharacter).%New()
Set sc=stream.LinkToFile(tErrorFileName)
Do stream.TranslateTableSet("cp1252")
Set tNewStream = ##class(%Stream.FileCharacter).%New()
Set tNewStream.Filename="D:\Bhupi\Test6.txt"
Do tNewStream.TranslateTableSet("cp1252")
While ('stream.AtEndGet())
{
Set tRecord=stream.ReadLine(,.tReadStatus,.eol)
$$$TRACE("Record1 :"_tRecord)
Do t

2
1 1451
Article Gevorg Arutiunian · Nov 14, 2018 2m read

(Originally posted to InterSystems CODE by @Dmitry Maslennikov) The following code snippet outputs message header data in Ensemble. The class method "fetchExecute" runs the process, and the result is stored in the argument "qHandle":


include Ensemble
Class DAiMor.fetchMessageHeaderData extends %RegisteredObject
{
 
Query Fetch(Namespace As %String) As %Query(ROWSPEC = "Namespace:%String,ID:%Integer,Type:Ens.DataType.MessageType,Priority:Ens.DataType.MessagePriority,Invocation:Ens.DataType.MessageInvocation,TimeCreated:Ens.DataType.UTC,TimeProcessed:Ens.DataType.UTC,Status:Ens.DataType.Message
2
0 713
Question David.Satorres6134 · Nov 16, 2018

Hello,

We are trying to migrate all our production to new IRIS servers. To test everything is working fine, and to be able to script the process, we want to import the data into new IRIS servers using a backup file (created with ^BACKUP). But we've found that IRIS doesn't recognize Ensemble backups so we can't import it using ^DBREST  :-O

Any of you know how to import in IRIS an Ensemble backup file?

Thanks a lot,
David

3
0 653
Article Wilber Tang · Jul 25, 2016 1m read

EnsLib.HL7.Message.cls provides many API methods for manipulating an HL7 message.  RemoveSegmentAt(), for example, can be used to remove a segment by path or index, but only one segment at a time.   There may be times that you'll need to remove all segments within a group or even many groups of segments from the HL7 message.  Surely you can iterate through each segment in each group and remove them one by one, but there's a much easier way. 

With just one command, like below, you can remove all OBX segments in an ORU_R01 message (msg):

Set tSC = msg.SetValueAt(,"PIDgrpgrp(1).ORCgrp(1).OBXgrp()"

1
0 2624
Question Arun Madhan · Aug 15, 2018

Hi,

Trying to build a passthrough based on ASTM . I have created 2Way TCP/IP Business Service and specified a PORT (as Adapter Settings). The Source system is broadcasting from  IP 20:30:100:100 , Port 10000 . Ensemble is on 20:40:40:100 , What is the possible change that I have to implement to receive this broadcasted messaged ? . Should the Ensemble Server be on the IP range to receive the broadcast ? 

Many Thanks, 

3
0 538
Announcement Neerav Verma · Sep 17, 2018

Hello,
Fellow community members, here is an extendable / re-usable / generic pub-sub model.
An initial calling service reads a CSV file, parses through all records and transforms it to a generic JSON message.
The message is then transported via a pub-sub business process to the end-points Targets (business operations)
as configured for the subscribers for each Topic as demonstrated in the image below.


Steps and flow to implement this are as follows
1. Service 
a. Read a csv file, loop through all records
b. In each loop make one json msg and add it to the json array of messages
The message structure is












































10
0 1242
Question Scott Roth · Oct 31, 2018

I am working on my first REST operation concept and had a question about the Property Parameters. If I put a value in CAPTION, does that mean that when I use it in my call that it will come out in the URL?

For example...

Property enumerationType As %String(CAPTION = "enumeration_type");

Then in my operation...

Set tURL=..Adapter.URL_"?q="_pRequest.enumerationType

so when it builds the URL it looks like...

3
0 474
Question Bharathsimha Reddy Jakka · Nov 7, 2018

Call Interval

 
 

The minimum interval between invocations of the adapter by the Ensemble framework. For adapters that poll for external events, this is the polling interval. However, most polling adapters will process all inputs immediately if several are detected at one time. This is also the interval at which each Business Service will check for shutdown requests.

Is this interval duration in Milliseconds or Seconds ?

What is the highest or lowest that I can set in the Call Interval ?

I need a service to be invoked as many times as possible and as

1
0 1231
Question ED Coder · Nov 6, 2018

Hi, I want to create a service which on start will simply go through a list of values in a global and compare dates. If criteria is met, it will send an email.

But what kind of Adapter do I use? I see SQL, FILE, HTTP etc..etc.. But I dont want to use them

Please can you advice on how I should go about this?

Should I create a BS. Class and do onAdapterTASK() and simply build a method? Even then it is asking the kind of adapter I want

Would appreciate some guidance on this

Regards,

Eric

8
0 527
Question Murillo Braga · Oct 31, 2018

Hello guys,

I want to be able to export a range of messages from my production (from within a specific date interval), but while digging into intersystems documentation, it isn't giving me any details on how to perform this task.

It teases me saying "Ensemble provides a Message Viewer page for HL7. You can use this page to display, transform, and export HL7 messages (either external files or messages from the Ensemble message archives).", but then there are no signs of further information.

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…

Could you

2
0 1640
Question Greg Arnold · Nov 1, 2018

I have an Ens.StreamContainer which holds XML that was received, and I need to validate that against an XSD schema. The schema is very simple, only looking at the root element and maybe a couple other items to ensure the XML is what we expect before continuing the data flow.

I have imported my XSD into the Ensemble XSD wizard, so it is available, but I'm struggling to find a method that does the validation. I thought about possibly using the schema to generate a class definition, then attempt to load the XML as that object (try/catch to handle the failure scenario), but I don't know where to st

1
0 898
Question Kurro Lopez · Oct 30, 2018

Hi all,

I have a FTP.Inbounding service that read a file and move it to a other folder when it is processed. The problem is that is not working fine in SFTP server.

The code is coppied from How to - Customize Ensemble Settings article.

// begin customization code// get the Filename, attach the time stamp to it and move the file into the Archive directory// the Rename method below is using RNFR and RNTO FTP commands (RFC 959), effectively moving the file into the new directorySet tSource=pInput.Attributes("Filename")Set tArchive=..Adapter.CreateTimestamp(tSource,"%f_%Q")set fullPath =.
4
0 1981
Question Larry Pinsky · Mar 22, 2017

We have many sFTP business operations that work successfully.  I just modified an existing one to point to a new IP and Port, as well as use new credentials (username and password only).  When I attempt to sFTP a file, I receive the following error.

ERROR <Ens>ErrFailureTimeout: FailureTimeout of 15 seconds exceeded in EnsLib.FTP.PassthroughOperation; status from last attempt was ERROR <Ens>ErrOutConnectFailed: SFTP Connect failed for sftp.pmpclearinghouse.net:22/OARRS PMP/SSL='!SFTP'/PubKey=''/PrivKey=''
with error ERROR #7500: SSH AuthenticateWithUsername Error '-2146430958': SSH Error [801010

5
0 2818
Question Stuart Byrne · Oct 26, 2018

I'm currently working on a project to run our medical device integration through ensemble.

I've noticed a potential problem with the volume of messages .  The feed generates around 474K messages daily( average of 1 message per minute per device from 300+ devices).

We currently keep all our other feeds message data for 90 days and purge automatically.   From what I can see is that the purge functions in Ensemble are production wide and cannot set it at the Business Operation, Service or Router level.

Ideally we would like to have the new feed in the same namespace & production  as our other feeds.

1
0 435
Question Aaron Bentley · Oct 23, 2018

Hi,

I have been reading the posts and the documentation around JSON support available with 2016.2 (which is my version) and following versions, but haven't found a concrete example of how to design and implement a complex JSON entity object. I'm working on creating a REST client to connect to an external service and working on modeling the request and response objects, but keep running into invalid OREF when trying to access elements. I've tried creating a container class 'request', which extends %Library.DynamicAbstractObject and has properties tag which is a string and body which is another

8
0 3755
Question Stefan Cronje · Oct 25, 2018

Hi,

The context of the rule set contains an ArrayOfDT(I've also tried Collection.ArrayOfDataTypes).

I need to access an element using its key in the rule set using the assign function. I've tried everything I can think of and searched the documentation, but can't find anything. It is probably very obvious.

Can you please help?

1
0 444
Question Jim Winski · Oct 24, 2018

I am trying to find out when a Business Service was created, and by who. I have reviewed the audit trail and it doesn't appear that this information is actually logged there. I am hoping that this might be logged in a SQL table or global someplace. I have reviewed the SQL tables in that namespace and have come up empty. I thought it might be located in Ens_Config.Item, but that table is sparse.

Anyone know where this information might be logged?

Thanks, Jim

1
0 262
Question Joao Palma · Sep 6, 2018

Hi

I'm trying to get a text value of a xml node of a XML Document through the xpath activity within a BPL diagram.

I set the source to Request and all the other properties.

The error I always get back is Method does not exist...

Could anyone help me out?

Kind Regards

-----

Source

Source data

Property

Destination for result

Context

Document context

Expression
 
3
0 525
Article Eduard Lebedyuk · Sep 17, 2018 7m read

InterSystems IRIS supports publish and subscribe message delivery. Publish and subscribe refers to the technique of routing a message to one or more subscribers based on the fact that those subscribers have previously registered to be notified about messages on a specific topic.

This article demonstrates how several InterSystems IRIS capabilities can work together:

In this article we would send emails about:

  • New workflow tasks
  • Unassigned workflow tasks
  • Uncompleted workflow tasks
  • Ensemble alerts

Email recipients would be determined using Publish/Subscribe operation and each user would receive only digest email whenever possible.

4
1 701
Question John Flippance · Oct 18, 2018

Hello All!

I have a query regarding general behaviour of a business process in Ensemble. 

I have a BPL which has a call block out to an operation (Adapter class EnsLib.SOAP.OutboundAdapter).  The call to this operation is synchronous (i.e. the Asynchronous box is not ticked), with a long time out value. and the pool size of the process is set to 1 in the management portal.

What I am seeing is that when messages are being processed, a second message is being processed by the BPL before the first message that entered the BPL has had a response back from the call to the operation.  I was not expec

9
0 736
Question Arun Madhan · Oct 18, 2018

Hi,

We have Mirroring established between NODE 1 & Node 2 . We have set the "cachesys" database enabled for Journalling. But we dont see the User Accounts , Roles, Resources created on Node 1 ( favoured Primary) reflected on Node 2 . Is creating them manually again is the only option for this ? . Is there any way to sync them or would adding %SYS to MIRROR a possible solution. Would it be great if anyone has faced this as we have an issue that during failovers Team is locked out . 

Best Regards,

Arun Madhan

10
1 1076