Hi everyone,

I'm working on a Business Operation whit an HTTP Outbound Adapter and I would like to know if is possible to adjust the FailureTimeout value based on the incoming message type. For example, I would like to have a FailureTimeout of 60 seconds for the standard operations and a FailureTimeout of -1 (wait forever) for few special operations that absolutely need a response.

Can we dynamically modify the FailureTimeout through code, based on either the incoming message type or a specified parameter?n the incoming message type or depending by a parameter?

0 10
0 537

I have been trying to track down an issue we are seeing in our TEST environment with Memory usage.

We have Several BP's for years now that take a HL7 message, parse it apart, and make calls to a Custom EnsLib.SQL.OutboundAdapter to have it execute Insert/Select/Update/Delete stored procedures against a MS SQL Database via JDBC connection. We are using Microsoft's JDBC 12.2 driver to do this.

What we are seeing is that IRIS.WorkQueue globals are being defined for these calls but then the IRIS.WorkQueue is not being cleaned up and taking up large amounts of Memory.

0 5
0 74
Question
· Jul 17, 2017
Purge for "IO Log Input Data"

Hello mates,

When turning on the “Archive IO” option within the business operations, it provides us the capability of seeing the input and output communication with external systems. For instance, watching the messages sent out + ACK message sent back .

Our production has got a scheduled task that runs daily (by default I guess, as many others) and is in charge of purging “Errors and log files”. And this is likely to be linked to the “Archive IO” feature, right?

0 2
0 562

I'm having trouble accessing the snapshots EnsLib.SQL.Snapshot in %Library.ListOfObjects that are returned from method ExecuteProcedure in EnsLib.SQL.OutboundAdapter. The Microsoft SQL stored procedure I am executing returns multiple resultsets.

The issue I am having is that my code works fine when executed in the business operation (commented out in the code below) but when it is executed in the business process it errors. Any ideas as to why this happens? The error I get is:

0 2
0 628

We use ExecureProcedure() to execute a stored procedure which returns a result set. But we see lot of "Invalid cursor state" errors when the result set is empty. The connection to SQL server database is made through ODBC.

ERROR #6022: Gateway failed: Fetch. + ERROR <Ens>ErrGeneral: SQLState: (24000) NativeError: [0] Message: [Microsoft][ODBC Driver 11 for SQL Server]Invalid cursor state

Here is the code snippet from the business operation class which uses EnsLib.SQL.OutboundAdapter

0 2
0 9.6K

Hello community,

I have productions running in several different namespaces. They all use a common credentials ID for sending email, which is set up in only one of the namespaces. The documentation says that credentials are entered by namespace. When I ran a production in a second namespace, the error log said that credentials were not found (expected), but later attempts to send a file thorugh the production did successfully send an email. I'm wondering if Ensemble is able to look in other namespaces for the same credentials ID?

0 2
0 838

What happens if you don't declare a Persistent value when you call ExecuteQuery()? What does Ensemble set as the key value for your query? I have a query that I've executed on SQL Server, and I get 15 rows, but because this is my second time querying the data Ensemble thinks it exists.

The Method in question is SelectProviderClarityAudit. If I call this query multiple times it is not returning the same number of results each time in Ensemble.

0 3
0 474

I have a service that takes a file and pass it through to the production .While I am passing the file through I get the file stream and set it to a variable within my message and the variable is of type %Ens.StreamContainer. But after all processing and I need to write out my file to a pdf format The file gets written but is a corrupt file since I can not read it I have tried this with asimple pass through everything is fine .But here I do not know what I am doing wrong here is the operation code

0 11
0 901

Hello,

I created a custom business operation to copy PDF files in Intersystems Healthshare. To copy the files I used:

$ZF(-100, "", "cp", "-f", tSource, tTarget)

tSource contains the source file e.g. "/opt/var/data/dir/1821008687135422926_5849146876.pdf".

tTargetSource contains the target file "/opt/targetdir/Müller_Jörg_1821008687.pdf".

Copying files without german Umlaute works fine (e.g Smith_Robert_1821081542.pdf), but when the string contains special characters like "ä", "ö", "ü" or even "ß" copying is not successful.

0 3
0 405
Question
· Mar 23, 2023
Saving data into SQL table

Hi Community,

I am trying to save data into SQL table but each entry getting saved twice in the SQL table. Is there any reason data is saving Twice in the SQL table

I have created a %Persistent class for the fields

Please find the business operation below

Class Patient.DBOperation Extends Ens.BusinessOperation

{

Parameter ADAPTER = "EnsLib.SQL.OutboundAdapter";

Property Adapter As EnsLib.SQL.OutboundAdapter;

Parameter INVOCATION = "Queue";

0 6
0 326

Hi,

I have Healthshare/Ensemble version 2015.2.1.

I created Business Operation in my ENSDEMO namespace that will connect to an external REST endpoint to send data to this external REST Service.

I also created an http service in Home>Healthshare>Service Registry, under the Service Type: http. I entered the REST endpoint Name, Host, SSL Configuration, and URL.

0 1
0 660

I'm trying to create asynchronous Ensemble service/operation pair for SOAP passthrough.

General configuration:

  • Ensemble Service receives a message and immediately returns an answer to a caller (message received or some error)
  • Ensemble Service asynchronously calls Business Operation
  • Business Operation does guaranteed message delivery, etc.

Is it a viable approach?

Any tips? Ideas? Caveats? Code?

Seems like I can sublass EnsLib.SOAP.GenericService and change Sync to ASync (and provide a default reply immediately).

0 3
0 730

Hi guys,

I have a technical question. I have a Ens.BusinessOperation which contains a main method with parameters "In" As Ens.StreamContainer and Output "Out" As Ens.StringContainer. Return type is %Status.
Can this method just do "Quit $$$OK"?.
Currently this BO is used for see messages in Full Trace View.
It is a correct way to proceed?

Thank you

0 2
0 466
Question
· Jun 29, 2018
DICOM Operation

I'm trying to add an Operation to store DICOM files but each time I add a Operation using the class EnsLib.DICOM.Operation.TCP it reverts into Services and I cannot work out why this is happening. I've tried following the guide online (link at the bottom) but the Operation still reverts to a Service.

Any pointers would be appreciated,

Thank you.

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

0 1
0 356

Hi All,

I created a Business Operation to Integrate with Amazon S3.
I have used HTTP Outbound Adapter for the same. Used Get method of Adapter Class.
Basically in a request I want to send Unique File Name and File and in Response I want to get Version ID and if operation was successful, then set flag to true.

I have created a class for request in that I have two properties, as shown Below :

Property fileName As %String;
Property file As %GlobalBinaryStream;

This is in my Operation Class

0 8
1 1K
Question
· Jun 1, 2022
Cache Query for HL7 NACK

I would like to capture any NACK's that is sent back to the Operation. The Operation is already setup to "Save Replies/IndexNotOK's", but I would like to see if we can query Cache and pull those NACK's into an extract.

Is this possible?

Thanks

Scott

0 4
0 289