static void Main(string[] args) { Console.WriteLine("Hello World!"); AssetAdministrationShell aas = SimpleAssetAdministrationShell.GetAssetAdministrationShell(); ISubmodel testSubmodel = aas.Submodels["TestSubmodel"]; ServerSettings submodelServerSettings = ServerSettings.CreateSettings(); submodelServerSettings.ServerConfig.Hosting.ContentPath = "Content"; submodelServerSettings.ServerConfig.Hosting.Urls.Add("http://localhost:5222"); SubmodelHttpServer submodelServer = new SubmodelHttpServer(submodelServerSettings); ISubmodelServiceProvider submodelServiceProvider = testSubmodel.CreateServiceProvider(); submodelServer.SetServiceProvider(submodelServiceProvider); submodelServiceProvider.UseAutoEndpointRegistration(submodelServerSettings.ServerConfig); Task runSubmodelTask = submodelServer.RunAsync(); ServerSettings aasServerSettings = ServerSettings.CreateSettings(); aasServerSettings.ServerConfig.Hosting.ContentPath = "Content"; aasServerSettings.ServerConfig.Hosting.Urls.Add("http://localhost:5111"); IAssetAdministrationShellServiceProvider serviceProvider = aas.CreateServiceProvider(true); serviceProvider.SubmodelRegistry.RegisterSubmodelServiceProvider(testSubmodel.IdShort, submodelServiceProvider); serviceProvider.UseAutoEndpointRegistration(aasServerSettings.ServerConfig); AssetAdministrationShellHttpServer aasServer = new AssetAdministrationShellHttpServer(aasServerSettings); aasServer.SetServiceProvider(serviceProvider); aasServer.Run(); }
private static void LoadSingleShell() { AssetAdministrationShell aas = SimpleAssetAdministrationShell.SimpleAssetAdministrationShell.GetAssetAdministrationShell(); ISubmodel testSubmodel = aas.Submodels["TestSubmodel"]; ServerSettings submodelServerSettings = ServerSettings.CreateSettings(); submodelServerSettings.ServerConfig.Hosting.ContentPath = "Content"; submodelServerSettings.ServerConfig.Hosting.Urls.Add("http://localhost:5222"); SubmodelHttpServer submodelServer = new SubmodelHttpServer(submodelServerSettings); ISubmodelServiceProvider submodelServiceProvider = testSubmodel.CreateServiceProvider(); submodelServer.SetServiceProvider(submodelServiceProvider); submodelServiceProvider.UseAutoEndpointRegistration(submodelServerSettings.ServerConfig); submodelServer.RunAsync(); ServerSettings aasServerSettings = ServerSettings.CreateSettings(); aasServerSettings.ServerConfig.Hosting.ContentPath = "Content"; aasServerSettings.ServerConfig.Hosting.Urls.Add("http://localhost:5111"); IAssetAdministrationShellServiceProvider aasServiceProvider = aas.CreateServiceProvider(true); aasServiceProvider.SubmodelRegistry.RegisterSubmodelServiceProvider(testSubmodel.IdShort, submodelServiceProvider); aasServiceProvider.UseAutoEndpointRegistration(aasServerSettings.ServerConfig); AssetAdministrationShellHttpServer aasServer = new AssetAdministrationShellHttpServer(aasServerSettings); aasServer.SetServiceProvider(aasServiceProvider); aasServer.ApplicationStopping = () => { registryClient.DeleteAssetAdministrationShell(aas.Identification.Id); }; aasServer.RunAsync(); registryClient.CreateAssetAdministrationShell(new AssetAdministrationShellDescriptor(aas, aasServiceProvider.ServiceDescriptor.Endpoints)); registryClient.CreateSubmodel(aas.Identification.Id, new SubmodelDescriptor(testSubmodel, submodelServiceProvider.ServiceDescriptor.Endpoints)); }