An error occurred while processing the template.
The following has evaluated to null or missing:
==> serviceLocator  [in template "86161#86202#47879" at line 1, column 38]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign AssetCategoryLocalService = s...  [in template "86161#86202#47879" at line 1, column 1]
----
1<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
2<#assign AssetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") /> 
3<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
4<#assign journalArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data) /> 
5<#assign categories = AssetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey()) /> 
6<#if categories?has_content> 
7    <#list categories as category> 
8				<#assign vNum = category.getVocabularyId()> 
9				<#assign v  = AssetVocabularyLocalService.getAssetVocabulary(vNum)> 
10    		<#if v.getName() == "topic" > 
11        	<#assign cat = category.getName()> 
12					<#assign catId = category.getCategoryId()> <!-- Topic --> 
13    		</#if> 
14				<#if v.getName() == "news-feed-type"> <!-- Feed Type --> 
15        	<#assign feed_type = category.getName()> 
16					<#assign feedID = category.getCategoryId()> 
17    		</#if> 
18    </#list> 
19</#if> 
20 
21<#if (feed_type?? && feed_type != "News at Marist") > 
22  <script>  
23     window.location = "<#if URL.getData() != "">${URL.getData()}<#else>/news</#if>"; 
24  </script> 
25</#if> 
26 
27<div id=""> 
28    <div class="container"> 
29        <div class="row"> 
30            <div class="col"> 
31                <article class="news-article"> 
32                    <span class="news news-category"> 
33											<#if cat??> 
34      									<#--<a href="/news-archives?feed=&year=&category=${cat}">${cat}</a>--> 
35												<a href="/news-archives?category=${catId}">${cat}</a> 
36      								</#if> 
37                    </span> 
38                    <h1>${Article_display_title.getData()}</h1> 
39										<#if (Subheader.getData())?? && Subheader.getData() != ""> 
40										  <div class="news-subheader"> 
41                      <h3>${Subheader.getData()}</h3> 
42											</div> 
43										</#if>										 
44                    <div class="news news-info"> 
45                        <span> ${Author.getData()} </span> 
46                    </div> 
47                    <div class="news news-main-image"> 
48                        <#if (ImageLarge.getData())?? && ImageLarge.getData() != ""> 
49                            <figure> 
50                                <img alt="${ImageLarge.getAttribute("alt")}" data-fileentryid="${ImageLarge.getAttribute("fileEntryId")}" src="${ImageLarge.getData()}" /> 
51                                <figcaption class="fig-caption"> 
52                                    <#if Photo_Credit?? && Photo_Credit.getData()?has_content> 
53                                        <span class="photo-caption">${Photo_Credit.getData()}</span> 
54                                    </#if> 
55                                </figcaption> 
56                            </figure> 
57                        </#if> 
58                    </div> 
59                    <div class="addthis_inline_share_toolbox">&nbsp;</div> 
60                    <div class="news news-content"> 
61                        ${Article.getData()}  
62                    </div>  
63                    <div class="news news-back"> 
64                        <a href="/news">Back to All News  <i class="ion-chevron-right"></i></a> 
65                    </div> 
66                </article> 
67            </div> 
68        </div> 
69    </div> 
70</div> 
71 
72<style> 
73    .fig-caption { 
74        margin-top: 10px; 
75
76     
77    .photo-caption, .photo-credit { 
78        font-size: 14pt; 
79        font-family: myriad-pro, sans-serif; 
80        font-style: normal; 
81        font-weight: 600; 
82        color: #616363; 
83
84 
85    .news-content a{ 
86        text-decoration: underline; 
87
88 
89     
90    .news-article { 
91        margin-top: 70px !important; 
92
93 
94    .news-article .news { 
95        margin-top: 1em; 
96
97 
98    .news-article .news-category, .news-category a { 
99        font-family: myriad-pro, sans-serif; 
100        font-style: normal; 
101        font-weight: 600; 
102        font-size: 1em; 
103        color: #b31b1b; 
104        text-transform: uppercase; 
105
106 
107    .news-article .news-category a:hover { 
108        text-decoration: none; 
109        color: #b31b1b; 
110
111 
112    .news-article .source-name { 
113        font-family: myriad-pro, sans-serif; 
114        font-style: normal; 
115        font-weight: 600; 
116        font-size: 1em; 
117        text-transform: uppercase; 
118        margin: 0; 
119
120 
121    .news-article h1 { 
122        border-bottom: 2px #d8dcdd solid; 
123
124 
125    .news-article h2,  
126    .news-article h3 { 
127        line-height: 1; 
128        min-width: 150px; 
129
130 
131    .news-article h2 a,  
132    .news-article h3 a { 
133        color: #151716; 
134
135 
136    .news-article h2 a:link, 
137    .news-article h2 a:visited, 
138    .news-article h2 a:hover, 
139    .news-article h2 a:visited,  
140    .news-article h3 a:link, 
141    .news-article h3 a:visited, 
142    .news-article h3 a:hover, 
143    .news-article h3 a:visited { 
144        text-decoration: none; 
145        color: #151716; 
146
147 
148    .news-article .news-info span { 
149        font-family: myriad-pro, sans-serif; 
150        font-style: normal; 
151        font-weight: 600; 
152        padding-right: 1em; 
153        color: #616362; 
154
155 
156    .news-article .news-subheader h2 { 
157        font-family: myriad-pro, sans-serif; 
158        font-style: normal; 
159        font-weight: 600; 
160        padding-right: 1em; 
161        color: #616362; 
162				font-size: 1rem; 
163    }	 
164		 
165    .news-article .news-img-caption { 
166        margin-bottom: 1em; 
167
168 
169    .news-article .news-img-caption { 
170        border-bottom: 4px solid #b31b1b; 
171
172 
173    .news-article .news-img-caption span { 
174        display: block; 
175        font-family: myriad-pro, sans-serif; 
176        font-style: normal; 
177        font-size: 14px; 
178        color: ##6c6c6c; 
179        padding: 8px 0 8px 0; 
180        font-weight: 100; 
181
182 
183    .news-article .news-quote { 
184        padding-right: 5% 0; 
185
186 
187    .news-article .news-quote blockquote { 
188        padding: 15% 0; 
189        font-size: 1.5em; 
190        line-height: 1.2; 
191        width: 85%; 
192        font-style: italic; 
193
194 
195    .news-article .news-back { 
196        float: right; 
197        font-family: myriad-pro, sans-serif; 
198        font-style: normal; 
199        font-weight: 600; 
200
201 
202    .news-article .news-back .ion-chevron-right { 
203        font-size: .8em; 
204
205</style> 
206 
207<!-- Go to www.addthis.com/dashboard to customize your tools -->  
208<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5c76aa882054ca50"></script> 
209<script type="text/javascript"> 
210var addthis_config = 
211
212   ui_tabindex: "0" 
213
214</script> 

Asset Publisher