#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 David Underhill · May 12, 2020

I have been using %Net.FtpSession and while it works, its handling of file/directory listings from an FTP server is less than ideal and, while this is due to the FTP protocol itself, the class could be written to handle this as would an FTP client such as FileZilla and command line/class FTP handlers for other languages.  I was wondering if anyone knows how the Ensemble adaptor works with this in case it provides code that would help, though the source does not seem to be available.  Below are the issues I see in FTP, some are based on past experience writing our own FTP handler in the past,

2
0 549
InterSystems Official Pete Greskoff · May 20, 2020

InterSystems has corrected two defects that affect online backup of very large databases. Backups taken via external methods, such as snapshots or direct file copies, are not affected. These defects exist in all released versions of all InterSystems products.

The first defect only affects databases with more than 231 blocks. It results in a degraded database after restoring from an online backup. For example, databases that have a block size of 8 KB (the default) are only affected if they are larger than 16 TB. The correction for this defect is identified as RJF437.

0
0 285
Question Ralf von der Reith · May 12, 2020

Hello Community, 

I want to secure a SOAP Webservice (an EnsLib.SOAP.Service one, if that matters) adding a SSL/Username Policy to it. As im not sure how detailed my request here should get, ill try giving a detailed as-is description of my setup, what I've tried, how I tried to test the connection and what problems including some logs I ran into. 

As a small foreword: I'm pretty new to the whole security aspect of intersystems and soap itself. 

System:

I've tried it on 2 different systems with pretty much the same result: 

3
0 829
Discussion Murillo Braga · May 13, 2020

Hello guys, 

I have used the Studio SOAP wizard to generate some webservice client classes and amongst those classes:

