แจแแกแแแแแ
แแกแ แแแฎแแ, แ แแ แฉแแแก แแแแแแแแแแ แกแแแฃแจแแ แแแแแแแ แแแแแฌแแ แแ แขแแฅแแแแแแแแก แแแชแแแแ. แแแแแฌแงแแ แชแแขแ แคแแแแ. แแแแแแแแ แจแแฎแแแแ แแแ แฉแแแแก แแฃแแแก แฃแแฎแ แแก, แ แแ แแแญแแ แแแแแแ แแแขแแแ แแชแแแก แจแแฅแแแ แชแแแแแแ แกแแกแขแแแ. แแแขแแแ แแชแแแจแ แแแฃแแแกแฎแแแแแแ, แ แแ แแก แชแแแแแแ แกแแกแขแแแ แแแแแแแแแแแแแแแ แแแแฎแแแแแแก HTTP-แแก แกแแจแฃแแแแแแ แแแแแ แแขแฃแ แกแแแแแแ แฌแแ แขแแแแแแ, แฉแแแ แแ, แฃแชแแแฃแ แแ, แแแกแฃแฎแแแก SOAP แจแแขแงแแแแแแแแก แกแแฎแแ แแฃแแแแแแแแแ. แงแแแแแคแแ แ แแแ แขแแแ แแ แขแ แแแแแแฃแ แ แฉแแแก. แแฅแแแแ แแแแแแแแแแ แแแแก, แ แแ แกแแญแแ แแ...
แแแแแแแแ
แจแแฅแแแแแ 3 แกแแ แแแกแ. แแแ แแแแ แแแแแแแ แแ แแก แแแแแชแแแแ แแแแแก แแแแแฎแแแแแก แกแแ แแแกแ. แแก แกแแ แแแกแ, แ แแแแกแแช แแฎแแแ แแแแแชแแแแแ แแแแแก แแแกแแแ แแฎแแ แแก แกแแกแขแแแแแแ, แแแแแแฎแแแแก แแแแแชแแแแ แแแแแจแ แแ แกแแแฃแ แแแแแชแแแแแก แแ แแแแแแ แแ แแแก แคแแแแก CSV แคแแ แแแขแจแ, แ แแแ แแแแแแขแแแแก แแแ แจแแแแแ แกแแกแขแแแแจแ. แแแแ แ แกแแ แแแกแแก แแแแ แฌแแ แขแแแ แแฌแแแแแ - FTP Transport Service, แ แแแแแแช แแฆแแแก แแแแแชแแแฃแ แคแแแแก, แแแแฌแแแแก แแแก แแ แแแแแกแแแก แคแแแแแแแก แจแแกแแแแฎแแ FTP-แแก แกแแจแฃแแแแแแ. แแแกแแแ แกแแ แแแกแ, แแแแฎแแแ แแแแแก แแแแแชแแแแ แแแแแชแแแแก แกแแ แแแกแ, แแฃแจแแแแก แแกแแแฅแ แแแฃแแแ แแแ แแแ แแ แแแ. แแก แแฆแแแก แแแแฎแแแแแก แแแกแแแ แแฎแแ แแก แแแ แ แกแแกแขแแแแกแแแ แแแแแ แแแแฎแแแฃแแ แคแแแแแก แแแกแแฆแแแแ, แแฆแแแก แแแ แกแแแแกแฃแฎแ แคแแแแก, แชแแแแก แแแก (แแฎแแแแก id, แแฆแฌแแ แ, linkToFile แแแแแแก) แแ แแแแแแแแก แแแกแฃแฎแก SOAP แจแแขแงแแแแแแแแก แกแแฎแแ. แแแฃ, แกแแแ แแ แกแฃแ แแแ แแกแแแแ: แแแ แแแแ แแ แ แกแแ แแแกแ แแฌแงแแแก แแฃแจแแแแแก แแฎแแแแ แแแจแแ, แ แแแแกแแช แแแแแแ แแแแแฎแแแแแก แแแแแชแแแแแ. แแแกแแแ แกแแ แแแกแ แแฃแแแแแแ แแฃแจแแแแก, แ แแแแแ แแแแ แแ แแแคแแ แแแชแแแก แแแแฎแแแ แแแแแ, แแแแฎแแแแแแ 1000 แแแแฎแแแแ แแแแแชแแแแ แฌแฃแแจแ. แกแแ แแแกแแแ แแฃแแแแแแ แฎแแแแแกแแฌแแแแแแ แแ แแแแ แแแกแขแแแชแแแแ แแแแแแแแแฃแแแ แกแฎแแแแแกแฎแแ แแแ แแแแจแ, แ แแแแ แแชแแ แขแแกแขแ, แแแแ, แฌแแแแกแฌแแ แ แฌแแ แแแแแ แแ แแ แแแฃแฅแชแแ. แฅแแแแแ แแแชแแแฃแแแ แแแแแ แแแ, แแฃ แ แแแแ แแฃแจแแแแก แแก แกแแ แแแกแแแ. แแแแ แแแแแชแแ แแแฃแงแแแแแแแแ แแแแแแแ แขแ, แ แแ แแแแแแ แแ แแแขแแแ แแแแแ แขแแแแ แแแแแแขแ แกแแ แแฃแแแก แแแแแแแ แแกแแชแแแแแแแ.
แขแแฅแแแแฃแ แ แแแฆแ แแแแแแ
แแ แแแแแแแก แแแแแญแ แแก แแแแแแแแแกแแก, แฏแแ แแแแแแฌแงแแแขแแ แแแแแแแชแแแแแก แแแแแแแแ Java-แจแ Spring Framework-แแก, Nginx-แแก แแแแแแกแแ แแก, Postgres-แแก แแแแแชแแแแ แแแแแก แแ แกแฎแแ แขแแฅแแแแฃแ แ แแ แแ แช แแกแ แขแแฅแแแแฃแ แ แแแแแแแแก แแแแแงแแแแแแ. แแแแแแแแ แขแแฅแแแแฃแ แ แแแแแฌแงแแแขแแก แจแแแฃแจแแแแแแก แแ แแ แแแแแชแ แกแแจแฃแแแแแ แแแแแแแฎแแแ แแ แแ แแแแแแแก แแแแแญแ แแก แกแฎแแ แแแแแแแแแ, แฉแแแแ แแแแ แ แแแแชแ Apache NIFI แขแแฅแแแแแแแแแ, แ แแแแแแช แแแแฃแ แแ แแแ แแแแฃแ แฌแ แแแแจแ. แแแจแแแแ แแแขแงแแ, แ แแ แแ แขแแฅแแแแแแแแ แกแแจแฃแแแแแ แแแแแชแ แจแแแแแแแฎแ แแก 3 แกแแ แแแกแ. แแก แกแขแแขแแ แแฆแฌแแ แก แคแแแแแแแก แขแ แแแกแแแ แขแแ แแแแก แกแแ แแแกแแก แแแแแแแแ แแแแก แแ แแแแฎแแแ แแแแแกแแแแก แแแแแชแแแแ แแแแแชแแแแก แกแแ แแแกแก, แแแแ แแ แแฃ แกแขแแขแแ แกแแกแแ แแแแแแ, แแแแฌแแ แแแแแชแแแแ แแแแแจแ แแแแแชแแแแ แแแแแฎแแแแแก แกแแ แแแกแแ.
แ แ แแ แแก แแก?
NIFI แแ แแก แแแแแฌแแแแแฃแแ แแ แฅแแขแแฅแขแฃแ แ แแแแแชแแแแ แกแฌแ แแคแ แแแ แแแแแฃแ แ แฉแแขแแแ แแแแกแ แแ แแแแฃแจแแแแแแกแแแแก, แแแแ แ แแแแแแแแแ แแแแแแแขแแแ แฌแงแแ แแแแแกแ แแ แขแ แแแกแคแแ แแแชแแแกแแแแก, แแแแคแแแฃแ แแชแแแแแก แแแ แกแแแแแกแแแแก แแ แแ แแแแแ แกแฎแแ. แกแแกแแแแแแแ แแแแฃแกแ แแก แแ แแก, แ แแ แแแกแ แแแแแงแแแแแ แซแแแแแ แแแ แขแแแแ. แขแ แแแแแแฃแ แ แแ แแชแแกแแแ, แ แแแแ แแชแแ getFile, sendHttpRequest แแ แกแฎแแ, แจแแแซแแแแ แฌแแ แแแแแแแแแ แแงแแก แแแแแ แแขแแแแ. แแแแแแฃแแ แแแแแ แแขแ แฌแแ แแแแแแแแก แแ แแชแแกแก, แ แแแแแก แฃแ แแแแ แแฅแแแแแแ แจแแแแซแแแแ แแฎแแแแ แฅแแแแแ แแแชแแแฃแ แคแแแฃแ แแจแ. แแแแฌแแ แ แฃแคแ แ แแแขแแแฃแ แ แแแแฃแแแแขแแชแแ แแ แแชแแกแแก แแแงแแแแแแก แฃแ แแแแ แแฅแแแแแแแก แจแแกแแฎแแ
แกแขแแขแแแก แแแฌแแ แแก แแแแ แแแฉแแแ แฎแแแแ แซแแแแ แซแแแแแก แแ แแแฆแแแฃแแ แแแคแแ แแแชแแแก แ แแฆแแช แชแแแแแแ แแ แกแขแ แฃแฅแขแฃแ แแ แแแแก แจแแแแแ, แแกแแแ แ แแแแ แช แกแฃแ แแแแ, แชแแขแแแ แแแฃแแแแแแแก แชแฎแแแ แแแ แแแแแแแ แแแแแแแแแ แแแก.
แแแแแแแแ
แแแแฎแแแฃแแแ แแแแแแแแ แแแแกแ, แแฃ แ แแแแ แฃแ แแแแ แแฅแแแแแแแ แแแแแ แแขแแแ แแ แแแแแแแแแ. แแแแแแ แกแฅแแแ แกแแแแแแ แแแ แขแแแแ: แฉแแแ แแแฆแแแ HTTP แแแแฎแแแแแก (แแแแ แแฃแแแ, แคแแแแแ แแแแฎแแแแแก แกแฎแแฃแแจแ. NIFI-แก แจแแกแแซแแแแแแแแแแก แแแแแแกแขแ แแ แแแแกแแแแก, แแ แแแแแแแแจแ แแแแฎแแแแ แแฌแงแแแก แคแแแแแก แแแฆแแแแก แแ แแชแแกแก แแแแแแแแ แแแ แคแแแแแแแก แกแแชแแแแแแ. ), แจแแแแแ แแฃแแแแแแแ แแแกแฃแฎแก, แ แแ แแแแฎแแแแ แแแฆแแแฃแแแ, แแแ แแแแแฃแ แแ แแแแแแแแ แแแแก แคแแแแแก FH-แแแ แแแฆแแแแก แแ แแชแแกแ แแ แจแแแแแ FTP-แแ FH-แจแ แแแแแขแแแแก แแ แแชแแกแ. แแแกแแ แแแแแแ, แ แแ แแ แแชแแกแแแ แแ แแแแแแแแแ แฃแ แแแแ แแฅแแแแแแแ แ.แฌ. flowFile-แแก แกแแจแฃแแแแแแ. แแก แแ แแก NIFI-แแก แกแแแแแแกแ แแ แแแฃแแ, แ แแแแแแช แแแแฎแแแก แแขแ แแแฃแขแแแกแ แแ แจแแแแแ แกแก. แจแแแแแ แกแ แแ แแก แแแแแชแแแแแ, แ แแแแแแแช แฌแแ แแแแแแแแแแ แแแแแแแก แคแแแแแ. แแแฃ, แฃแฎแแจแแ แ แแ แแแฅแแแ, แแฃ แแฅแแแ แแแแฆแแแ แคแแแแก แแ แแ แแแแแ แแขแแแแ แแ แแแแแแขแแแแ แแแแ แแจแ, แแแแขแแแขแ แแฅแแแแ แแฅแแแแ แคแแแแ.
แ แแแแ แช แฎแแแแแ, แแก แกแฃแ แแแ แแแแฉแแแแแแก แแแแแ แแ แแชแแกแก. HandleHttpRequest - แแฆแแแก แแแแฎแแแแแแก, ReplaceText - แฌแแ แแแฅแแแแก แแแกแฃแฎแก, HandleHttpResponse - แแแแแแแแก แแแกแฃแฎแก. FetchFile - แแฆแแแก แคแแแแก แคแแแแแก แกแแชแแแแแแ, แแแแแกแชแแแก แแแก แแแแแ แแขแฃแ PutSftp - แแงแแแแแก แแ แคแแแแก FTP-แแ, แแแแแแแแฃแ แแแกแแแแ แแแ. แแฎแแ แฃแคแ แ แแแขแ แแ แแ แแชแแกแแก แจแแกแแฎแแ.
แแ แจแแแแฎแแแแแจแ แแฎแแแแ แงแแแแแคแ แแก แแแกแแฌแงแแกแแ. แแแแแ แจแแแฎแแแแ แแแกแ แแแแคแแแฃแ แแชแแแก แแแ แแแแขแ แแแก.
แแฅ แงแแแแแคแแ แ แกแแแแแแ แขแ แแแแแแฃแ แแ, แแแ แแ StandardHttpContextMap - แแก แแ แแก แแ แแแแแ แ แกแแ แแแกแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแแแ แแ แแแแฆแแ แแแแฎแแแแแแ. แฃแคแ แ แแแขแแแฃแ แแ แแ แแฃแแแแช แแแแแแแแแแแ, แจแแแแซแแแแ แแแฎแแ -
แจแแแแแแ, แแแแแ แจแแแฎแแแแ แแแแแ แแขแแก ReplaceText แแแแคแแแฃแ แแชแแแก แแแ แแแแขแ แแแก. แฆแแ แก ReplacementValue-แแ แงแฃแ แแแฆแแแแก แแแฅแชแแแ - แแก แแ แแก แแก, แ แแช แฃแแ แฃแแแแแ แแแแฎแแแ แแแแแก แแแกแฃแฎแแก แกแแฎแแ. แแแ แแแแขแ แแแจแ แจแแแแซแแแแ แแแแ แแแฃแแแ แแ แแแแแ แแจแแแแก แแแแ, แจแแแแซแแแแ แแฎแแแแ แแฃแ แแแแแแ {แกแแแแช แแแแแแแแแ nifi}/nifi-1.9.2/logs, แแกแแแ แแ แแก แฌแแ แฃแแแขแแแแแแแก/แฌแแ แแแขแแแแก แแแ แแแแขแ แแแ - แแ แแแ แแแแขแ แแแแ แแแงแ แแแแแแ แจแแแแซแแแแ แแ แแชแแกแ แแแแแแแแ แแแแ แแแฃแแแ แแ. . แแแฃ แขแแฅแกแขแแก แฌแแ แแแขแแแฃแแ แแแแฃแจแแแแแแก แจแแแแฎแแแแแจแ แแแแแแซแแฎแแแ แแแแฎแแแ แแแแแกแแแแก แแแกแฃแฎแแก แแแแแแแแแก แแ แแชแแกแ, แกแฎแแ แจแแแแฎแแแแแจแ แแ แฃแแ แแแแ แฉแแแฌแแ แ แฌแแ แฃแแแขแแแแ แแ แแชแแกแก.
แแ แแคแแ แแ แแแแกแแแฃแแ แแแแ แกแแแแขแแ แแกแ HandleHttpResponse แแแแกแแแแแจแ, แแแ แแ แกแขแแขแฃแกแแกแ, แ แแแแกแแช แแแกแฃแฎแ แฌแแ แแแขแแแแ แแฅแแแแแ.
แฉแแแ แแแแแฎแแ แแกแฎแแ แแแแฎแแแแ แแ แแแกแฃแฎแ - แแแแแแแแแ แคแแแแแก แแแฆแแแแแ แแ FTP แกแแ แแแ แแ แแแแแแแกแแแแแ. FetchFile - แแฆแแแก แคแแแแก แแแ แแแแขแ แแแจแ แแแแแแแแฃแ แแแแแ แแ แแแแแกแชแแแก แจแแแแแ แแ แแชแแกแก.
แแ แจแแแแแ PutSftp แแแแแ แแขแ - แแแแแกแแแก แคแแแแก แคแแแแแก แกแแชแแแจแ. แฉแแแ แแฎแแแแแ แแแแคแแแฃแ แแชแแแก แแแ แแแแขแ แแแก แฅแแแแแ.
แงแฃแ แแแฆแแแ แฃแแแ แแแแฅแชแแแ แแ แคแแฅแขแก, แ แแ แแแแแแฃแแ แแแแแ แแขแ แชแแแแ แแ แแชแแกแแ, แ แแแแแแช แฃแแแ แแแแฌแงแแก. แฉแแแ แแแแแแฎแแแแ แฃแแแ แขแแแแก แแแแแแแแก, แ แแแแแแช แแ แกแแญแแ แแแแก แ แแแแ แ แแฃแ แแแ แกแแแแแแแแชแแแก. แจแแแแแแ, แฉแแแ แจแแแฎแแแแแ แแ แแชแแกแก แชแแขแ แฃแคแ แ แ แแฃแแแ, แกแแแแช แชแแขแแก แแแแฌแแ แ แฆแแ แแแ.
แฃแคแ แ แ แแฃแแ แแแแแแแแ
แแแแฎแแแ แแแแแกแแแแก แแแแแชแแแแ แแแแแชแแแแก แกแแ แแแกแ แชแแขแ แฃแคแ แ แ แแฃแแ แแฆแแแฉแแแ SOAP แจแแขแงแแแแแแแแก แจแแชแแแแก แแ แแชแแกแแก แแแแ. แแแแแแ แแ แแชแแกแ แแแฉแแแแแแแ แฅแแแแแ แแแชแแแฃแ แคแแแฃแ แแจแ.
แแฅ แแแแ แแกแแแ แแ แแ แแก แแแแกแแแฃแแ แแแแ แ แแฃแแ: แแแแแฆแแ แแแแฎแแแ แแแแแกแแแ แแแแฎแแแแ, แ แแ แแแก แกแญแแ แแแแแแ แแแแแชแแแแแ, แแแแแแแแแแ แแแกแฃแฎแ, แ แแ แแแแฆแ แจแแขแงแแแแแแแ, แแแแแฌแงแแ แกแแแแกแฃแฎแ แคแแแแแก แแแฆแแแแก แแ แแชแแกแ, แจแแแแแ แแแแแแแฅแขแแ แแ แแแ แแแแฃแแ แแแแแแแ แแ แจแแแแแ แแแแแกแชแ แคแแแแ แแแแฎแแแ แแแแแก SOAP แจแแขแงแแแแแแแแก แกแแฎแแ แกแแ แแแ แแ.
แแคแแฅแ แแ, แกแแญแแ แ แแ แแ แแก แแแแแ แแ แแฎแแ แแฆแแฌแแ แ แแก แแแแแ แแขแแแ, แ แแแแแแแช แแแแแ แแแแฎแแ - แแแ แแแแแ แแฎแแแแ แแแแแแแแแ. แแฃ แ แแแแ แคแแแแแก แ แแแแฅแขแแ แแแ แแญแแ แแแแแ แแ แฉแแแฃแแแแ แแแ ReplaceText แขแแแแก แแแแแ แแขแแแ แแ แแ แแก แจแแกแแคแแ แแกแ, แแแแแฌแแแ แกแแแฃแแแ แ แกแแ แแแขแแก แแแฌแแ แ. แแก แจแแแซแแแแ แแแแแแแแก ExecuteGroogyScript แแแแแ แแขแแก แแแแแงแแแแแแ. แแแกแ แแแ แแแแขแ แแแ แฌแแ แแแแแแแแแแ แฅแแแแแ.
แแ แแแแแ แแขแจแ แกแแ แแแขแแก แฉแแขแแแ แแแแก แแ แ แแแ แแแแขแ แแ แกแแแแแก. แแแ แแแแ แแ แแก แคแแแแแก แฉแแแแขแแแ แแแ แกแแ แแแขแแ. แแแแ แ แแ แแก แกแแ แแแขแแก แฉแแกแแ scriptBody-แจแ. แ แแแแแแแแแช แแ แแแชแ, executeScript แแแแแ แแขแ แแฎแแ แก แฃแญแแ แก แ แแแแแแแแ แแแแก - แแ แแ แแแแแแแ แแ แแก groovy. แแ แแแฃแชแ แฃแแ แแแแแก java แแแแแแแแแ แแแก - แแกแแ แแแแแ แแขแแแจแ java-แจแ แกแแ แแแขแแแแก แแแฌแแ แ แแ แจแแแซแแแแ. แแแแแแแก, แแแกแแช แแแแแแแแแ แกแฃแ แก, แแฅแแแ แฃแแแ แจแแฅแแแแ แแฅแแแแ แกแแแฃแแแ แ แแแแแแแ แแ แแแแแแขแแ แแก NIFI แกแแกแขแแแแจแ. แแแแ แแ แแแแ แแชแแแก แแแ แแฎแแแแก แกแแแแแแ แฎแแแแ แซแแแแ แชแแแแ แขแแแแฃแ แแ, แ แแแแแกแแช แแ แกแขแแขแแแจแ แแ แจแแแแฎแแแแ. แแ แแแแ แฉแแ แแ แแแแก แแแ. แฅแแแแแ แแแชแแแฃแแแ แกแแขแแกแขแ แกแแ แแแขแ, แ แแแแแแช แฃแแ แแแแ แแแแแแแแแแแแ แแแแฎแแแแก ID-แก SOAP แจแแขแงแแแแแแแแจแ. แแแแจแแแแแแแแแแ แแฆแแแแจแแแก. แแฅแแแ แแฆแแแ แคแแแแก flowFile-แแแ แแ แแแแแแฎแแแแ, แแ แแแแแแแฌแงแแแ, แ แแ แฃแแแ แแแแแ แฃแแแ แแฅ, แแแแแฎแแแแฃแแ. แแฆแกแแแแจแแแแแ แแกแแช, แ แแ แงแแแแ แแแแแแแแแแ แแ แจแแแแก. แจแแแซแแแแ แแแฎแแแก, แ แแ แแแแแช แแแแแฌแแแ แแ แ-แแ แแ lib-แแก แแแแแ แขแ. แแแแแ แแ แแ แแแแฃแกแ แแ แแก แแก, แ แแ แแ แแแแแ แแขแจแ แกแแ แแแขแแก แแแแแ แแแ แกแแแแแแ แ แแฃแแแ. แแ แกแแแแแก แแแ NIFI JVM-แแแ แแแกแแแแแจแแ แแแแแ แแ แแแแแ แแแแก แแ แแชแแกแแก แแแกแแฌแงแแแแ. แแแ แแแแ แแ แแแแฃแจแแ แแแแแแฃแ แ แแแแแแแชแแ แแ แแแแแฎแแแแ แกแแกแแแแแ แคแแแแแก แแแฆแแแแก แกแแแฃแแแชแแ. แแกแแแ แแแแแแแแ แแแแแแฃแ แแ แแแแแ แแแ. แจแแชแแแแแแ, แ แแแแแแแช แฉแแแแแ แกแแ แแแขแแก แฉแแขแแแ แแแแกแแก, Google-แแกแแแแก แกแแแแแแ แแแ แขแแแแ แแ แแแแแ NIFI แแฌแแ แแแ แแฃแ แแแแจแ.
import org.apache.commons.io.IOUtils
import groovy.xml.XmlUtil
import java.nio.charset.*
import groovy.xml.StreamingMarkupBuilder
def flowFile = session.get()
if (!flowFile) return
try {
flowFile = session.write(flowFile, { inputStream, outputStream ->
String result = IOUtils.toString(inputStream, "UTF-8");
def recordIn = new XmlSlurper().parseText(result)
def element = recordIn.depthFirst().find {
it.name() == 'id'
}
def newId = Integer.parseInt(element.toString()) + 1
def recordOut = new XmlSlurper().parseText(result)
recordOut.Body.ClientMessage.RequestMessage.RequestContent.content.MessagePrimaryContent.ResponseBody.id = newId
def res = new StreamingMarkupBuilder().bind { mkp.yield recordOut }.toString()
outputStream.write(res.getBytes(StandardCharsets.UTF_8))
} as StreamCallback)
session.transfer(flowFile, REL_SUCCESS)
}
catch(Exception e) {
log.error("Error during processing of validate.groovy", e)
session.transfer(flowFile, REL_FAILURE)
}
แกแแแแแแแแแแจแ, แแฅ แแแแแ แแแแ แแแแแ แแขแแก แแแ แกแแแแแแแแชแแ. แจแแแแแแ, แแแแแฎแแแแฃแแ แคแแแแ แแแแแแแก แแแแแ แแขแจแ, แ แแแแแแช แแแกแฃแฎแแกแแแแแแแแ แคแแแแแก แกแแ แแแ แแ แแแแแแแแแแ. แฅแแแแแ แแแชแแแฃแแแ แแ แแแแแ แแขแแก แแแ แแแแขแ แแแ.
แฉแแแ แแฆแแฌแแ แ แแแแแแก, แ แแแแแแแช SOAP แจแแขแงแแแแแแแ แแแแแแชแแแ. แแฌแแ แ แกแแ. แจแแแแแ แแฅแแแ แฃแแแ แแแฃแแแแแ, แ แแ แแก แแ แแก แกแแแแแ.
แแแแแแขแแ แ แแแแแแแแ แแแแกแแแ, แ แแแแ แแชแแ แแแกแแแแซแแแ แแ แแแฅแแแแแแ (soapAction). แฉแแแ แแแแแฎแแแ แแ แแแแแฌแแแแ. แแฅแแแ แจแแแแซแแแแ แแแฎแแ แแแขแ แแแขแแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแแแ SOAP แแแแฎแแแแแแ
แฉแแแ แแแแแแฎแแแแ NIFI แแ แแชแแกแแแแก แแแแแงแแแแแแก แ แแแแแแแแ แแแ แแแแขแก. แ แแแแ แฃแ แแแแ แแแแแ แแกแแแ แแ แ แ แแ แแก แแแแ แ แแแแฃแ แ แกแแ แแแแแแ? แแแแฎแแแฃแแ แแแแแแแแแแ แแ แแก แกแแชแแแแ แแ แแแแแ แแแแกแฎแแแแแแแ แแแแกแแแ, แ แแช แ แแแแฃแ แแ แฎแแแแ แแ แซแแแแจแ. แแแแแ แแแฅแแก, แ แแ แแก แกแขแแขแแ แชแแขแแแ แกแแกแแ แแแแแ แแฅแแแแ แแแแแแแแแ แแแแกแแแแก. แฒแแแแแแแ แงแฃแ แแแฆแแแแกแแแแก. แแฃ แแฅแแแ แแแฅแแ แ แแแแ แจแแแแแฎแแแแ, แแแฌแแ แแ. แแแชแแแแ แแฃแแแกแฃแฎแ.
แฌแงแแ แ: www.habr.com