Proxy blocking Orchestrator

orchestrator
connection

#1

Scenario: Studio fails to connect to robot in Orchestrator

Studio/Robot/Orchestrator Version: 2016.2.6379

Last stable behavior:
Last stable version:
OS Version: Windows 7
Others if Relevant: (workflow, logs, .net version, service pack, etc):

I’m getting a connection error when trying to connect my Studio with a robot in the Orchestrator. I am successful to connect it if a jump over the proxy with a direct line, however, that can’t be a definitive solution.
Is there a way to configure UiPath to make it possible to work through the proxy?
Thank you.


Can not connect to Orchestrator from environment requiring proxy authentication
#2

Hello,

On the robot machine, open Internet Explorer → go to Internet Options → Connections → LAN settings. Add the proxy server and port (i think that you already done this). You should be able to open Orchestrator server from the robot machine.
Afterwards go to UiPath installation folder and search for UiRobot.exe.config. Open it and go to the bottom of the settings file and add/change following under <configuration> tag

<configuration>
<system.net>  
    <defaultProxy>  
      <proxy  
        usesystemdefault="true"  
        proxyaddress="http://proxy_server:proxy_port"  
        bypassonlocal="true"  
      />  
    </defaultProxy>  
  </system.net>  
</configuration>

In C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\NuGet\NuGet.config (create this file if it doesn’t exist), add the following section, in the node:

<configuration>
<config>
<add key="http_proxy" value="http://proxy-gw-2012.deskover.local:808" />
</config>
</configuration>

Restart robot service

Let me know if this is working for you.
Thanks,
Cosmin


Deployment Issue from UiPath Studio to Orchestrator 2017.1
#3

Hi Cosmin,

I’ve just tried your instruction and it fails when restarting the service. I’m sending you all the code from the first step. I checked restarting the service undoing the changes of the first step, and leaving the changes on the second step and it worked.

So the code of the UiRobot.exe.config file is:

