Konfigurace (KS webAPI): Porovnání verzí
| (Nejsou zobrazeny 2 mezilehlé verze od jednoho dalšího uživatele.) | |||
| Řádek 8: | Řádek 8: | ||
* '''''ASServer.exe.config''''' - soubor je uložen v adresáři ''ASServer'', v umístění instance [[KS aplikační server]], které bylo vybráno pro instalaci [[KS aplikační server]]. | * '''''ASServer.exe.config''''' - soubor je uložen v adresáři ''ASServer'', v umístění instance [[KS aplikační server]], které bylo vybráno pro instalaci [[KS aplikační server]]. | ||
V konfiguračním souboru | V konfiguračním souboru je nutné nastavit ''Endpoint'', ''Binding'', ''Behavior'' a ''WebApiType'', případně další nastavení. | ||
== Příklad == | == Příklad == | ||
Níže je uvedena vzorová konfigurace, která využívá zabezpečení s ověřením uživatelského jména na straně klienta a proto je potřeba nastavit certifikát v části '''''<serviceCertificate>''''' | Níže je uvedena vzorová konfigurace, která využívá zabezpečení s ověřením uživatelského jména na straně klienta a proto je potřeba nastavit certifikát v části '''''<serviceCertificate>''''' | ||
Dále je nutné nastavit, jaký typ API se bude používat. To určuje parametr s klíčem ''WebApiType'' a hodnotou "soap,rest", "rest" nebo "soap". | |||
V případě nevyplnění tohoto parametru bude použito pouze SOAP API. | |||
<pre> | |||
<appSettings> | |||
... | |||
<add key="WebApiType" value="rest" /> | |||
... | |||
</appSettings> | |||
</pre> | |||
SOAP a REST lze využívat souběžně. | SOAP a REST lze využívat souběžně. | ||
| Řádek 91: | Řádek 102: | ||
<serviceDebug includeExceptionDetailInFaults="true"/> | <serviceDebug includeExceptionDetailInFaults="true"/> | ||
<serviceCredentials> | <serviceCredentials> | ||
<serviceCertificate findValue=" | <serviceCertificate findValue="7fdc925e54075d60a48939f24c1eec7d7052d3b0" storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" /> | ||
</serviceCredentials> | </serviceCredentials> | ||
</behavior> | </behavior> | ||
Aktuální verze z 18. 6. 2026, 09:01
Základní konfigurace webové služby KS webAPI se provádí v konfiguračním souboru ASServer.exe.config, který je součástí Windows služby KS aplikační server (AS). V tomto souboru se nastavuje transportní protokol (HTTP/HTTPS), komunikační protokol (SOAP/REST), adresa webové služby (Endpoint), certifikát pro zabezpečení komunikace, atd. Toto nastavení je potřeba pro zpřístupnění webové služby klientské aplikaci.
Nastavení uživatelských účtů a oprávnění k přenášeným údajům se nastavuje v aplikaci AS Seance Manager (ASSM).
Konfigurační soubor
Konfigurace se provádí v konfiguračním souboru Windows služby KS aplikační server.
- ASServer.exe.config - soubor je uložen v adresáři ASServer, v umístění instance KS aplikační server, které bylo vybráno pro instalaci KS aplikační server.
V konfiguračním souboru je nutné nastavit Endpoint, Binding, Behavior a WebApiType, případně další nastavení.
Příklad
Níže je uvedena vzorová konfigurace, která využívá zabezpečení s ověřením uživatelského jména na straně klienta a proto je potřeba nastavit certifikát v části <serviceCertificate>
Dále je nutné nastavit, jaký typ API se bude používat. To určuje parametr s klíčem WebApiType a hodnotou "soap,rest", "rest" nebo "soap". V případě nevyplnění tohoto parametru bude použito pouze SOAP API.
<appSettings> ... <add key="WebApiType" value="rest" /> ... </appSettings>
SOAP a REST lze využívat souběžně.
Vzorová konfigurace SOAP
<system.serviceModel>
<services>
<service name="KSProgram.AS.WCF.KSWebAPI" behaviorConfiguration="KSWebAPIBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9001/KSAsServer/WebService/WebAPI"/>
</baseAddresses>
</host>
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="KSWebAPIBinding"
contract="KSProgram.AS.WCF.IKSWebAPI" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="KSWebAPIBinding">
<security mode="Message">
<message clientCredentialType="UserName" />
</security>
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="KSWebAPIBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="KSProgram.AS.WCF.PasswordValidator, WCFLib"/>
<serviceCertificate findValue="WebAPI_cert" storeLocation="LocalMachine"
storeName="My" x509FindType="FindBySubjectName"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Vzorová konfigurace REST
<system.serviceModel> <services> <service name="WCFLib.KSWebAPI.RESTApi.KSWebAPIRest" behaviorConfiguration="KSWebAPIBehaviorRest"> <endpoint address="Rest" behaviorConfiguration="webBehavior" binding="webHttpBinding" bindingConfiguration="KSWebAPIBindingRest" contract="WCFLib.KSWebAPI.RESTApi.IKSWebAPIRest"/> <host> <baseAddresses> <add baseAddress="https://localhost:9002/KSAsServer/WebService/WebAPI"/> </baseAddresses> </host> </service> </services> <bindings> <webHttpBinding> <binding name="KSWebAPIBindingRest" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" sendTimeout="00:10:00" receiveTimeout="00:10:00" crossDomainScriptAccessEnabled="false"> <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647"/> <security mode="Transport"> </security> </binding> </webHttpBinding> </bindings> <behaviors> <serviceBehaviors> <behavior name="KSWebAPIBehaviorRest"> <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="true"/> <serviceCredentials> <serviceCertificate findValue="7fdc925e54075d60a48939f24c1eec7d7052d3b0" storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" /> </serviceCredentials> </behavior> </serviceBehaviors> <endpointBehaviors> <behavior name="webBehavior"> <webHttp defaultOutgoingResponseFormat="Json"/> </behavior> </endpointBehaviors> </behaviors> <standardEndpoints> <webScriptEndpoint> <standardEndpoint crossDomainScriptAccessEnabled="true"> </standardEndpoint> </webScriptEndpoint> </standardEndpoints> <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> </system.serviceModel>
AS Seance Manager - Úloha č. 73
AS Seance Manager (dále ASSM) je aplikace, která byla nainstalována společně s AS a slouží ke správě AS (spouštění instancí AS, konfigurace úloh, kontrola stavu úloh, atd.). ASSM je umístěn v adresáři, který byl vybrán pro instalaci AS - ...\KS-AS\ASSeanceManager\ASSeanceManager.exe.
V případě KS webAPI je zde typ úlohy
- Webová služba KSwebAPI (Kód = 73) v seznamu Typ úlohy. V části Nastavení webové služby se provádí nastavení uživatelských účtů pro autentizaci.
ASSM (soubor ASSeanceManager.exe) je nutné spouštět jako správce.
Správa uživatelů
V AS Seance Manager se provádí nastavení uživatelských účtů pro autentizaci. V sekci 'Nastavení webové služby' se po stisku tlačítka Správa uživatelů otevře příslušné okno.
Oprávnění na položky
V AS Seance Manager se provádí nastavení oprávnění 'Čtení' a 'Zápis' na položky pro jednotlivé skupiny položek. V sekci 'Nastavení webové služby' se po stisku tlačítka 'Přístupová práva' otevře příslušné okno.