#Business Service

4 Followers · 215 Posts

A business service is part of InterSystems Ensemble interoperability production which is responsible for accepting requests from external applications.

Question Yone Moreno · Jun 24, 2020

Hello,

 

We wonder how could we send an HL7 message to a service to test it.

For example, we have a service, at localhost port 19111

 

We have tried to use SoapUI to send a REST POST request as follows:

At the event log we see the following trace:

Then, if we try with POSTMAN as follows:

We observe:

 

 

Would it be the only way to test services, pointing a TCP HL7 operation to the service, and send messages using the Test Action?

We mean that we are testing manually sending messages from the operation "ProbarADTs" to "Servicios.TCP.GeneralHospitalADT":

 

How could we do it from SoapUI or Postman?

3
0 3648
Question Scott Roth · Mar 31, 2017

One of our Departments are claiming that we are loosing HL7 messages that are sent from their Vendor's system to Ensemble.

I know interfaces 101 if we have no record of the message then we never received it, however they are insisting they are sending it.

I asked them to provide the ACK's if they sent the messages but Ensemble had no corresponding Message Control ID (MSH.10) .

Currently I have the following settings.

2
0 2009
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 directory
Set tSource=pInput.Attributes("Filename")
Set tArchive=..Adapter.CreateTimestamp(tSource,"%f_%Q")
set fullPath =
4
0 1995
Question sansa stark · Jul 17, 2017

Hi ,

     I'm using standard business service not(Customized business service). I'm not able to process the Hl7 data file which contains CRLF characters.It shows warning "Discarding  Received non HL7 data". Actually it discards some segment after CRLF character. Is there any settings to overcome this problem?

 

Also i tried UTF-8, Ascii,Unicode.. characterset . But it won't work. Please help me .

 

Urgent!!!

11
0 1953
Question Tom Philippi · Apr 18, 2017

I have built an Ensemble SOAP service (EnsLib.SoapService.Service) as a business service which accepts soap requests from another application. To secure the traffic between the SOAP service and the application i'd like to enable SSL. I see that in the management portal I can upload the certificates, chains and keys and save them as an SSL / TLS configuration. However, it is not clear to me how I apply this SSL / TLS configurtion to the soap service I am running.

2
0 1859
Question Hieu Dien Nguyen · Aug 23, 2018

Hello Everyone,

I have a healthshare web application with production, I try to make a field in basic setting of business service, and I would like to set a string to DISPLAYLIST and VALUELIST of that Property (string maked by query to sql table). I code the same here but it's syntax incorrect in DISPLAYLIST = GetTypeDisplay(), VALUELIST = GetTypeValue(). Someone know a best way to solved my problem? Thanks so much!

