Activity missing while running robot from Orchestrator

Hello team, I am dealing with an issue while trying to run the job from the orchestrator.

Scenario:

Having 3 machines.

One with the Studio community version installed (2018.3.1) where I published the package with a workflow and manually uploaded to the second machine with Orchestrator installed (2018.2.3). On a third machine I have unattended robot installed (2018.2.3).

While I am trying to run the job from the Orchestrator on Machine 2, robot in a Machine 3 starts the job (I can see the user is logged in) but after in the orchestrator I see the error message bellow:

“Execution error : System.Xaml.XamlObjectWriterException: Cannot create unknown type ‘{http://schemas.microsoft.com/netfx/2009/xaml/activities}OutArgument({http://schemas.uipath.com/workflow/activities}DatabaseConnection)’.\r\n at System.Xaml.XamlObjectWriter.WriteStartObject(XamlType xamlType)\r\n at System.Xaml.XamlWriter.WriteNode(XamlReader reader)\r\n at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter)\r\n at System.Activities.XamlIntegration.FuncFactory1.Evaluate()\r\n at System.Activities.DynamicActivity.OnInternalCacheMetadata(Boolean createEmptyBindings)\r\n at System.Activities.Activity.InternalCacheMetadata(Boolean createEmptyBindings, IList1& validationErrors)\r\n at System.Activities.ActivityUtilities.ProcessActivity(ChildActivity childActivity, ChildActivity& nextActivity, Stack1& activitiesRemaining, ActivityCallStack parentChain, IList1& validationErrors, ProcessActivityTreeOptions options, ProcessActivityCallback callback)\r\n at System.Activities.ActivityUtilities.ProcessActivityTreeCore(ChildActivity currentActivity, ActivityCallStack parentChain, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList1& validationErrors)\r\n at System.Activities.ActivityUtilities.CacheRootMetadata(Activity activity, LocationReferenceEnvironment hostEnvironment, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList1& validationErrors)\r\n at System.Activities.Hosting.WorkflowInstance.ValidateWorkflow(WorkflowInstanceExtensionManager extensionManager)\r\n at System.Activities.Hosting.WorkflowInstance.RegisterExtensionManager(WorkflowInstanceExtensionManager extensionManager)\r\n at System.Activities.WorkflowApplication.EnsureInitialized()\r\n at System.Activities.WorkflowApplication.Enqueue(InstanceOperation operation, Boolean push)\r\n at System.Activities.WorkflowApplication.SimpleOperationAsyncResult.Run(TimeSpan timeout)\r\n at System.Activities.WorkflowApplication.BeginRun(AsyncCallback callback, Object state)\r\n at UiPath.Executor.RobotRunner.<>c__DisplayClass54_0.b__0()”

I tried to resolve by following steps in Orchestrator etc.
The problem I think might be causing this issue is that while I am having a robot connected to the Orchestrator, it is supposed to get all the activities by itself (also checked the config on orchestrator server, seems fine).

So the question is, why the activity could not be performed by a robot, while I am having an Orchestrator connection?

Thanks in advance,
Eduard.

Hi,
This is because flows created with 18.3.1 cannot run on 18.2.3.
Most likely it’s because of theUiPath.UiAutomation and Ui.System dependencies. These the probably used as dependencies in the flow you created, but 18.2.3 robot cannot resolve/run with them.

What you can do is:
-Create the flow with 18.2.3 Studio
OR
-Take 18.3 msi that came out yesterday and upgrade your 18.2.3 unattended robot installation

Hope this helps,
-Andrei

Hi @andreiT thanks for your reply.

I did install the new msi 18.3 in the Orchestrator machine and Robot machine, but seems that it didn´t fix the issue. Do you have any other tips? Thanks.

Eduard

Right, now it seems that it’s a problem about robot feed.
Lets start by looking at the Studio feed that you created the flow with.

  1. So please go to the machine where you had 18.3 community and look in the
    %appdata%\NuGet\NuGet.Config file. This should contain the custom feeds that the Studio was using.
    2.Next, go to the unattended robot feed. This can be found in the installation folder, in NuGet.Config file. If you say you have msi, the path should be
    C:\Program Files (x86)\UiPath\Studio\NuGet.Config
  2. Compare the nuget config from step 1 with the nuget.config from step2. If there is anything missing from step2 that is found in step1, please add it.
    No need to add anything into nuget.config from step1.
  3. Restart UiRobotSvc (important)
  4. Try again

If this doesn’t work. can you please send the the event viewer log?
The steps to retrieve it are the following

  1. Press windows key - type Event Viewer
  2. Open Event Viewer and go to Windows Log > Application and press Clear Log (we do this to have only the relevant information, nothing else)
  3. Open a cmd, go to robot installation folder and type UiRobot.exe --enableLowLevel (this will enable additional logging for the robot in event viewer)
  4. Try to start the job from tray or Orchestrator again
  5. After it fails, go to Event viewer again, Refresh and then Save All Events as …
  6. Send me the resulting .evtx file (you can send it in private message if you wish)

I’ll take a look at it and see if I can spot the problem.

1 Like

I received you evtx, thank you.
The problem is quite straightforward:

Your flow was created (among others) with:
UiPath.UIAutomation.Activities v.18.3.6848.19335 and
UiPath.System.Activities v.18.3.6848.19314

and your dependency rule to these packages was strict meaning the robot will either run with these exact 2 dependencies, or will fail.
Unfortunately, these 2 dependencies are only found on the beta feed, that the enterprise robot does not know, so naturally it will fail.
This happened because you most likely used beta version when creating that flow AND used strict dependency rule. Is that correct?

Fortunately There are 3 ways you can fix this:

  1. Tell the robot to use that beta feed:
    Go to the nuget feed (C:\Program Files (x86)\UiPath\Studio\NuGet.Config) of the robot that fails and add the following line with the beta feed:
    < add key=“BetaFeed” value=“https://www.myget.org/F/uipath/” />

(remove the space betweer < and a, this forum cannot display these 2 letter together)

Restart robot service and try again

2.You can take these 2 dependencies and manually upload them to your Orchestrator. This can be done only on a enterprise orchestrator, as our platform.uipath.com does not currently support upload of libraries:
Steps:
-go to the machine where you created the flow from, to the installation folder \ app \Packages folder (for my version of community is %localappdata%l\UiPath\app-18.3.0\packages). It should look like this:
image
-take the 2 packages and manually upload them to your Orchestrator using the Libraries page using the button from the right side corner:


-try again to run flow

  1. Open flow in 18.3.0 MSI Studio, click repair on the dependencies with problems, publish it again and then make sure your environments/robots all use this new versions
3 Likes

I followed the third step and it works great.
Thank you for your time and advice and have a good one.
Eduard.

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.