#Business Operation

0 Followers · 255 Posts

InterSystems Ensemble provides specialized business operation classes that use specific outbound adapters to communicate with external systems and UI.

Documentation.

Question Arun Madhan · Oct 29, 2018

HealShare 2017

Hi dev community,

I am currently  working on an interface that needs to communicate to a SOAP/ITK endpoint.

I am using the EnsLib.ITK.AdapterKit.Operation.SOAPOperation to interface with an ITK 
service, but it is proving to be more complex than originally expected to set up the web client 
against that particular end-point since I haven't been provided with a WSDL from ITK service side as 
the vendor state they are following the ITK standard and no WSDLs are needed.

1
0 375
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.

5
0 2781
Question Mauri Kaatrasalo · Oct 10, 2018

Hi!

We would like to retry message so that it's restored to end of operation's queue. This is in situation where order of messages is not needed to be handled by Ensemble, there is version number in message data and receiving application can ignore incoming message if necessary.

We would try to send message until it's accepted (or manually suspended), but this should not block operation's queue.

We have already this in actions:

D - Disable the Operation, log an error and restore the message to the front of the Operation's queue.

Would be nice to have one like this:

1
0 964
Question Warren Grob · Sep 10, 2018

I am having an issue with the output file format on a production where quotes (" ") around column values are being removed from the imported file.  For example, my input file is a csv formatted as such: "123", " ", "ABC".  The output file format that is being generated produces: 123, , ABC.  I need the output file to retain the quotes around the data.

Is this something that can be corrected in the record map?  Or is it an issue elsewhere?

3
1 460
Question Herb Salgado · Sep 13, 2018

Hello,

I am trying to send a HL7 Billing Batch 2.3:FHS file out to an FTP site:

The file needs to be  in Variable Length / Carriage return carriage control format--  

 When I send the file, the format is Fixed Length 512 Byte Record-- Not Working

The data is ok within the file-- It is just the way I am sending it out of Ensemble that is not correct.

I am thinking that it is a setting within the Operation that I am missing or not choosing correctly.

Charset-AsciiCR

Separators -|^~\&\r

Default Char Encoding: Binary

I appreciate the help,

Herb

Record format:      Fixed length 512 byte records

2
0 362
Question Thomas Kotze · Sep 11, 2018

Hi, 
Connections/ SOAP Operations to 3rd Parties can hold some challenges like the 3rd party changes it 's structures/ WSDL  and returns an additional property in a SOAP response. So I have tried to implement the XMLIGNOREINVALIDTAG in the proxy SOAP response structures , but in Ensemble this seems to get ignored.

Are there any good suggestions on how to handle this an ideal would have been that the other party inform you of changes before hand....

Or we can ignore the tags, and inform the operations of such problems but the rest of the response message is valid and could be processed

Best regards

1
0 438
Article Stuart Peters · Jan 27, 2017 2m read

Below is a simple alert processor based on the EnsLib.HTTP.OutboundAdapter  to send text alerts via an SMS Gateway service. Typically, all that is needed to send an HTTP Post to the gateway service is the destination phone number, a source phone number, credentials, and the URL.

The code below is based on the Anveo gateway whose interface is as follows:

