Skip to main content

Hello,

I've been asked to create a demo of Microsoft Power Automate Desktop (PAD) and Rumba. 

I can open a terminal session within PAD  using C:\\Program Files (x86)\\Micro Focus\\RUMBA\\System\\ehlapi32.Dll

After that, nothing seems to occur.

Any pointers to documentation, etc. would be greatly appreciated.

Thanks!

Todd


#Rumba

Hello,

I've been asked to create a demo of Microsoft Power Automate Desktop (PAD) and Rumba. 

I can open a terminal session within PAD  using C:\\Program Files (x86)\\Micro Focus\\RUMBA\\System\\ehlapi32.Dll

After that, nothing seems to occur.

Any pointers to documentation, etc. would be greatly appreciated.

Thanks!

Todd


#Rumba

Hi Todd,
PAD is using the the hllapi interface for the communction.
For a succeessful comunicatin between PAD and RUMBA please make sure:

1. Your Rumba Session must have a Session short Name assignment. (Please check under Option -> API)
     In the screenshot below you see I'm using the HLLAPI short name ( SessionName) :X
2. Before starting the  subflow "Open terminal " please make sure RUMBA is started and connected to your Host system.




Are you receiving a Error Message in PAD ?
What RUMBA Version and Operating system are you using?

regards


Hi Todd,
PAD is using the the hllapi interface for the communction.
For a succeessful comunicatin between PAD and RUMBA please make sure:

1. Your Rumba Session must have a Session short Name assignment. (Please check under Option -> API)
     In the screenshot below you see I'm using the HLLAPI short name ( SessionName) :X
2. Before starting the  subflow "Open terminal " please make sure RUMBA is started and connected to your Host system.




Are you receiving a Error Message in PAD ?
What RUMBA Version and Operating system are you using?

regards

Thanks for the the pointers. I had already configured the Short Name and I ensure that I've logged into the Host and siting on the correct screen prior to running the flow. 

Rumba version = 8.1.0

Windows 10 build 19042.1526

Error occurs with command "Get Text from Terminal Session"

PAD Error = Error communicating with the emulator 

Get the text from a specific position. Error will occur.

TerminalEmulation.GetTextFromTerminalSession.GetTextFromPosition Session: TerminalSession TextLength: 15 Row: 12 Column: 2 Text=> TerminalText

However, if I get the text of the Entire Screen...no error occurs

TerminalEmulation.GetTextFromTerminalSession.GetTextFromScreen Session: TerminalSession Text=> TerminalText

FULL ERROR LISTING

Microsoft.Flow.RPA.Desktop.Modules.SDK.ActionException: Error communicating with the emulator ---> System.ServiceModel.FaultException`1[Microsoft.Flow.RPA.Desktop.Robin.Shared.Runtime.TerminalEmulationActionException]: The creator of this fault did not specify a Reason.

Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.Flow.RPA.Desktop.Robin.Shared.Runtime.BridgesInterfaces.ITerminalEmulationActions.GetTextFromSpecificPosition(Int32 row, Int32 column, Int32 length)
at Microsoft.Flow.RPA.Desktop.Modules.TerminalEmulation.Actions.TerminalEmulationActions.GetTextFromTerminalSession(Variant session, Variant length, Variant label, Variant index, Variant row, Variant column, Variant& text, Int32 getTextFrom, Int32 getFieldBy)
--- End of inner exception stack trace ---
at Microsoft.Flow.RPA.Desktop.Modules.TerminalEmulation.Actions.GetTextFromTerminalSession.Execute(ActionContext context)
at Microsoft.Flow.RPA.Desktop.Robin.Engine.Execution.ActionRunner.Run(IActionStatement statement, Dictionary`2 inputArguments, Dictionary`2 outputArguments)


Thanks for the the pointers. I had already configured the Short Name and I ensure that I've logged into the Host and siting on the correct screen prior to running the flow. 

Rumba version = 8.1.0

Windows 10 build 19042.1526

Error occurs with command "Get Text from Terminal Session"

PAD Error = Error communicating with the emulator 

Get the text from a specific position. Error will occur.

TerminalEmulation.GetTextFromTerminalSession.GetTextFromPosition Session: TerminalSession TextLength: 15 Row: 12 Column: 2 Text=> TerminalText

However, if I get the text of the Entire Screen...no error occurs

TerminalEmulation.GetTextFromTerminalSession.GetTextFromScreen Session: TerminalSession Text=> TerminalText

FULL ERROR LISTING

Microsoft.Flow.RPA.Desktop.Modules.SDK.ActionException: Error communicating with the emulator ---> System.ServiceModel.FaultException`1[Microsoft.Flow.RPA.Desktop.Robin.Shared.Runtime.TerminalEmulationActionException]: The creator of this fault did not specify a Reason.

Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.Flow.RPA.Desktop.Robin.Shared.Runtime.BridgesInterfaces.ITerminalEmulationActions.GetTextFromSpecificPosition(Int32 row, Int32 column, Int32 length)
at Microsoft.Flow.RPA.Desktop.Modules.TerminalEmulation.Actions.TerminalEmulationActions.GetTextFromTerminalSession(Variant session, Variant length, Variant label, Variant index, Variant row, Variant column, Variant& text, Int32 getTextFrom, Int32 getFieldBy)
--- End of inner exception stack trace ---
at Microsoft.Flow.RPA.Desktop.Modules.TerminalEmulation.Actions.GetTextFromTerminalSession.Execute(ActionContext context)
at Microsoft.Flow.RPA.Desktop.Robin.Engine.Execution.ActionRunner.Run(IActionStatement statement, Dictionary`2 inputArguments, Dictionary`2 outputArguments)

