A business service is part of InterSystems Ensemble interoperability production which is responsible for accepting requests from external applications.
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.
I was looking at some code of a business service of which the author is unknown. It's very simple in what it does; it extends from Ens.BusinessService and has a method that performs SendRequestSync() to a business process. However, I noticed that the business service lacks an OnProcessInput() method. Rather, it uses a method called General() which has the same sort of signature/structure that OnProcess input does--pInput as [Custom Message Class], Output pOutput as [Custom Response Class].
I'm doing some Schema changes. I used our existing standard schema as a base, which was already based on 2.3. So let's call our existing one Custom.MHC.Schema (based on 2.3). I created Custom.MHC.Schema.Advanced (based on Custom.MHC.Schema) and copied down one of the code tables then made a change to it.
When I ran a message through, the code table change didn't show up. I noticed in the message viewer that the DocType is still Custom.MHC.Schema:ADT_A01 but the DocType Category is Custom.MHC.Schema.Advanced.
I would need to build a Complex Record Map and then transform that into xml. But not the whole batch to one xml file - instead every repetition in that Complex Record Map would become one xml file.
For Simple Record Maps this is easy to do because there are different types of Business Services that handle every record either individually or all of them as one batch but there doesn't seem to be similar options for Complex Record Maps? Instead, there is only batchtype business services.
I have a requirement to periodically poll a URL to fetch some XML data based on a list of query data, lets say every hour, and map what's returned to HL7 then send downstream, I mostly have everything contained within a business process and DTL but I'm lacking a way of invoking the process every X minutes,
The client has a prefence for as much as possible to be done via out of the box components in the standard HL7 model of "Service --> Process/Rule/DTL --> Operation" within the Web UI,
I have a service that uses the EnsLib.SOAP.InboundAdapter, and I seem to be facing an odd problem.
Our clinical document system sent a request which contained a word document in base64, and was presented with the error "ERROR #6253: Datatype validation failed for tag payload (ending at line 1 character 2111). Unexpected tag <ClinicalDocument> found."
I took a look at the word document sent, and found it contained an image which made the document size about 4MB larger than the average document.
We have a scenario where a bad message(With control character in some fields) is coming frequently in our Standard HL7 Business Service.
I do see the process gets shut down because of E=D action code. I also see the service logging an "Warning" about the bad message. But service is not shutting down.
Is there a way to handle this error right at the service to avoid multiple processes going down? Not sure if we can create a task, which audits the service logs every few minutes. But that will involve some coding and checking of time when the errors happens.
Hello, I have a task created in my task manager, calling my Business Service class, and it's working fine. But I need to know the ID of the task, I searched within the class %SYS.Task.Definition and found nothing related.
Hi everyone, I have a SQL service that is working fine, except I don't want it to run on a schedule or continuously. I'd like to only run when requested. Run once and then stop until another request. Is there anyway to set up a service like that?
I have a csv record mapper that reads in a batch and my batch has a header and trailer that changes all the time but it is of fixed length so I override the Get Batch Header method from the simplebatch class to something like below but my problem is when the batch is read in It still tries to bring in another empty batch like the picture below any reason why that is here is my code.The red code is the changes made. After several trace logs it is being called twice first time with the batch [1] and[5]is the second call how can I stop that from happening
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.
We're in the process of creating several courses for creating custom business components for productions. This includes custom business operations, BPL processes, and custom business services. Custom Business Operations and Custom Business Services are both aimed at software developers while BPL processes can be also be created by business analysts. What are some gotchas or best practices you've learned that you wish you knew when first building these components?
We'd love to include what you've learned into these courses so others can learn from them as well!
From time to time we develop an Ensemble Production with simple SQL Inbound data from external databases, we need to develop a few new classes. There are at least:
I have a REST Service that I want it to receive a json string request I have set up my URLMap as follows the top URL when populated and requested works fine but I would like my request to be a json string and that is not working I am getting a 500 error am I missing something please advice.
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?
We have a custom FTP Service , and custom FTP adapter . Customization is just to find a duplicate file and for giving specific dynamic file spec pattern. While running and polling for files, we are getting this error. Could you please help ? What's the issue and how to resolve it ?
ERROR <Ens>ErrFTPListFailed: FTP: Failed List for <FileName> (msg='Cache error in 'readResponse': <READ>zreadResponse+4^%Net.FtpSession.1',code=426)
I am configuring a SOAP HL7 Receiver to handle HL7 Query messages.
I have set up a new class based on EnsLib.SOAP.Service and configured (correctly I hope) the parameters needed. I have also amended the OnProcessInput Method skeleton provide to send messages on to the Business Process needed.
I am struggling to work out what is needed in the Web Methods and how to create them.
Any help with this would be much appreciated especially examples that I can adapt for what I need.