I'm trying to open the DataMiner IDP solution from a workstation which results in a message: Could not load drawing C:\Skyline DataMiner\Protocols\Skyline Infrastructure Discovery And Provisioning\Skyline Infrastructure Discovery And Provisioning.vsdx. It works when I open the IDP solution from the server.
Additional Info:
- DM 10.0.10
- Client: Cube Launcher
How can I fix this?
Is this on the official 10.0.10 release? I believe additional security was added in 10.0.10 which was a bit too strict on Visio files. However, this should have been fixed in 10.0.10[CU0].
Additional information:
Cube will first check if a cache version of the Visio file is available on the local machine. If it's there, it will load the cache file and show the Visual Overview. If no cache file is available, Cube will retrieve the .Vsdx file from the server. A cache version is created on the local machine to increase the future performance. The location of the cache is: 'C:\ProgramData\Skyline\DataMiner\DataMinerCube\VisioCache'.
Judging by the exception text, this will be a consequence of RN26871, which tightens security on some calls. This might be a case where it’s too strict.
@Jens, you probably don’t have the folder because the Visio file does not make it to the client machine (and thus no cache file is created).
@Wouter, indeed. It seems like this is not completely fixed. I’ll let this know the development team.
A task for this has been created.
Reinstalling the official 10.0.10 version resolved the problem. I’ll keep monitoring if this will happen again.
This is an official 10.0.10 release version and there is no Skyline folder in the ProgramData folder.
I noticed following exception in the cube logging:
(Code: 0x80070005) Skyline.DataMiner.Net.Exceptions.DataMinerSecurityException: Not allowed to call GetBinaryFileContentMessage on C:Skyline DataMinerProtocolsSkyline Infrastructure Discovery And ProvisioningSkyline Infrastructure Discovery And Provisioning.vsdx
Server stack trace:
at Skyline.DataMiner.Net.Logic.AttachmentManager.HandeBinaryFileContentMessage(IConnectionInfo connInfo, GetBinaryFileContentMessage request)
at Skyline.DataMiner.Net.Facade.HandleClientRequestMessage(IConnectionInfo connInfo, ClientRequestMessage oneMsg, Boolean canQueue)
at Skyline.DataMiner.Net.Facade.HandleMessageInternal(IConnectionInfo connInfo, DMSMessage oneMsg, Int32 groupID, Int32 groupTotal)
at Skyline.DataMiner.Net.Facade.HandleMessage(IConnectionInfo connInfo, DMSMessage oneMsg, Int32 groupID, Int32 groupTotal)
at Skyline.DataMiner.Net.BaseFacade.HandleMessages(IConnectionInfo connInfo, DMSMessage[] msgs)
at Skyline.DataMiner.Net.Facade.HandleMessage(IConnectionInfo connInfo, DMSMessage oneMsg, Int32 groupID, Int32 groupTotal)
at Skyline.DataMiner.Net.BaseFacade.HandleMessages(IConnectionInfo connInfo, DMSMessage[] msgs)
at Skyline.DataMiner.Net.Facade.HandleMessagesForClient(IConnectionInfo connInfo, DMSMessage[] messages)
at Skyline.DataMiner.Net.Transport.Remoting.InternalHandleMessages(ConnectionToken token, DMSMessage[] inputMessages)
at Skyline.DataMiner.Net.Transport.Remoting.HandleMessages(ConnectionToken token, DMSMessage[] inputMessages)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
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 Skyline.DataMiner.Net.ISLNet.HandleMessages(ConnectionToken token, DMSMessage[] inputMessages)
at Skyline.DataMiner.Net.RemotingConnection.TransportSpecificHandleMessage(ConnectionToken tok, DMSMessage[] msgs, Int32 timeout)
at Skyline.DataMiner.Net.Connection.InternalHandlePackedMessages(ConnectionToken tok, DMSMessage[] msgs, Int32 timeout)
at Skyline.DataMiner.Net.Connection.InternalHandleUnpackedMessages(DMSMessage[] msgs, Int32 timeout)
at Skyline.DataMiner.Net.Connection.HandleMessages(DMSMessage[] msgs, Int32 timeout)
at Skyline.DataMiner.Net.Connection.HandleMessage(DMSMessage msg, Int32 timeout)
at Skyline.DataMiner.Client.Framework.ClientConnection.SendSingleResponse(DMSMessage message)