I've experimented further and receive this error when I want to simply "Move Cursor on Terminal Session" command. I get error "Position commands aren't supported by the emulator"

Not sure how to proceed.

Microsoft.Flow.RPA.Desktop.Modules.SDK.ActionException: Position commands aren't supported by the emulator
at Microsoft.Flow.RPA.Desktop.Modules.TerminalEmulation.Actions.MoveCursorOnTerminalSession.Execute(ActionContext context)
at Microsoft.Flow.RPA.Desktop.Robin.Engine.Execution.ActionRunner.Run(IActionStatement statement, Dictionary`2 inputArguments, Dictionary`2 outputArguments)


I've experimented further and receive this error when I want to simply "Move Cursor on Terminal Session" command. I get error "Position commands aren't supported by the emulator"

Not sure how to proceed.

Microsoft.Flow.RPA.Desktop.Modules.SDK.ActionException: Position commands aren't supported by the emulator
at Microsoft.Flow.RPA.Desktop.Modules.TerminalEmulation.Actions.MoveCursorOnTerminalSession.Execute(ActionContext context)
at Microsoft.Flow.RPA.Desktop.Robin.Engine.Execution.ActionRunner.Run(IActionStatement statement, Dictionary`2 inputArguments, Dictionary`2 outputArguments)

Hi Todd,

Rumba 8.1 was released in 2010, 5 years before Windows 10 came out. 8.1 has not been supported for many years and has not been tested under Windows 10.

However. I was able to get RUMBA 8.1 and verify the hllapi function in question with an independent test tool.

The hllapi functions in question seem to work correct (see below : HLLAPi-TEST)

  1. Can you please enable under Option -> API -> Configuration -> Classic HLLAPI data structure. Does it make any difference?
  2. You can start a RUMBA Trace to log the hllapi commands to understand what hllapi function are called by PAD . The trace will show the hllapi error code.

Did you connact Microsoft to check if there is any general issue with your Version of PAD ?
It would make sense to open a case with the Micro Focus Rumba support to analyze the issue in your environment.

 

HLLAPI -TEST

HLLAPI Function 8: Copy Presentation Space to String -
This function copies all or part of the currently connected PS to a string allocated in the calling application.

 


Hi Todd,

Rumba 8.1 was released in 2010, 5 years before Windows 10 came out. 8.1 has not been supported for many years and has not been tested under Windows 10.

However. I was able to get RUMBA 8.1 and verify the hllapi function in question with an independent test tool.

The hllapi functions in question seem to work correct (see below : HLLAPi-TEST)

  1. Can you please enable under Option -> API -> Configuration -> Classic HLLAPI data structure. Does it make any difference?
  2. You can start a RUMBA Trace to log the hllapi commands to understand what hllapi function are called by PAD . The trace will show the hllapi error code.

Did you connact Microsoft to check if there is any general issue with your Version of PAD ?
It would make sense to open a case with the Micro Focus Rumba support to analyze the issue in your environment.

 

HLLAPI -TEST

HLLAPI Function 8: Copy Presentation Space to String -
This function copies all or part of the currently connected PS to a string allocated in the calling application.

 

Thanks for the continued testing with me!  I can try the steps you suggested. The microsoft support community doesn't mention rumba, but I can take another look.

I knew that the version 8.1 might be old, but didn't realize how old. So I downloaded the most current version, 10.1 and installed on a new machine I have in a test environment. Unfortunately, I still see the same errors.

I'll continue testing and report back. Thanks again!