Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy490.getLatestArticle(long)" threw an exception when invoked on com.sun.proxy.$Proxy490 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@41cb2b02"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign contenido = journalArticleSer...  [in template "20115#20151#PLANTILLA_MEDICO" at line 137, column 81]
----
1<#-- ID del contenido actual --> 
2<#assign journalArticleId = .vars['reserved-article-id'].data> 
3 
4<#--Se preparan las clases de utilidad --> 
5<#assign medicoService = serviceLocator.findService("com.liferay.ph.service.MedicoLocalService")> 
6<#assign hospitalService = serviceLocator.findService("com.liferay.ph.service.HospitalLocalService")> 
7<#assign journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")> 
8<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/> 
9 
10<#assign articleResourcePK = journalArticleResourceLocalService.getArticleResourcePrimKey(groupId, journalArticleId)/>  
11 
12<#--Se obtiene el medico a partir del ID del contenido web --> 
13<#assign medico = medicoService.findMedicoByIdContenidoMedico(articleResourcePK)!''> 
14 
15<#if medico?has_content && medico != ""> 
16	<#--A partir del medico se obtiene los hospitales en los que trabaja --> 
17	<#assign listaHospitales = hospitalService.getMedicoHospitals(medico.getIdMedico())> 
18 
19	<section>		 
20		<div class="container"> 
21			<!--Grid default--> 
22			<div class="row"> 
23				<div class="col-xs-12 col-md-3"> 
24					<button class="o-button-back c-button-back c-button-back--primary u-mt2 u-mt4@lg" onclick="GoBackWithRefresh();return false;"> 
25						${languageUtil.get(locale, "volver")} 
26					</button> 
27				</div> 
28				<div class="col-xs-12 col-md-9"> 
29					<!--Title --> 
30					<h2 class="c-title u-mt2 u-mt4@lg u-mb2"> 
31						${nombre.getData()!''} 
32					</h2> 
33					<!--/.Title--> 
34				</div> 
35			</div> 
36			<!--/.Grid default--> 
37			<!--Grid default--> 
38			<div class="row"> 
39				<div class="col-xs-12 col-sm-6 col-md-3 u-mt5@lg u-mb3"> 
40					<!--Image-doctor--> 
41					<figure class="o-image-doctor o-doctor__image"> 
42						<#if imagen.getData()?? && imagen.getData() != "">	 
43							<img data-fileentryid="${imagen.getAttribute("fileEntryId")}" alt="${imagen.getAttribute("alt")}" src="${imagen.getData()}" /> 
44						</#if> 
45					</figure> 
46					<!--/.Image-doctor--> 
47				</div> 
48				<div class="col-xs-12 col-md-9 u-no-float-left@md-lg"> 
49					<#if Especialidad.getData()?has_content && Especialidad.getData() != ""> 
50						<section> 
51							<!--Title --> 
52							<h3 class="c-title c-title--tertiary u-size2"> 
53								${Especialidad.getData()!''} 
54							</h3> 
55							<!--/.Title--> 
56							<#if Especialidad.Colegiado.getData()?has_content && Especialidad.Colegiado.getData() != ""> 
57								<div class="text-rich"> 
58									<p>${languageUtil.get(locale, "n-colegiado")} ${Especialidad.Colegiado.getData()}</p> 
59								</div> 
60							</#if> 
61						</section> 
62					</#if> 
63					 
64					<#if titulobiografia.getData()?has_content && titulobiografia.getData() != "" && titulobiografia.cuerpobiografia.getData()?has_content && titulobiografia.cuerpobiografia.getData() != ""> 
65						<section> 
66							<!--Title --> 
67							<h3 class="c-title c-title--tertiary u-mt3 u-mb1 u-size2"> 
68								${titulobiografia.getData()!''} 
69							</h3> 
70							<!--/.Title--> 
71							<div class="text-rich"> 
72								${titulobiografia.cuerpobiografia.getData()} 
73							</div> 
74						</section> 
75					</#if>							 
76					 
77					<#if formaciontitulo.getData()?has_content && formaciontitulo.getData() != "" && formaciontitulo.formacion.getSiblings()?has_content 
78					&& ((formaciontitulo.formacion.getSiblings())?size > 0) && formaciontitulo.formacion.getSiblings()[0].getData() ?has_content 
79					&& formaciontitulo.formacion.getSiblings()[0].getData() != ""> 
80						<section> 
81							<!--Title --> 
82							<h3 class="c-title c-title--tertiary u-mt3 u-mb1 u-size2"> 
83								${formaciontitulo.getData()!''} 
84							</h3> 
85							<!--/.Title--> 
86							<div class="text-rich"> 
87								<ul> 
88									<#list formaciontitulo.formacion.getSiblings() as cur_formaciontitulo_formacion> 
89										<li> 
90											${cur_formaciontitulo_formacion.getData()} 
91										</li> 
92									</#list> 
93								</ul> 
94							</div> 
95						</section> 
96					</#if> 
97					 
98					<#if experienciatitulo.getData()?has_content && experienciatitulo.getData() != "" && experienciatitulo.experiencia.getSiblings()?has_content 
99					&& ((experienciatitulo.experiencia.getSiblings())?size > 0) && experienciatitulo.experiencia.getSiblings()[0].getData() ?has_content 
100					&& experienciatitulo.experiencia.getSiblings()[0].getData() != ""> 
101						<section> 
102							<!--Title --> 
103							<h3 class="c-title c-title--tertiary u-mt3 u-mb1 u-size2"> 
104								${experienciatitulo.getData()} 
105							</h3> 
106							<!--/.Title--> 
107							<div class="text-rich"> 
108								<ul> 
109									<#list experienciatitulo.experiencia.getSiblings() as cur_experienciatitulo_experiencia> 
110										<li> 
111											${cur_experienciatitulo_experiencia.getData()} 
112										</li> 
113									</#list>                                      
114								</ul> 
115							</div> 
116						</section> 
117					</#if> 
118					 
119					<#if listaHospitales?has_content && (listaHospitales?size > 0)> 
120						<section> 
121							<!--Title --> 
122							<h3 class="c-title c-title--tertiary u-mt3 u-mb1 u-size2"> 
123								${languageUtil.get(locale, "centros")} 
124							</h3> 
125							<!--/.Title--> 
126							 
127							<!--List center--> 
128							<ul class="o-list-center"> 
129								<#list listaHospitales as hospital> 
130									<#assign enlaceHospital = "/" + hospital.getUrlSEO()> 
131									<#assign nombreHospital = hospital.getNombre(locale)> 
132									<#assign idContenido = hospital.getIdContenidoHospital()> 
133									<#assign contenido = ""> 
134									<#assign telefono = ""> 
135 
136									<#if idContenido?has_content> 
137										<#assign contenido = journalArticleService.getLatestArticle(idContenido)> 
138									</#if> 
139									<#if contenido?has_content && contenido != ""> 
140										<#assign docXml = saxReaderUtil.read(contenido.getContent()) />									 
141										<#assign telefono = docXml.valueOf("//dynamic-element[@name='telefono']/dynamic-content/text()") /> 
142									</#if> 
143									 
144									 
145									<li class="o-list-center__item c-list-center__item"> 
146										<div class="o-list-center__inner"> 
147											<a href="${enlaceHospital}" class="c-list-center__link"> 
148												${nombreHospital} 
149											</a> 
150											<!--Appointment single--> 
151											<div class="o-appointment-single c-appointment-single"> 
152												<i class="ibbc-icon-telephone c-appointment-single__icon"></i> 
153												<div class="o-appointment-single__inner"> 
154													<span class="c-appointment-single__text"> 
155														${languageUtil.get(locale, "pedir-cita-tel")} 
156													</span> 
157													<a href="tel:${telefono}" class="c-appointment-single__tel"> 
158														${telefono} 
159													</a> 
160												</div> 
161											</div> 
162											<!--/.Appointment telephone--> 
163										</div> 
164									</li> 
165								</#list>									 
166							</ul> 
167							<!--/.List center--> 
168						</section> 
169					</#if> 
170				</div> 
171			</div> 
172			<!--/.Grid default--> 
173		</div> 
174	</section> 
175</#if> 
176 
177<script> 
178    function GoBackWithRefresh(event) { 
179        if ('referrer' in document) { 
180            window.location = document.referrer; 
181            /* OR */ 
182            //location.replace(document.referrer); 
183        } else { 
184            window.history.back(); 
185
186
187</script>