Hexagon Geospatial
MENU

GeoMedia Smart Client

GeoMedia Smart Client community discussion board is where you can create, contribute and share information and knowledge in regards to configuring as well as working with GeoMedia Smart Client. Find your answers, share your knowledge and help build a strong GeoMedia Smart Client community.
Showing results for 
Search instead for 
Do you mean 
Reply
Frequent Contributor
Posts: 151
Registered: ‎11-17-2015

Run GMSC WF with domain account

Hello,

 

We need to store Workflow attached files on a share directory (not on GMSC server).

So we need to create a domain account which have write access on the share and use it to run GMSCWFAppPool.

 

To test it we have created a non administrator account in the server and try to run the WF with this user.

We set the following permissions:

  • ..\GeoMedia SmartClient\Program (and all subfolders) (at least read)
  • ..\GeoMedia SmartClient\Program\Log (at least modifiy)
  • ..\GeoMedia SmartClient\Program\Maps\Log (at least modifiy)
  • ..\GeoMedia SmartClient\Program\Workflows\Log (at least modifiy)
  • ..\GeoMedia SmartClient\Program\Workflows\FormSettings (at least read)
  • ..\GeoMedia SmartClient\Program\Workflows\WorkflowSettings (at least read)
  • ..\GeoMedia SmartClient\Program\Administrator\Log (at least modifiy)
  • The Smart Client Warehouse folder and all subfolders must have full permission.
  • TEMP folder, which is defined in Environment variables (Default: C:\Windows\Temp) (at least modifiy): Set by default but sometimes disabled by the administrator on the server side

 

Frome there, we cannot open any WF. Error message.

In the WF log file we have the following error:

 

02.11.2017 14:07:49 ERROR - Controller MapState has raised an exception in Action SaveMapState.
Microsoft.Practices.Unity.ResolutionFailedException: Resolution of the dependency failed, type = "Intergraph.Emea.SmartClient.Workflows.MapStateController", name = "(none)".
Exception occurred while: Calling constructor Intergraph.Emea.Workflows.WorkflowDatabase(Intergraph.Emea.Workflows.IConnectionProvider connectionProvider).
Exception is: TypeInitializationException - The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
-----------------------------------------------
At the time of the exception, the container was:

Resolving Intergraph.Emea.SmartClient.Workflows.MapStateController,(none)
Resolving parameter "workflowControllerContext" of constructor Intergraph.Emea.SmartClient.Workflows.MapStateController(Intergraph.Emea.Workflows.IWorkflowControllerContext workflowControllerContext)
Resolving Intergraph.Emea.Workflows.DatabaseWorkflowControllerContext,(none) (mapped from Intergraph.Emea.Workflows.IWorkflowControllerContext, (none))
Resolving parameter "database" of constructor Intergraph.Emea.Workflows.DatabaseWorkflowControllerContext(Intergraph.Emea.Workflows.IRequestProvider requestProvider, Intergraph.Emea.Workflows.IDescriptionProvider descriptionProvider, Intergraph.Emea.Workflows.IWorkflowDatabase database, Intergraph.Emea.Security.ISessionProvider sessionProvider, Intergraph.Emea.Workflows.IWorkflowNameProvider workflowNameProvider, Intergraph.Emea.Workflows.IAuthorizationProvider authorizationProvider, Intergraph.Emea.Workflows.ISettingProvider settingProvider, Intergraph.Emea.Globalization.Localization localization, Intergraph.Emea.Workflows.IAssemblyResolver assemblyResolver, Intergraph.Emea.Workflows.IReportProvider reportProvider, Intergraph.Emea.Workflows.IMapProvider mapProvider, Intergraph.Emea.Workflows.IWorkspaceProvider workspaceProvider)
Resolving Intergraph.Emea.Workflows.WorkflowDatabase,(none) (mapped from Intergraph.Emea.Workflows.IWorkflowDatabase, (none))
Calling constructor Intergraph.Emea.Workflows.WorkflowDatabase(Intergraph.Emea.Workflows.IConnectionProvider connectionProvider)

at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
at Microsoft.Practices.Unity.UnityContainer.Resolve(Type t, String name, ResolverOverride[] resolverOverrides)
at Intergraph.Emea.Workflows.WorkflowControllerActivator.Create(RequestContext requestContext, Type controllerType)
at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
--- Inner exception ---
System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
at Oracle.DataAccess.Client.OracleConnection..ctor(String connectionString)
at Intergraph.Emea.Data.OracleProvider.CreateConnection(String connectionString, Workspace workspace)
at Intergraph.Emea.Data.Database.Select[T](String sqlCommand, IEnumerable`1 parameters, String[] spatialColumns)
at Intergraph.Emea.SmartClient.Workflows.SmartClientWorkflowConnectionProvider.GetConnectionSettings()
at lambda_method(Closure , IBuilderContext )
at Microsoft.Practices.ObjectBuilder2.DynamicBuildPlanGenerationContext.<>c__DisplayClass1.<GetBuildMethod>b__0(IBuilderContext context)
at Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
at Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
at Microsoft.Practices.ObjectBuilder2.BuilderContext.NewBuildUp(NamedTypeBuildKey newBuildKey)
at lambda_method(Closure , IBuilderContext )
at Microsoft.Practices.ObjectBuilder2.DynamicBuildPlanGenerationContext.<>c__DisplayClass1.<GetBuildMethod>b__0(IBuilderContext context)
at Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
at Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
at Microsoft.Practices.ObjectBuilder2.BuilderContext.NewBuildUp(NamedTypeBuildKey newBuildKey)
at lambda_method(Closure , IBuilderContext )
at Microsoft.Practices.ObjectBuilder2.DynamicBuildPlanGenerationContext.<>c__DisplayClass1.<GetBuildMethod>b__0(IBuilderContext context)
at Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
at Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
--- Inner exception ---
System.EntryPointNotFoundException: Unable to find an entry point named 'OpsGetTnsnamesSearchPath' in DLL 'OraOps12.dll'.
at Oracle.DataAccess.Client.OpsCom.GetTnsnamesSearchPath(IntPtr& pPathArray, Int32& numElems, IntPtr& pTnsnamesLocation, Int32& isTnsnamesEnabled)
at OracleInternal.Common.ConfigBaseClass.GetTnsNamesSearchPath(Boolean& isTnsnamesEnabled)
at OracleInternal.Common.ConfigBaseClass.InitTnsnamesPathMembers()
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()

 

Where is my mistake?

 

Thank you!

Yohann.

Staff
Posts: 1,030
Registered: ‎10-19-2015

Re: Run GMSC WF with domain account

Hi Yohann,

 

it looks like non-admin users do not have access to oracle client dll. I think you should search in that direction...

 

ciao,

Stefano

Stefano Turcato
Presale Engineer
Hexagon Geospatial
Do you need immediate support?
If you encounter a critical issue and need immediate assistance please submit a Service Request through our Support Portal.