#Business Service

0 Followers · 209 Posts

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

Question alex chang · Jun 1, 2020

Hi,

 Recently, I meet some problem at product env.

Some outside http request send to my Business Service.   cause service very slow down. So I want find root cause . But at the message trace page. I can't found any source address .    But at Product env. I can't install packet capturer like wireshark . I meet some problem.

And  Second.  Does ensemble can limit request speed at Business Service?  too many requests slowdown my service.

Tks.

1
0 246
Question Yone Moreno · Mar 16, 2020

Hello,

We have a Service which behaves differently even though two equal Soap UI XML requests are being sent, from different systems.

When it is being sent from the other system, our Service's log shows:


ERROR <Ens>ErrGeneral: invalid HTTP version'xmlns:ges="http://XXX.XXXXXXXXX/GestionPacientes">'  

When we send the same XML message from SoapUI, it is being processed by our system.

We have checked that the service's NAMESPACE is: "http://XXX.XXXXXXXXX/GestionPacientes"

How could we debug further this behaviour?

We have read:

1
0 509
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 468
Question Yone Moreno · Feb 10, 2020

Hello,

We would like help to know why our web service which gets Patient's ID number, does not accept messages?

We observe its Event Log, and it contains the following pattern:

We detail each log to give info to discover what's happening:

First there is a new connection:

Then it suddenly disconnects

After that it looks like the service restarts:

The next one is interesting: it outputs that UTF-8 encoding is invalid, inside EnsLib.SOAP.InboundAdapter

We have searched for UTF-8 inside SOAP.InboundAdaptar and we find it here:

3
0 765
Question Roger Merchberger · Jan 10, 2020

TL;DR: If I set an Ensemble  Production Service based on EnsLib.File.PassthroughService to a Binary charset encoding, it breaks the file handling. Any ideas?

Full long post:

All,

I set up an Ensemble production to transfer files via SFTP, which works fine sending the files to my Linux server. Then I was informed that we needed to save a hash of the file, for comparison with the destination to verify the file arrived unmodified. I looked at the base64 encoded hash on my linux server:

G7QWAP6FcLInFWP8ECRL/EI2NfKdaf6TtrpwYuvSOEc=

and I created a class to extend the StreamContainer to add a hash value:

8
0 448
Question Thomas Schroyen · Dec 17, 2019

Hello,

I have a little problem that appears to my newest program. One of the purpose of my program is to  transfer a file from a path to another one.

Another person/entity places the file into a specific file ( let's call it \\Server\) but the problem is that my service (a simple EnsLib.File.PassthroughService) takes it and places it directly into my other path. The pdf file is very big and it happens almost all the time that the size of the output file is not the same as in input and so is corrupted.

3
0 395
Question Antonio Garcia Martinez · Feb 21, 2018

Hi,

I have a business service that needs to run only once a day at an specific time. It is important that the service only runs once.

I have tried the scheduler but you can only define the times (start-stop) when the service will be running...so this will not work for me as I need this to run only once.

Looking at the documentation I found "tasks". Apparently this is exactly what I need. As per documentation:

12
0 2168
Question Eduard Lebedyuk · Nov 14, 2019

I have several Business Services which I need to run once on each trigger.

Trigger can be either:

  • Specific time (so once a day, every day)
  • Specific day (so once a month, every month)

For the time, it would be stable (i.e. 0100), but the second case varies - one month it could be 10th, another month - 12th.

After each run I want the service to turn off, so that all the time the service is not running it would be colored grey in Production Management Page.

I plan to use Task Scheduler,but open to suggestions.

Thoughts? Ideas? Code?

2
0 453
Article Slava Rahmatoulin · Nov 5, 2016 9m read

This article will provide tips and tricks on customizing Ensemble business hosts with configurable settings.

Ensemble production Settings are configurable values that control the behavior of a production and its hosts.

The documentation for adding and removing Settings and specifying categories and controls for Settings is provided at the link:

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGDV_prog#EGDV_prog_settings

“To provide new settings for a production, a business host, or an adapter, modify its class definition as follows:

6
4 4848
Question Warren Grob · Aug 29, 2019

Is it possible to create a task that will initiate a Business Service that is dependent on the completion of a separate EDI data process?

I have a complex data flow with multiple EDI processes where one process must run and produce one or more files that get deposited in the source folder for the next EDI process.  The entire process is currently set up where 2 of the EDI processes execute at a specific time.  The problem with that is when a network or server interruption occurs at the time they are supposed to start, it causes a complete failure of the entire process.

1
0 240
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 974
Question Jimmy Christian · Jun 25, 2019

Hello,

Working on to learn very basic CUSTOM Business Service which sends to a EnsLib.File.PassthroughOperation.

But operation is not writing to File and erroring out (No Stream contained in StreamContainer Request")'.

How do convert the object to STREAM and wrap in the StreamContainer so the operation does not error and write to a file.

Thanks.

Persistent Class

Class Hospital.PatientApptRequest Extends %Persistent
{
Property PatientId As %Stream.FileCharacter;
Property PatientName As %Stream.FileCharacter;
..

Custom Service reads from a file

8
0 629
Question Blakely Herlick · Jun 21, 2019

Hi all, My first post. I hope I have created it correctly.

Our team is looking to increase the number of characters in our Ensemble 'Categories' for Services, Processes and operations.

We are doing this to better identify things like Vendor, Message type and integrated application names...

One of our team members thought his might increase processing overhead and a discussion ensued that was not resolved.

my thoughts...

2
0 326
Question Jack Smith · May 19, 2019

We have a business service that extends Ens.BusinessService and uses  EnsLib.File.InboundAdapter.

This service polls for json files in a folder.

Method signature is like this:

Method OnProcessInput(pInput As %FileCharacterStream, pOutput As %RegisteredObject) As %Status

And inside that method it tries to read the content like this:

set tData = pInput.ReadLine(,.tStatus, .tEOL)
if ($$$ISERR(tStatus)) quit
set tJSON = {}.%FromJSON(tData)
 

I added some trace calls before and after lines and noticed it's always that last line that fails if content is larger than 32kb.

7
0 571
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 899
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 814
Question David.Satorres6134 · Jan 9, 2019

Hi all,

Does anyone knows if there is a limit per second adding messages to an Ensemble queue? I have a Business Service working and sending async requests to a Business Process, but I can't reach no more than 60-70 messages queued per second.

I've done several tests and same behavior seems to happen with all our productions. So I was wondering if there is a parameter anywhere to maximize the number of requests that can be send to a queue per second.

4
0 601
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 489
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 quick as

1
0 1194
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 246
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
4
1 669
Question Kurro Lopez · Aug 29, 2018

Hi community,

I've created a BS that uses FTP InboundAdapter. It works, read the file and process it.

The problem is when there not any file in the FTP folder, it raises the following error:

 ERROR <Ens>ErrFTPListFailed: FTP: error en List para *.csv (mensaje='No-transfer-time exceeded. Closing control connection.',código=421)

I think it is something about the configuration, but I don't find what is the problem.

Any idea?

Best regards,

Francisco Lopez

4
0 816
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!

8
0 1720