<?xml version="1.0" encoding="utf-8"?>
    <configuration>
     <system.net> 
      <defaultProxy> 
      <proxy
            usesystemdefault="true" 
            proxyaddress="10.5.5.55:8080" 
            bypassonlocal="true" 
          /> 
        </defaultProxy> 
      </system.net>
      <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <section name="UiPath.Robot.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
          <section name="Robot.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
      </configSections>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
      </startup>
      <system.serviceModel>
        <services>
          <service behaviorConfiguration="UiPathRemoteBehaviour" name="UiPath.Broker.UiPathRemote">
            <!--Standard Service-->
            <endpoint address="net.pipe://localhost/UiPath/service/agent" binding="netNamedPipeBinding" bindingConfiguration="UiPathRemoteBinding" name="DefaultStandardEndpoint" contract="UiPath.Models.IUiPathRemoteContract">
              <identity>
                <dns value="localhost" />
              </identity>
            </endpoint>
            <endpoint address="net.pipe://localhost/UiPath/service/MEX" binding="mexNamedPipeBinding" contract="IMetadataExchange" />
            <!--Duplex Service-->
            <endpoint address="net.pipe://localhost/UiPath/service/duplex/agent" binding="netNamedPipeBinding" bindingConfiguration="UiPathRemoteBinding" name="DefaultDuplexEndpoint" contract="UiPath.Models.IUiPathRemoteDuplexContract">
              <identity>
                <dns value="localhost" />
              </identity>
            </endpoint>
            <endpoint address="net.pipe://localhost/UiPath/service/duplex/MEX" binding="mexNamedPipeBinding" contract="IMetadataExchange" />
            <!-- Enable this for UiPath REST API-->
            <!--<endpoint name="RestEndpoint" address="http://127.0.0.1:8080/UiPath/service/agent" binding="webHttpBinding" bindingConfiguration="WebHttpBinding_IRemoteContract" contract="UiPath.Models.IUiPathRemoteContract" behaviorConfiguration="RestEndpointBehaviour" />
            <endpoint address="http://127.0.0.1:8080/UiPath/service/agent/mex" binding="mexHttpBinding" contract="IMetadataExchange" />-->
          </service>
          <!--Executor Service-->
          <service behaviorConfiguration="ExecutorServiceBehaviour" name="UiPath.Broker.ExecutorService">
            <endpoint address="net.pipe://localhost/UiPath/service/executor" binding="netNamedPipeBinding" name="ExecutorEndpoint" contract="UiPath.Models.IExecutorContract">
              <identity>
                <dns value="localhost" />
              </identity>
            </endpoint>
          </service>

          <service name="UiPath.Service.LogReceiverServer">
            <endpoint address="net.pipe://localhost/UiPath/service/logging" binding="netNamedPipeBinding" name="LoggingEndpoint" contract="NLog.LogReceiverService.ILogReceiverServer">
              <identity>
                <dns value="localhost" />
              </identity>
            </endpoint>
          </service>
        </services>
        <!--Monitoring webservice-->
        <client>
          <!--On premise Monitoring endpoint-->
          <!--<endpoint name="MonitoringEndpoint" address="" binding="basicHttpBinding" bindingConfiguration="httpMonitor" contract="MonitoringService.IMonitoringService" />-->
          <!--Cloud Monitoring endpoint-->
          <!--<endpoint name="MonitoringEndpoint" address=""
                    binding="basicHttpBinding" contract="MonitoringService.IMonitoringService" bindingConfiguration="MonitoringBindingConfig"/>-->
        </client>
        <bindings>
          <netNamedPipeBinding>
            <binding name="UiPathRemoteBinding" receiveTimeout="00:10:00" sendTimeout="00:10:00" />
          </netNamedPipeBinding>
          <basicHttpBinding>
            <binding name="httpMonitor" maxReceivedMessageSize="1048576" openTimeout="00:10:00" closeTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="00:10:00">
              <security mode="None">
                <transport clientCredentialType="None" />
              </security>
            </binding>
          </basicHttpBinding>
          <webHttpBinding>
            <binding name="WebHttpBinding_IRemoteContract" />
          </webHttpBinding>
        </bindings>
        <behaviors>
          <serviceBehaviors>
            <behavior name="UiPathRemoteBehaviour">
              <serviceDebug includeExceptionDetailInFaults="True" />
              <serviceMetadata />
            </behavior>
            <behavior name="ExecutorServiceBehaviour">
              <serviceDebug includeExceptionDetailInFaults="True" />
            </behavior>
          </serviceBehaviors>
          <endpointBehaviors>
            <behavior name="RestEndpointBehaviour">
              <webHttp />
            </behavior>
          </endpointBehaviors>
        </behaviors>
      </system.serviceModel>
      <applicationSettings>
        <UiPath.Robot.Properties.Settings>
          <setting name="HeartbeatTimeout" serializeAs="String">
            <value>30000</value>
          </setting>
        </UiPath.Robot.Properties.Settings>
      </applicationSettings>
      <!--Robot Info-->
      <appSettings>
        <add key="TopicName" value="" />
        <add key="ShouldStop" value="false" />
        <add key="ODataServicesBaseAddress" value="" />
      </appSettings>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-1.2.15.0" newVersion="1.2.15.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.TeamFoundation.Client" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.TeamFoundation.ProjectManagement" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.TeamFoundation.Common" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.TeamFoundation.WorkItemTracking.Client" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.TeamFoundation.TestManagement.Client" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.TeamFoundation.WorkItemTracking.Proxy" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.TeamFoundation.DeleteTeamProject" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
      <system.diagnostics>
        <sources>
          <source name="Execution" switchValue="All">
            <listeners>
              <add name="*" type="NLog.NLogTraceListener, NLog" />
            </listeners>
          </source>
          <source name="Workflow" switchValue="All">
            <listeners>
              <add name="Workflow" type="UiPath.Executor.Logging.ExecutionTraceListener, UiPath.Executor" />
            </listeners>
          </source>
          <source name="Internal" switchValue="All">
            <listeners>
              <add name="*" type="NLog.NLogTraceListener, NLog" />
            </listeners>
          </source>
        </sources>
      </system.diagnostics>
    </configuration>

Please, let me know what am I doing wrong.


#4

Hi,

At first sight config files seems correct, but the fact that robot service is not starting means that config is not correct. Maybe you could have a look in the event viewer to see if any errors and recheck the config file.
In newer versions of UiStudio, the config file already has the proxy section:

image

Thanks,
Cosmin


#5

Hi,

I am able to either connect with Orchestrator through Proxy being added in Config file

or

able to run SOAP request.

Is there a config file which facilitates both connection to Orchestrator and runs SOAP request?

Thanks,
Vyshali C R


#6

I tried this way but still not luck. :frowning:

Help me, I am doing POC with my customer.