Ensemble

Syndicate content 72 

I'm using %SOAP.WebRequest to send SOAP requests:

  1. Populate %SOAP.WebRequest object (by setting Request and HeadersOut properties)
  2. Call SendSOAPBody method to send request

Currently the XML I send looks like this:

<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>
  <SOAP-ENV:Header>
<SomeCustomHeader/>  </SOAP-ENV:Header>
  <SOAP-ENV:Body><SomeCustomBody/></SOAP-ENV:Body>
</SOAP-ENV:Envelope>

However, I want XML to be generated differently:

  • No new lines
  • No whitespaces between <SomeCustomHeader/> and </SOAP-ENV:Header>

 

How can I tweak XML generation to achieve that?

Last answer 14 June 2017 Last comment 14 June 2017
0   0 5
283

views

0

rating

I have a case where I am creating a PDF file from an Encoded String, and I need to transfer this file over to another server. I was wondering since this is PDF file if I could just invoke the FTP.OutboundAdapter within my Object script that is creating the PDF from the encoded string. Is this possible? Does anyone have an examples of using EnsLib.FTP.OutboundAdpater within their Object Script?

Thanks

Scott Roth

Integration - Interfaces

The Ohio State University Wexner Medical Center

Last answer 9 June 2017 Last comment 12 June 2017
0   0 2
271

views

0

rating

DTL Transformations and GetValueAt/SetValueAt calls on HL7 messages will truncate any fields longer than 32K.  To avoid this, the methods GetFieldStreamRaw and StoreFieldStreamRaw must be used when dealing with fields that might be larger than 32K.  OBX:5 is a frequent example.  These methods have some subtleties and must be used carefully.

This can't be done by simply dragging from left to right in a DTL.  It must be done with a code action.  Also, the StoreFieldStreamRaw call must be the last edit made to the segment because the segment becomes immutable after that.

Last comment 10 June 2017
+ 8   1 8
772

views

+ 8

rating

Dear All,

I’m having trouble creating the following business service.  It’s intention is to pick up an CSV via FTP and pass it to a Business process that transforms it to a HL7 message.

I have created a record map for the CSV file, which I am trying to call in the business service and parse it into a new message class, which can be transformed in the business process.

Please could you advise:

Business Service:

Last answer 25 May 2017 Last comment 8 June 2017
0   0 2
269

views

0

rating

Hi,

I've built a custom HL7 searchtable, but wish to remove some of the items.

I've removed the items I no longer wish to index recompiled the custom searchtable, however the previous searchtable values are available when searching messages in the namespace.

Do I need to rebuild the index for this searchtable to purge searching the old values?

I have stop and started the production.

Regards

Stuart

 

Last answer 8 June 2017
0   0 2
0

comments

170

views

0

rating

Hi,

 

Can you please help me to know if there is any performance testing tool for Ensemble production.

Requirement is  : I need to track the time consumed for conversion of message in BP , from the time the service picked the file from "In " folder and gives the response output file in "Out" folder.

 

 

Thanks ,

Shobha

Last answer 5 June 2017 Last comment 8 June 2017
0   0 0
328

views

0

rating

We have a service that sends XML message. During unit test, I tried to resend the message with following scenario:

(1) If I leave the content blank, the original message will be resent in the ContentStream;

(2) If I post a new XML message, the new XML will be sent in the Content, the original message will be resent in the ContentStream;

Last answer 7 June 2017
0   0 0
0

comments

244

views

0

rating

 I ike to create schema independent DTL to add FTS segment  to the end of a message. The problem that I see if do I need to loop each segment  to find the last segment ? Or is there a better way to do this?

ClassMethod Transform(source As %RegisteredObject, target As %RegisteredObject) As %Status
{

     set target=source.%ConstructClone(1)
     set FTSseg= "FTS||End Of File|"

 


ERROR
    quit sc
}
 

Last answer 6 June 2017
0   0 2
0

comments

211

views

0

rating

Hi,

We are trying  to feed in HTTP request & get HTTP Response in ensemble production.

From the below link  we got the code for HTTP Request/Response Example. while executing the code we are getting following error: "ERROR <Ens>ErrFailureTimeout: FailureTimeout of 30 seconds exceeded in Test.HTTP.Operation; status from last attempt was ERROR #5922: Timed out waiting for response​"

Last answer 1 June 2017 Last comment 6 June 2017
0   0 3
388

