diff --git a/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnector.cs b/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnector.cs index 17c494b8..54372d45 100644 --- a/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnector.cs +++ b/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnector.cs @@ -50,9 +50,11 @@ public class WebApiConnector : Connector /// User name. /// Password. /// Customized server certificate handler. + /// When set to true ssl error are ignored. /// Root DB name (AX uses 'TGlobalVariablesDB') public WebApiConnector(string ipAddress, string userName, string password, Func? customServerCertHandler, + bool ignoreSSLErros, eTargetProjectPlatform platform = eTargetProjectPlatform.SIMATICAX, string dbName = "\"TGlobalVariablesDB\"") { @@ -62,6 +64,10 @@ public WebApiConnector(string ipAddress, string userName, string password, UserName = userName; UserPassword = password; + if (ignoreSSLErros) + ServerCertificateCallback.CertificateCallback = + (sender, cert, chain, sslPolicyErrors) => true; + var serviceFactory = new ApiStandardServiceFactory(); var client = serviceFactory.GetHttpClient(ipAddress, UserName, UserPassword); requestHandler = new ApiHttpClientRequestHandler(client, diff --git a/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnectorExtensions.cs b/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnectorExtensions.cs index a58f9f66..94b4c439 100644 --- a/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnectorExtensions.cs +++ b/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnectorExtensions.cs @@ -43,16 +43,18 @@ public static ConnectorAdapter CreateWebApi(this ConnectorAdapterBuilder adapter /// User name. /// Password. /// Customized server certificate handler. + /// When set to true ssl errors are ignored /// Name of default DB. The DB used to store all data in an AX project is 'TGlobalVariablesDB'. /// Connector adapter for WebAPI connection. public static ConnectorAdapter CreateWebApi(this ConnectorAdapterBuilder adapter, string ipAddress, string userName, string password, Func? customServerCertHandler, + bool ignoreSslErrors = false, eTargetProjectPlatform platform = eTargetProjectPlatform.SIMATICAX, string dbName = "\"TGlobalVariablesDB\"") { return new ConnectorAdapter(typeof(WebApiConnectorFactory)) - { Parameters = new object[] { ipAddress, userName, password, customServerCertHandler, platform, dbName } }; + { Parameters = new object[] { ipAddress, userName, password, customServerCertHandler, ignoreSslErrors, platform, dbName } }; } public static DateOnly AdjustForLeapDate(this long value) diff --git a/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnectorFactory.cs b/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnectorFactory.cs index 0e2c646c..737a75c2 100644 --- a/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnectorFactory.cs +++ b/src/AXSharp.connectors/src/AXSharp.Connector.S71500.WebAPI/WebApiConnectorFactory.cs @@ -32,8 +32,9 @@ public override Connector CreateConnector(object[] parameters) (string)parameters[1], (string)parameters[2], (Func)parameters[3], - (eTargetProjectPlatform)parameters[4], - (string)parameters[5]); + (bool)parameters[4], + (eTargetProjectPlatform)parameters[5], + (string)parameters[6]); } }