Class Hospital.TextMessageAlert Extends Ens.BusinessOperation
{
Parameter ADAPTER = "EnsLib.HTTP.OutboundAdapter";
Property Adapter As EnsLib.HTTP.OutboundAdapter;
Parameter INVOCATION = "Queue";

 

5
2 2142
Question Andrew Makinson · Sep 3, 2018

In a EnsLib.REST.Operation I have...

Set tSC=..Adapter.Post(.tHttpResponse,,pRequest.stream)

This sends JSON string over HTTP

I am getting this error back from the server

ErrHTTPStatus: Received non-OK status 415 from remote HTTP server: 'HTTP/1.1 415 Unsupported Media Type'

I have been told that the media type should be "JSON"

how do I go about changing the media-type of the HTTP Request?

1
0 1226
Question David.Satorres6134 · Jun 14, 2018

Hi,

I'm getting mad trying to get data from an external REST service that uses Basic Authentication from Ensemble. The BO worked fine when I was using a test server without authentification, but as soon as we need to go to production I cannot have it working.

So far, I've created the username/password at the credentials page (Ensemble-Configure-Credentials). I've setup the BO to use this credentials. But nothing happens.

I've tried with the Rest Client (addon for Mozilla), and using the same address, port and user/pwd works just fine.

8
0 1867
Question Sergio Vidal · Jul 20, 2018

Hi,

I have a question related with EnsLib.SQL.OutboundAdapter adapter.

Is there a way to open an oracle transaction and do either commit or rollback depending on the query result?

Is posible to keep open an oracle transaction to execute a lot of queries on different methods on the same business operation and do a commit when the business process finished?

Thanks and Best Regards

Sergio Vidal

4
0 395
Question Ewan Whyte · Jun 29, 2018

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?KE…

1
0 375
Question Thembelani Mlalazi · Jun 22, 2018

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

11
0 959
Question Guillaume Lepretre · Jun 20, 2018

Hello,

I used the operation : EnsLib.EMail.AlertOperation to send mail to handle error. However, I want to get more information about the error (session ID message, the date, the namespace... etc).

what is the best way to do it?

I tried to add informations in OnAlertRequest method as below but I need to change mail operation from all namespaces...

4
0 605
Question Scott Roth · Jun 14, 2018

I have several stored procedures that when I execute them they will only return a single snapshot. In my BP I have been setting this to a Snapshot variable then looping using a WHILE through the snapshot variable just to get that single value.

Since it is only a single row, is there an easier way where I don't have to do a WHILE loop to pull the values out of that row? Can I call First Row or something like that to get me just the row into the Snapshot variable?

1
0 495
Question Bharathsimha Reddy Jakka · May 21, 2018

Routing Rule Usage -

Can we use Functions and Methods with multiple parameters and refer objects by reference as parameters inside Routing rule ?

How do we handle DB related workflows in Business Rules ?
How can we perform Response object based handling in Business Rules ?
Can we try by extending methods with Ens.Util.FunctionSet and pass in the Context object from the rule as a parameter for certain functions ? 
Can we split the Business Operations into methods that can be used from the routing rules and create the message route request flow ?

1
0 557
Question Thembelani Mlalazi · Apr 26, 2018

I am using the EnsLib.RecordMap.Operation.BatchFileOperation to write a batch to a file but for some reason this has been working fine as of yesterday I had a problem with the cache databases filling up running out of memory so had to compact my database and gain space now when I run the operation I get the above error  .Of course in my batch table there is no batch record with ID 1.The message is passed with the correct header information but still get this error any suggestions why?

3
0 1056
Question Bob Felbol · Apr 20, 2018

Hi

Made a request for API REST.

Using HTTP Request adapter.

Adapter As EnsLib.HTTP.OutboundAdapter

Outside the Ensemble an API response is JSON (CORRECT)

Answer in Ensemble: =?Á
Â0 
?_eä,cÒ
'=
*^<YÙF¡í$í¼ÈÞÝt 
oÉ÷ý$?|
¤1¡{Dâhà°Ý?Öù)2ós??R?¸¼?ºd?$,ñD+»??

ÔºQZéýNÕ V{C?óò?b¢?éÍ )$ 
²5Å?wEë? ??©tÖã1z×2FëÊnôeË æ??]Zßq ܺ?á

Help me.

Thank you

8
0 561
Question Peter Branagan · Apr 10, 2018

Hi All,I have a line of mumps code that creates a folder on a network shared drive.Example:d ##class($Library.File).CreateDirectory("\\share\folder\newfolder")If I run this line of code from a cache terminal window it works fine and creates the folder without problems.However If I create a very simple business operation in a production in the same namespace that simply runs this one line of code then the code fails.Anybody encountered this issue in the past and If so how did you overcome the problem. Google'd it a bit and someone suggested it might be how my username is assigned to the

4
0 1787
Question Thembelani Mlalazi · Mar 13, 2018

Hi guys have an operation that I would like to write the results from the results set to a csv file but have been struggling to get it to work here is my code so far and also here is the error that I get when I try to test this operation using the testing on the ensemble

error:

An error was received : ERROR <Ens>ErrException: <COMMAND>zMessageHandler+6^DQTools.DQTOpp.1 -- logged as '-' number - @' Set tSC=..CheckRequests(.pRequest,.pResponse)'
 
code:
8
0 613
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 1106
Question Jorge Manuel García Benítez · Jan 25, 2018

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

2
0 491
Question Scott Roth · Jan 12, 2018

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.

3
0 505