Er trad een fout op tijdens de verwerking van de sjabloon.
Java method "com.sun.proxy.$Proxy478.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy478 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@7d2d0c28"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: article = journalArticleLocalService...  [in template "20115#20151#IDEWE.TEMPLATE.WEB2.ARTICLE" at line 9, column 9]
	- Reached through: #assign-container  [in template "20115#20151#IDEWE.TEMPLATE.WEB2.ARTICLE" at line 1, column 1]
----
1<#assign 
2	newsArticleService = serviceLocator.findService("be.idewe.portal.website.articles.api.NewsArticleService") 
3	fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") 
4	articleLanguageService = serviceLocator.findService("be.idewe.portal.website.article.language.api.ArticleLanguageService") 
5	journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
6	pagesService = serviceLocator.findService("be.idewe.portal.website.pages.api.PagesService") 
7	journalArticleId = .vars['reserved-article-id'].getData() 
8 
9	article = journalArticleLocalService.getArticle(groupId, journalArticleId) 
10 
11	themaList = newsArticleService.getThemas(journalArticleId, groupId) 
12	expertData = newsArticleService.getExpertData(expert.getData(), groupId, locale) 
13	relatedNewsList = newsArticleService.getRelatedNews(journalArticleId, 5, 9, groupId, locale) 
14	overviewUrl = pagesService.getNieuwsOverzichtUrl(themeDisplay) 
15 
16	theme_tooltip_label = languageUtil.get(locale, 'idewe.news.theme.tooltip') 
17 
18	themeHashKey = "theme" 
19 
20	thisLayout = themeDisplay.getLayout() 
21    sourceUrl = themeDisplay.getURLCurrent()?keep_before("?") 
22	siteUrl = themeDisplay.getPathFriendlyURLPublic() + thisLayout.getGroup().getFriendlyURL() 
23
24<#if !sourceUrl?starts_with(siteUrl)> 
25    <#assign siteUrl = ''> 
26</#if> 
27<#assign 
28	ancestorLayouts = thisLayout.getAncestors() 
29	parentLayout = ancestorLayouts[0] 
30    parentUrl = siteUrl + parentLayout.getFriendlyURL() 
31 
32	breadcrumbsSeparatorClass = 'fas fa-angle-right' 
33
34 
35<#if articleLanguageService.hasLocale(article, locale) > 
36 
37<#assign 
38	displayDate_data = displayDate.getData() 
39	displayDate_object = dateUtil.parseDate("yyyy-MM-dd", displayDate_data, locale) 
40	displayDate_formatted = dateUtil.getDate(displayDate_object, "d MMMM yyyy", locale) 
41
42 
43<#macro languageWithArguments key arguments><#compress> 
44	<#assign label><@liferay.language key="${key}" /></#assign> 
45	<#if arguments?is_sequence> 
46		<#list arguments as argument> 
47			<#assign label = label?replace("{" + argument?index + "}", argument)> 
48		</#list> 
49	<#else> 
50		<#assign label = label?replace("{0}", arguments)> 
51	</#if> 
52	${label} 
53</#compress></#macro> 
54<#macro prettyPrintFileSize bytes><#compress> 
55	<#assign kib = bytes?number / 1024> 
56	<#if kib &gt; 1 > 
57		<#assign mib = kib / 1024> 
58		<#if mib &gt; 1 > 
59			<#assign gib = mib / 1024> 
60			<#if gib &gt; 1 > 
61				${gib?string["0.#"]?replace(".", ",")} <@liferay.language key="idewe.file.size.gib" /> 
62			<#else> 
63				${mib?string["0.#"]?replace(".", ",")} <@liferay.language key="idewe.file.size.mib" /> 
64			</#if> 
65		<#else> 
66			${kib?string["0.#"]?replace(".", ",")} <@liferay.language key="idewe.file.size.kib" /> 
67		</#if> 
68	<#else> 
69		${bytes} <@liferay.language key="idewe.file.size.b" /> 
70	</#if> 
71</#compress></#macro> 
72<div class="news-article-breadcrumbs centered-content"> 
73    <nav id="breadcrumbs"> 
74        <ul class="breadcrumbs"> 
75            <#list ancestorLayouts?reverse as ancestorLayout> 
76                <#assign nodeUrl = siteUrl + ancestorLayout.getFriendlyURL()> 
77                <li> 
78                    <#if ancestorLayout?index != 0> 
79                        <i class="${breadcrumbsSeparatorClass}"></i> 
80                    </#if> 
81                    <a href="${nodeUrl}">${htmlUtil.escape(ancestorLayout.getName(locale))}</a> 
82                </li> 
83            </#list> 
84            <li> 
85                <i class="${breadcrumbsSeparatorClass}"></i> 
86                ${.vars['reserved-article-title'].getData()} 
87            </li> 
88        </ul> 
89    </nav> 
90</div> 
91<div class="news-article"> 
92    <div class="news-article-top-wrapper centered-content"> 
93        <h1 id="${companyId}_Top">${.vars['reserved-article-title'].getData()}</h1> 
94        <div class="news-article-header"> 
95            <span class="news-article-date">${displayDate_formatted}</span> 
96            <span class="header-separator">-</span> 
97            <span class="news-article-themes"> 
98                <#list themaList as thema> 
99                    <#if thema?index != 0><span class="theme-separator">|</span></#if> 
100                    <a class="theme-link" title="<@languageWithArguments key="idewe.news.theme.tooltip" arguments="${thema.getTitle(locale)}" />" href="${parentUrl}#${themeHashKey}=${thema.getTitle(locale)?url('UTF-8')}">${thema.getTitle(locale)}</a> 
101                </#list> 
102            </span> 
103        </div> 
104        <#if expertData?? && expertData.name?has_content> 
105            <div class="news-article-expert"> 
106                <div class="news-article-expert-image"> 
107                    <div class="news-article-expert-image-crop"> 
108                        <img alt="${expertData.photoAlt}" src="${expertData.photoSrc}" /> 
109                    </div> 
110                </div> 
111                <div class="news-article-expert-details"> 
112                    <p><@liferay.language key="idewe.news.expert" /> ${expertData.prefix} ${expertData.name}</p> 
113                    <p>${expertData.function}</p> 
114                </div> 
115            </div> 
116        </#if> 
117        <#if subTitle.getData()?has_content> 
118            <h2>${subTitle.getData()}</h2> 
119        </#if> 
120        <p class="news-article-summary">${summary.getData()}</p> 
121        <#if paragraph?has_content> 
122            <#list paragraph.getSiblings() as paragraphItem> 
123                <div class="web-content-paragraph clearfix"> 
124                    <h2 class="web-content-paragraph-title">${paragraphItem.paragraphTitle.getData()}</h2> 
125                    <#if paragraphItem.paragraphImage?? && paragraphItem.paragraphImage.paragraphImageAlignment?? && paragraphItem.paragraphImage.paragraphImageAlignment.getData() != ""> 
126                        <#assign imageAlignment = paragraphItem.paragraphImage.paragraphImageAlignment.getData()> 
127                    <#else> 
128                        <#assign imageAlignment = "left"> 
129                    </#if> 
130                    <#if paragraphItem.paragraphImage.paragraphImageFile?? && paragraphItem.paragraphImage.paragraphImageFile.getData() != ""> 
131                        <#if paragraphItem.paragraphImage.paragraphImageWidth?? && paragraphItem.paragraphImage.paragraphImageWidth.getData() != ""> 
132                            <#assign imageWidth = paragraphItem.paragraphImage.paragraphImageWidth.getData()> 
133                        <#else> 
134                            <#assign imageWidth = "full"> 
135                        </#if> 
136                        <div class="web-content-paragraph-image alignment-${imageAlignment} width-${imageWidth} wow fadeIn"> 
137                        	<#if paragraphItem.paragraphImage.paragraphImageDownload?has_content && paragraphItem.paragraphImage.paragraphImageDownload.getData()?has_content> 
138	                        	<#assign 
139	                                filePathArray = paragraphItem.paragraphImage.paragraphImageDownload.getData()?keep_before("?")?split("/") 
140	                                fileEntry = fileEntryService.getFileEntryByUuidAndGroupId(filePathArray[5], filePathArray[2]?number) 
141	                                fileExtension = fileEntry.getExtension() 
142	                                fileSize = fileEntry.getSize() 
143
144	                        	 
145	                        	<div class="downloadable"> 
146	                        		<a href="${paragraphItem.paragraphImage.paragraphImageDownload.getData()}" target="_blank"> 
147		                        		<div class="downloadable-icon"> 
148		                     
149			                        		<i class="fas fa-download"></i> 
150			                        		<p>(${fileExtension} - <@prettyPrintFileSize bytes="${fileSize?number}" />)</p> 
151			                        	 
152			                        	</div> 
153		                        		<div class="downloadable-background"></div> 
154		                        	</a> 
155	                        	</div> 
156                        	</#if> 
157                        	 
158                            <img alt="${paragraphItem.paragraphImage.paragraphImageFile.getAttribute("alt")}" src="${paragraphItem.paragraphImage.paragraphImageFile.getData()}" /> 
159                        </div> 
160                    </#if> 
161                    <div class="web-content-paragraph-content alignment-${imageAlignment}">${paragraphItem.paragraphContent.getData()}</div> 
162                </div> 
163            </#list> 
164        </#if> 
165        <#if download.getSiblings()?first.downloadFile.getData()?has_content> 
166            <div class="news-article-downloads"> 
167                <h2 id="${companyId}_Downloads"><@liferay.language key="idewe.news.downloads" /></h2> 
168                <ul class="news-article-downloads"> 
169                    <#list download.getSiblings() as downloadItem> 
170                        <#if downloadItem.downloadTitle.getData()?has_content> 
171                            <#assign 
172                                filePathArray = downloadItem.downloadFile.getData()?keep_before("?")?split("/") 
173                                fileEntry = fileEntryService.getFileEntryByUuidAndGroupId(filePathArray[5], filePathArray[2]?number) 
174                                fileExtension = fileEntry.getExtension() 
175                                fileSize = fileEntry.getSize() 
176
177                            <li class="news-article-download ext-${fileExtension}"> 
178                                <a href="${downloadItem.downloadFile.getData()}">${downloadItem.downloadTitle.getData()}</a> 
179                                <span class="news-article-download-details">(${fileExtension} - <@prettyPrintFileSize bytes="${fileSize?number}" />)</span> 
180                            </li> 
181                        </#if> 
182                    </#list> 
183                </ul> 
184            </div> 
185        </#if> 
186    </div> 
187 
188    <@liferay_portlet["runtime"] 
189        portletProviderAction=portletProviderAction.VIEW 
190        portletProviderClassName="com.liferay.asset.kernel.model.AssetEntry" 
191    /> 
192 
193	<#assign 
194        listSize = relatedNewsList?size 
195        aantalCol1 = (listSize / 3)?ceiling 
196        aantalCol2 = (listSize / 3)?round 
197        aantalCol3 = (listSize / 3)?floor 
198
199	<#if relatedNewsList?? && (listSize > 0)> 
200        <div class="centered-content"> 
201            <div class="related-news col-md-12"> 
202                <h2><@liferay.language key="idewe.news.related" /></h2> 
203                <#list relatedNewsList as relatedNewsArticle> 
204                    <#if relatedNewsArticle?index = 0 
205                        || relatedNewsArticle?index = aantalCol1 
206                        || relatedNewsArticle?index = aantalCol1 + aantalCol2> 
207                        <div class="col-md-4"> 
208                            <ul> 
209                    </#if> 
210                    <li> 
211                        <i class="fa fa-angle-right"></i> 
212                        <a href="${relatedNewsArticle.getArticleUrl()}">${relatedNewsArticle.getTitle()}</a> 
213                    </li> 
214                    <#if relatedNewsArticle?index = aantalCol1 - 1 
215                        || relatedNewsArticle?index = aantalCol1 + aantalCol2 - 1 
216                        || relatedNewsArticle?index = listSize - 1> 
217                            </ul> 
218                        </div> 
219                    </#if> 
220                </#list> 
221            </div> 
222        </div> 
223	</#if> 
224</div> 
225 
226<#else> 
227<script> 
228	window.location.replace("${overviewUrl}"); 
229</script> 
230</#if>