views

0

rating

Hi,

I am trying to generate a custom error-code using the following code

Class ISG.CommonBilling.Service.Test1 Extends EnsLib.HL7.Operation.TCPOperation
{
    ClassMethod khalid() As %Status
    {
        Set tSC=$$$ERROR("10001","I am here")
        write $$$GETERRORCODE(tSC)_$char(13,10)
        write $SYSTEM.Status.GetErrorText(tSC)
    }
}

And here is the output:

Last answer 2 June 2017 Last comment 2 June 2017
0   0 5
631

views

0

rating

Hello, I am writing some cache code that will pick up a PDF file, Base64 encode the contents and then send on to a third party system within a Long String (via their API). I have been testing this and discovered that the PDFs do not open within the supplier system (I get an error saying that it hasn't been decoded correctly). I wanted to prove that the issue does not lie with the way that I have Base64 encoded it within Ensemble, and therefore as a test wanted to Encode the PDF stream, then decode the stream and write out to a new file.

Last answer 2 June 2017 Last comment 2 June 2017
0   0 6
1962

views

0

rating

I'm doing a REST service. A method has as body parameter a JSON corresponding to a class A.

In my production I have class A so that I retrieve the parameters using a dynamic object, such that:

Set body = ##class(%DynamicObject).%FromJSON(%request.Content)
Set myObjectA = ##class(A).%New()
Set myObjectA.Id = body.Id
Set myObjectA.Name = body.Name
Set myObjectA.Date = body.Date
Set myObjectA.Salary = body.Salary

I would like to know if I can avoid doing the manual mapping, doing a casting, since I am sure that FromJSON will return a class A. Something like this:

Last answer 1 June 2017 Last comment 2 June 2017
0   0 0
419

views

0

rating

Hi, Community!

Please find the Developer Community video of the week: Human Decision as a Part of Workflow.

This video is a session from Global Summit 2016 which describes:

  • The needs of human decision in workflow
  • Human workflow and InterSystems Ensemble
  • Ensemble Workflow API

Enjoy and stay tuned with Developer Community YouTube Channel.

Last comment 1 June 2017
0   0 3
111

views

0

rating

Hi,

I am facing an issue after upgrading from Ensemble version 2015.1 to 2017.1. On 2015.1, I was testing a Rest operation using a https mock-server. But now on 2017.1, the same Rest operation throws me the following exception on testing...

Last answer 31 May 2017 Last comment 31 May 2017
0   0 5
257

views

0

rating

I have a case where I have a SIU message that has multiple RGSgrp's. I am writting the first RGSgrp fine, but when it comes to the additional RGSgrp's, I want the ability to look at the Target SIU message and see if the value exists.  If the AIG.3 already exists in the Target message I want to stop the looping and not write out the data.

 

Can anyone suggest a way to do this? Is there a way in a DTL to build a list or temp lookup table to see if something exists?

 

Thanks

Scott Roth

Integration - Interfaces

Last answer 30 May 2017
0   0 1
0

comments

181

views

0

rating

InterSystems is pleased to announce the availability of the following maintenance releases:

  • Caché and Ensemble 2017.1.1
  • HealthShare Health Connect v15.021 on core technology 2017.1.1

Caché and Ensemble are available on the same platforms as 2017.1.0, except as noted below

0   0 1
0

comments

277

views

0

rating

Hi,

I have created a Business Service which uses the EnsLib.File.InboundAdapter. This service will call a business service which will create an acknowledgement file in a directory specified in the operation after loading the parsed file into some temporary tables.

In order to create the acknowledgement file, I need the original file name. In the OnProcessInput of the service, it receives a stream of file data, and I can't find a way to get hold of the file name.

Any advice will be appreciated, thank you.

Last answer 24 May 2017 Last comment 24 May 2017
0   0 2
550

views

0

rating

Consider the below scenario:

1. HL7 Service -> Process

2. DTL makes a call to a webservice (Post) via a REST operation via SendRequestSync call.

        a. if the post is successful, end the DTL

        b. if the server that hosts the webservice is down, i would like to keep retrying with the same message and not lose any messages in the queue.

does a simple "quit 0" at the DTL will  rollback the message and will retry? please let me know how not to lose any messages if the webservice server is down.

Appreciate it.

Last answer 23 May 2017 Last comment 12 May 2017
0   0 2
224

views

0

rating