Class RMH.SOAP.s0.Output Extends (%Persistent, %XML.Adaptor) [ ProcedureBlock, SqlTableName = _Output ] {
...
Property Value As %GlobalCharacterStream(XMLNAME = "Value");

And the caller looks like

Class RMH.SOAP.SoapTreeSoap Extends %SOAP.WebClient [ ProcedureBlock ] {
...
Method Run...(Tree As %String, Inputs As %String, Debug As %Integer) As RMH.SOAP.s0.Output 
3
1 621
Article Tani Frankel · May 17, 2016 1m read

One of the topics that comes up often when managing Ensemble productions is disk space:

The database (the CACHE.DAT file) grows in a rate that was unexpected; or the Journal files build up at a fast pace; or the database grows continuously though the system has a scheduled purge of the Ensemble runtime data.

It would have been better if these kind of phenomena would have been observed and accounted for yet at the development and testing stage rather than on a live system.

For this purpose I created a basic framework that could aid in this task.

7
2 1513
Question Mary George · May 7, 2020

Hi,

I have a HealthShare HealthConnect operation which uses the EnsLib.HTTP.OutboundAdapter. It is using a custom Operation class to send HTTP Post request. The request data that is sent to the operation and the response back from the operation is not  displayed on the visual trace. Is there anyway to display this data in the trace? 

Thank you for your help. 

7
0 878
Question James Hill · Mar 15, 2018

I have created a fairly simple process for taking a HL7 message and sending it to an external provider via a HTTP Post and this is all working correctly. However for the request and response messages I am using e a simple structure containing only a message stream and when looking in Ensemble Message viewer none of this stream content is showing (it is all blank). Would I have to create a particular message type to make this show in message viewer and if so could someone provide some guidance around how to achieve this (outline of code included below)

Read message to Stream and forward:

2
0 1198
Question Jose Antonio Benitez · May 6, 2020

Hi, we have mirrored databases, now we have three nodes. Primary, backup, async. They are sync by journals and with some TB each node (expensive storage).

I would like to have a scenario where the two nodes (Primary and backup) have the same amount of messages (purge task of x days) , both as failover, but the asynchronous node should have more messaging, as much as the storage allows us. We want to use this node so provider can give support(search old messages), but not have databases in production that are so large that they are hardly consulted.

Any ideas?

Thanks in advance!

2
0 240
Question ED Coder · Apr 30, 2020

Hi,

Would appreciate some guidance on this. I am creating a transform to replace values using a functionset. But for some reason the values arent getting replaced. What I want to do is to replace if the observation value [For Eg: if Migraine should replace with M1]

<assign value='##class(ClassName.FunctionSet).illnessConv(source.{OBX():ObservationValue})' property='target.{OBX():ObservationValue}' action='set' />

My function set class is as below:

2
0 315
Question Laura Blázquez García · May 16, 2018

Hello.

I want to know how can I convert XML String intro a %SerialObject.

This is an example:

<Envelope>
    <Body>
        <RESULT>
            <SUCCESS>TRUE</SUCCESS>
            <LIST>
                <ID>11111</ID>
                <NAME>one</NAME>
            </LIST>
            <LIST>
                <ID>22222</ID>
                <NAME>two</NAME>
            </LIST>
        </RESULT>
    </Body>
</Envelope>

And this are the %SerialObject classes I have created:

Class test.Envelope Extends (%SerialObject,%XML.Adaptor)
{
Property Body As test.Body;
}
9
0 2147
Question Sebastian Thiele · Feb 22, 2019

Hi,

I am looking foi an API to retrieve one namespace´s default web application name. We have use some code to setup links to event log/mesage trace for monitoring emails. In perticular we did this with ensemble where the default csp webapplication name always is something like csp/<namespace/. Anyway when it comes to a healthshare installation the default path seems to be csp/healthshare/<namespace>.

2
0 369
Question Julian Matthews · Apr 27, 2020

Hi all.

A long time ago I enabled Activity Monitoring to be able to save myself headaches in the future when looking at the performance of various message routes through our productions.  It's served it's purpose of answering questions on how many messages we process a week etc but I had not had the chance to really dig down into the stats for specific message types or destinations to pin point issues.

That time has come, as I have an outbound that periodically queues up without much rhyme or reason.

3
0 350
Question Tim Miller · Apr 24, 2020

We are using Ensemble 2018.1.3.

I am trying to import the org.apache.poi jar file (I have same problem with 3.8, 4.0.1, and 4.1.2).

Whenever I try to import the org.apache.poi.hssf.usermodel.HSSFWorkbook class using the Java Gateway Wizard, I get an XML error such as the following: 

ERROR #6301: SAX XML Parser Error: Line: 215 Offset: 20 invalid character 0x5 while processing /hs-connect/sys/mgr/Temp/mMQ5qDvObKsxaw.xml at line 215 offset 201

In doing some digging, it looks like the problem is in the org.apache.poi.POIDocument.class because it has the following code in it:

3
0 1062
Question Curtis Rambaransingh · Apr 20, 2020

- Currently we are receiving one NTE (See Below) from the source system

NTE|1|Result Comment|TESTING:\.br\\.br\This is a test results.  \.br\\.br\This test is a Test.

- We would like to create multiple NTE segments and send to destination system by using ".\br\"(Line Break)

NTE|1||TESTING:

NTE|2||

NTE|3||This is a test results.

NTE|4||

NTE|5||This test is a Test.

Bit we are running into compile issue on the code block.  NOt sure if there is a better way to do this.  Any help is greatly appreciated.

code:

1
0 489
Question alex chang · Apr 20, 2020

Due to bussiness requirements.I want to add some bussiness field on intersystem message view ui .

eg:

1. add new action page to display bussiness detail

2. add new function to do more  Fine-grained things.

3. add new database field in message table.

finally, I hope get more detail of messae view due to customize it.

Tks.

2
0 253
Question Julian Matthews · Apr 17, 2020

Hi all.

I working with ORU messages where I'm only interested in routing the message to an operation where any of the contained OBR:UniversalServiceIdentifier.identifier segments contains certain values.

The problem I'm facing is that the OBRs are nested within a repeating ORCgrp, which is then nested in a repeating PIDgrpgrp (although the source only ever uses a single PIDgrpgrp).

Is there a simple way of achieving this without a massive OR for each possible ORCgrp value?

4
0 708
Question Kurro Lopez · Apr 17, 2020

Hi all,

I have a class that has been working so far :(

The class extends the EnsLib.RecordMap.Service.FTPService class and add some information for each rows.

Now, when it saves the object it is raising the following error

ERROR #5803: Failed to acquire exclusive lock error

I've seen the other question in the community and I've tried to unlock

do##class(my.class).%UnlockExtent(0,1)
but it doesn't work
 
Any idea?
 
Best regards
5
0 1736
Question ED Coder · Apr 7, 2020

Hi, this might be a silly question, but how can I start a job in ensemble? I am getting the update button, and my business service is not restarting.

it says 1 new job to be started, but where can I start the job? Would appreciate your help on this

6
0 496
Question Mark O'Reilly · Apr 9, 2020

I'm having trouble trying to navigate XML files USING the %XML.TextReader. I have read https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GXML_textreader#GXML_textreader_creating_method
but I still don't really understand. 

I have the following block 

while textreader.Read()
    {
       
    set practices= practices_textreader.Name_":"
        If textreader.Value'="" 
        {
            set practices= practices_textreader.Value_" "
            }
            elseset practices= practices_"NOVALUE" _" "}
            
        }         write practices

2
0 813
Question aqwsxcde · Apr 4, 2020

Hello community,

I recently started to work with Ensemble. I defined a subclass of EnsLib.HL7.Message.  In my production I receive HL7v2 messages and transport them using the Message Router to a business operation. The operation class has an OnMessage method with parameter

pObject As MySubclassOfEnsLibHL7Message.

I expected that specifying the parameter type, on receiving the message an implicit type cast would be performed. However, $CLASSNAME reveals that my messages are still of type EnsLib.HL7.Message. How can I convert my messages in ObjectScript (without DTLs or something the like)?

7
0 914
Question Ali Chaib · Apr 1, 2020

Hi,

 Kindly find the below example :

If I open google chrome and I add the below link (just an example)  , it will download a file to my local PC.

https://www.abc.com/cgi-bin/ocs/pswd=123&rpt=1

pswd correspond to the password 

rpt represent the report

How can I do the above using code in cache studio ? 

What type of services should I use? what's the parameters ? functions?  and how can I test it?

How to post a standard HTTP requests to the server with special parameters on the URL while the server returns data records instead of HTML pages ?

Thank you in advance.

4
0 461