Class Demo.RegDataService Extends Ens.BusinessService
{

Property xmlTagName As %String(DISPLAYLIST = ",EDocument", VALUELIST = ",Demo.
8
0 1779
Question Ryan Hulslander · Jun 3, 2016

Problem:

A file-based business service uses a local path on a Linux machine that is actually a mounted CIFS share. The mount is "soft" and is designed to not cache data, etc. There are times however when the remote system offering up the share (it's a Windows machine I believe) gets bounced or otherwise hung up the business service in the Ensemble production just hangs.

Un-mounting the network share doesn't affect it, no process kill command affects it, and even going so far as to "kill -9" the process outside of Cache does nothing, either.

4
0 1754
Question Paul Reesman · May 18, 2016

I am just trying to make a quick hand off HTTP production. I have the class built and compiled onto the server and the production is running as a service. When the production is called (by an inbound job) I can see that the HTTP.InboundAdapter is being used successfully and the stack continues all the up to ProcessInput where OnProcessInput is called in Ens.BusinessService. Instead of using the class that I wrote which has both extended Ens.BusinessService and implemented my own overriden OnProcessInput method, it calls the OnProcessInput within the Ens.

15
0 1570
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 ?

1
0 1240
Question Nancy Martínez · Jun 6, 2016

Hello,

Why I don't see the full content of a XML file inside a Ens.StreamContainer Message?

When  I look into the content I only see:

<?xml version="1.0" ?><!-- type: Ens.StreamContainer  id: 5 -->
<StreamContainer><OriginalFilename>C:\Temp\In\aa.xml</OriginalFilename><Stream></Stream><Type>FC</Type></StreamContainer>

How I can see all the content? There is any setting to modify this behavior?

I am using a EnsLib.File.PassthroughService,

Regards

1
0 1212
Question Scott Roth · Nov 23, 2016

I have a standard text file that is coming out of a system new line delimited. Each document will have the same field structure each time.

ID: xxxxxxxxx
Name: xxxx,xxxx   Age: xx   Sex: x

OSU Wexner Medical Center Harding Hospital
Treatment at  7/14/2016   10:39:34 AM

% Energy Set                                    50 %
Charge Delivered                             255.4 mC
Current                                       0.91 A
Stimulus Duration                              7.0 Sec
Frequency                                       40 Hz
Pulse Width                                   0.
7
0 1148
Question Manikandasubramani S · Mar 10, 2017

Hi All,
      I need to route a file based on its type in Ensemble Production. But I don't want to write a Business Process code to achieve this. Am using FilePassThroughService to get a file.
     There are two FilePassthrough operations for different type of files. Is there anyway to achieve this using Business Process Rule itself?
      Also how to get the filename in Business Process Rule that comes from FilePassThroughService?

 

    Thanks in advance.

3
0 1143
Question Angelo Bruno Braga · Jul 22, 2016

Hi all,

 I already enabled the IIS configuration for using HTTPS to all requests (using * wildcard) and all my CLS, CSP and ZEN pages are working nice through HTTPS.

 My REST Business Service parameters and Method definition:

Class ocx.bs.rest.Service Extends EnsLib.REST.Service
{
Parameter ADAPTER = "EnsLib.HTTP.InboundAdapter";
Parameter EnsServicePrefix = "/CUSTOMERS";

Method OnProcessInput(pInput As %Stream.Object, Output pOutput As %Stream.Object) As %Status

Thanks a lot,

 Angelo Braga

2
0 1106
Question Kurro Lopez · Sep 4, 2019

Hello everyone,

We have a process that is listening to an FTP service to collect some CSV files and process them. The process works correctly and when it ends it clears the directory waiting for it to enter some other file.

We have been receiving the following error message for a long time:

ERROR <Ens>ErrGeneral: Error in SFTP Dir() ERROR #7500: Error DirEnum SSH '-2146430967': 'SSH Error [80101009]: Would block waiting for status message [80101009] at SFTP.cpp:150,0

This happens when there are no files to process and appears from time to time, maybe every 20 minutes.

4
0 1018
Question Mary George · Dec 3, 2020

What is the best way to create an HL7 message from JSON input file?

We have JSON file available with data required for building the HL7 message . I am trying to use a standard file/FTP Business service to pick up the file and convert the input %FileCharacterStream into a dynamic Object and use the stand JSON features to read /process the data and build the HL7 message. 

Is there any other better way to do this? or any standard built-in functionality available in HealthShare? 

Thanks you for your help

Mary

2
0 961
Question Steve Pisani · Dec 15, 2015

Hi,

In an Ensemble message bus that has a Business Service which extends EnsLib.SOAP.Service, I have the option to support SOAP Sessions by setting the parameter SOAPSESSION=1.

The comments says this also effects license consumption.

In what way  is license consumption effected ?

note this is version 2015.1, Ensemble Elite (without Web-AddOn).

thanks - 

Steve

7
0 954
Question KI Joon Keum · Apr 4, 2019

I trying to get ACK back from the destination to the sending system.

I configured the Business Services to Ack Mode Application but sending system is getting Ensemble generated ACK [7] not destination ACK [9].

This is Ensemble 2018.1.1.312.0.

Ultimately I would like a NACK back when I have a Business Rule that blocks a messages from sending to Business Operations but currently [5] is an ACK |AA

|.

5
0 949
Question Thembelani Mlalazi · Mar 12, 2018

I have a service that that I would like to use to  poll the database table in MySQL server 2012 and get an id to use if the condition is met but have trouble achieving this here is what I have so far any suggestions please.

Method OnProcessInput(pInput As EnsLib.SQL.Snapshot, Output pOutput As %RegisteredObject) As %Status
{
 
  set pRequest=##class(SamsReq).%New()
      set pRequest.pID=pInput.Get("pID")
     
     
 

< set sc=.
4
0 924
Question Richard Housham · Apr 27, 2017

Hi I'm hoping the community will once more help me out with a question!

Right I have a production that takes an attachment from an email and processes it, sending out a hl7 message at the end. This works ok.

Now I just need to take the email and send it back out to a 'backup' email address, basically giving
a) A backup incase there is a problem with the email or something else further down the line.
b) A log of the emails receieved.

So I thought the best thing to do is have an operation with an email adapter and to send that my message.

That gave me some code that's basically like this.

6
0 910
Question Anthony Breen · Nov 19, 2020

Hi,

I'm processing POP3 emails using the standard EnsLib.EMail.InboundAdapter adapter and %Net.MailMessage. I'm basically processing documents that are attached to received emails. This works fine if the document is simply attached to the email itself. But some systems are sending documents that are attached to an attached email which has content-type = message/rfc822.

How do I get the attached file from the attached email?

I'm using the following code to iterate through the email parts.

3
0 884
Question Scott Roth · Jul 20, 2017

I am currently working on a issue with WRC on one of my Inbound SQL Adapters not returning all the records it should be. If I looked at the count of the records in Ensemble and compare it to that of a Microsoft SQL View, Ensemble seems to be off by a few records here and there. I am using a full dynamic select statement in my settings of the adapter.

5
0 880
Question Kurro Lopez · Feb 20, 2019

Hi all,

I'm wondering if is possible to extend the UrlMap.

I want to create a base class and one method will be in all extended classes, so I've tried to create the map route in parent class, and the specific methods in extended class. But it doesn't work.

I've create the method in parent class and I've wrote the map in extended class. It works, but I want to put it in base class to prevent forget this call.

Note: The base class extend to %CSP.RES

Best regards,

Francisco Lopez

5
1 868
Question Milena Donato · Aug 8, 2018

Hi everyone

I encountered this error while trying to access a web service (I send a test message with soap ui):

FEHLER #5002: Caché-Fehler: &lt;CLASS DOES NOT EXIST> {my method &class name} .1 *(No name)

I am not able to understand what goes wrong. If I look at the trace on messages in the ensemble message viewer there are no errors. The response message displayed in the trace looks like it is successful but in the SOAP UI tool I get the error message in the response.

Do you have any suggestions?

Thanks a lot and kind regards

Milena

1
0 854