Wydawca treści

Wystąpił błąd podczas przetwarzania szablonu.
The following has evaluated to null or missing:
==> FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) [in template "252001#252047#252845" at line 128, column 37]
----
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: dMTJsonObject = FrontendService.media... [in template "252001#252047#252845" at line 128, column 21]
----
1<#-- used @ Veranstaltung-Detailseite Intro 
2 used @ Publikation-Detailseite Intro 
3--> 
4 
5<#-- 
6Web content templates to display teaser on thema detail page 
7 
8Generic template for detail pages Intro / Teaser element 
9--> 
10<#-- 
11Display the current page title 
12--> 
13<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" /> 
14<#include "${fullTemplatesPath}/macros/debugging.ftl" /> 
15 
16<#include "${fullTemplatesPath}/macros/page-modules/PMIntro.ftl" /> 
17<#include "${fullTemplatesPath}/macros/atomic-modules/AMPublicationCarousel.ftl" /> 
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadata.ftl" /> 
19<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" /> 
20 
21 
22<#-- 
23 renders the Intro for nearly all Pages 
24 TODO: remove Share? (was in the designs, but not anymore?) 
25 TODO: check if languageSelect/filter are working (js) 
26 
27 - portletId 
28 - data = { 
29 "media": string (src from image), 
30 "category": string, 
31 "title": string, 
32 "author": string, 
33 "subheadline": string, 
34 "copy": string, 
35 "filter": { 
36 "id": string, 
37 "name": string, 
38 "entries": Array<Object> ({key:value}), 
39 }, 
40 "languageSelect": { 
41 "id": string, 
42 "name": string, 
43 "entries": Array<Object> ({key:value}), 
44 }, 
45 "meta": { 
46 "pos"; string (top/bottom) 
47 "date": string, 
48 "hash": string, 
49 "info": string, (url) 
50 }, 
51 "share" : { 
52 "login": string, 
53 "print": string, 
54 "mail": string, 
55 "multishare": string?? (tbd) 
56
57 - AMMetadata: macro 
58 - position: String ("top") -> defines wether the meta-data should be rendered above or below the intro-content 
59
60--> 
61 
62<#assign 
63 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
64 
65 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() 
66 DLAPP = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
67 
68 themeDisplay = ServiceContext.getThemeDisplay() 
69 editmode = FrontendService.user.isPrivilegedUser(themeDisplay) 
70 
71 languageId = themeDisplay.getLocale() 
72 groupId = themeDisplay.getScopeGroupId() 
73 currentUrl = themeDisplay.getURLCurrent() 
74 
75 layout = themeDisplay.getLayout() 
76 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id") 
77/> 
78 
79<#setting locale="${languageId}"> 
80 
81<#-- get article from url --> 
82 
83<#assign entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! > 
84 
85 
86<#if entry?has_content> 
87 
88 <#if entry.resourcePrimKey??> 
89 <#assign primaryKey = entry.resourcePrimKey?number > 
90 <#elseif entry.classPK??> 
91 <#assign primaryKey = entry.classPK?number > 
92 </#if> 
93 
94 <#assign 
95 jsonString = FrontendService.article.getWebcontent(primaryKey) 
96 json = FrontendService.json.parseAsJson(jsonString) 
97 availablelanguages = FrontendService.article.getAssetEntryToUrl(primaryKey).getAvailableLanguageIds() 
98 
99 title = entry.getTitle(languageId) 
100 data = { 
101 "title": title 
102
103 /> 
104 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" /> 
105 
106 <#if hasContent('untertitel', languageId, json)> 
107 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } > 
108 </#if> 
109 
110 <#if hasContent('beschreibung', languageId, json)> 
111 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } > 
112 </#if> 
113 
114 <#-- fill meta data --> 
115 <#assign meta = {} /> 
116 
117 <#-- PUBLIKATIONEN DETAIL --> 
118 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
119 
120 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)> 
121 <#assign 
122 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first") 
123 /> 
124 
125 <#if coverBildString?has_content> 
126 <#assign 
127 coverBild = FrontendService.json.parseAsJson(coverBildString) 
128 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) 
129 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid ) 
130 data = data + { "media": linkToDMT, "meta" : dMTJsonObject } 
131 /> 
132 <#if dMTJsonObject.altText?? > 
133 <#assign data = data + {"alt" : dMTJsonObject.altText} /> 
134 </#if> 
135 <#if dMTJsonObject.quelle??> 
136 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } /> 
137 </#if> 
138 </#if> 
139 <#-- uncomment to display pdf cover as Intro Image 
140 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)> 
141 <#assign 
142 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first") 
143 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/> 
144 <#if fileEntry?has_content> 
145 <#assign 
146 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
147 data = data + { "media": linkToThumbnail } 
148 /> 
149 </#if> 
150 --> 
151 </#if> 
152 
153 <#assign 
154 meta = meta + { "orderInfo": "true" } 
155 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!"" 
156 /> 
157 
158 
159 
160 <#if hasContent('erscheinungsdatum', languageId, json)> 
161 <#assign 
162 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
163 /> 
164 <#if erscheinungsdatum?has_content > 
165 <#assign 
166 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId ) 
167 meta = meta + { "date": erscheinungsdatumFormatted } 
168 /> 
169 </#if> 
170 </#if> 
171 
172 <#if verbundJournalArticle?has_content> 
173 <#assign 
174 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey) 
175 verbundJson = FrontendService.json.parseAsJson(verbundJsonString) 
176 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first") 
177 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first") 
178 /> 
179 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" /> 
180 <#assign meta = meta + { "laufendenummer": laufendenummer } > 
181 
182 <#if coverImg?has_content && coverImg.url?has_content > 
183 <#assign meta = meta + { "coverImg": coverImg.url } > 
184 </#if> 
185 </#if> 
186 
187 
188 <#if meta?has_content> 
189 <#assign data = data + {"meta": meta } > 
190 </#if> 
191 
192 </#if> 
193 <#-- PUBLIKATIONEN DETAIL END --> 
194 
195 
196 <#-- VERANSTALTUNGEN DETAIL --> 
197 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
198 <#assign 
199 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"" 
200 links = [] 
201 /> 
202 <#if availablelanguages?has_content && friendlyUrl?has_content> 
203 <#if (availablelanguages?size > 1) > 
204 <#list availablelanguages as language> 
205 <#assign 
206 defaultLanguage = "de_DE" 
207 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage) 
208 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale 
209 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId) 
210 
211 link = { 
212 "key": language!defaultLanguage, 
213 "value": linkLocale.getDisplayLanguage(languageId), 
214 "url": "/c/portal/update_language?p_l_id=" + 
215 layout.plid + "&redirect=" + langFriendlyUrl + 
216 "&languageId=" + language 
217
218 /> 
219 <#if language == languageId> 
220 <#assign link = link + { "selected": "true" } > 
221 </#if> 
222 <#assign links = links + [link]> 
223 </#list> 
224 <#assign 
225 data = data + { 
226 "languageSelect": { 
227 "id": "languageSelectRedirect", 
228 "name": "languageselectRedirect", 
229 "entries": links, 
230 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar") 
231
232
233 /> 
234 </#if> 
235 </#if> 
236 </#if> 
237 
238 <#if hasContent('erscheinungsdatum', languageId, json)> 
239 <#assign 
240 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
241 meta = meta + { "start": startdate?date.iso, "end": "" } 
242 /> 
243 </#if> 
244 
245 <#if hasContent('startdatum', languageId, json)> 
246 <#assign 
247 startdate = getValueForLanguage('startdatum', languageId, json, "first") 
248 meta = meta + { "start": startdate?date.iso, "end": "" } 
249 /> 
250 </#if> 
251 
252 <#if hasValue('einfuehrungText', locale, json)> 
253 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } > 
254 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")> 
255 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } > 
256 </#if> 
257 
258 <#if hasContent('endedatum', languageId, json)> 
259 <#assign 
260 enddate = getValueForLanguage('endedatum', languageId, json, "first") 
261 meta = meta + { "end": enddate?date.iso } 
262 /> 
263 </#if> 
264 
265 <#if hasContent('startzeit', languageId, json)> 
266 <#assign 
267 startzeit = getValueForLanguage('startzeit', languageId, json, "first") 
268 /> 
269 <#if startzeit?has_content > 
270 <#assign meta = meta + { "startzeit": startzeit } /> 
271 </#if> 
272 </#if> 
273 
274 <#if hasContent('endezeit', languageId, json)> 
275 <#assign 
276 endezeit = getValueForLanguage('endezeit', languageId, json, "first") 
277 meta = meta + { "endezeit": endezeit } 
278 /> 
279 </#if> 
280 
281 <#if hasContent('ortWCSKASDEORT', languageId, json)> 
282 <#assign 
283 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first")) 
284 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number 
285 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!"" 
286 /> 
287 <#if ortWCSKASDEORTWebContent?has_content > 
288 <#assign 
289 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!"" 
290 /> 
291 <#if ortWCSKASDEORTTitle?has_content > 
292 <#assign 
293 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle } 
294 /> 
295 </#if> 
296 </#if> 
297 </#if> 
298 
299 
300 <#if hasContent('veranstaltungsnummer', languageId, json)> 
301 <#assign 
302 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first") 
303 meta = meta + { "verauuid": verauuid } 
304 /> 
305 </#if> 
306 
307 
308 <#if (data.meta)?has_content > 
309 <#assign meta = data.meta /> 
310 </#if> 
311 
312 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)> 
313 <#assign 
314 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first") 
315 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution") 
316 /> 
317 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} > 
318 
319 
320 <#if mediaData.meta?? && mediaData.meta.quelle??> 
321 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } /> 
322 </#if> 
323 </#if> 
324 
325 
326 <#if meta?has_content> 
327 <#assign data = data + {"meta": meta } > 
328 </#if> 
329 
330 <#-- END fill meta data --> 
331 
332 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)> 
333 <#assign 
334 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json) 
335 authors = [] 
336 /> 
337 <#list journalArticles as articleString> 
338 <#assign article = FrontendService.json.parseAsJson(articleString) /> 
339 <#if article?has_content && article?is_hash && article.classPK??> 
340 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" /> 
341 <#if articleDereferenced?has_content > 
342 <#assign 
343 author = "" 
344 articlePrimaryKey = articleDereferenced.classPK?number 
345 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey) 
346 articleJson = FrontendService.json.parseAsJson(articleJsonString) 
347 /> 
348 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" /> 
349 <#if hasValue('anredetitel', languageId, articleJson)> 
350 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " "> 
351 </#if> 
352 <#if hasValue('vorname', languageId, articleJson)> 
353 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " "> 
354 </#if> 
355 <#if hasValue('nachname', languageId, articleJson)> 
356 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " "> 
357 </#if> 
358 
359 <#attempt> 
360 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" > 
361 <#recover> 
362 <#assign href = "#" > 
363 </#attempt> 
364 <#if href?has_content && href != "#" && href != "/_404"> 
365 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'> 
366 </#if> 
367 
368 <#assign authors = authors + [author?trim]> 
369 </#if> 
370 </#if> 
371 </#list> 
372 <#if authors?has_content> 
373 <#assign data = data + { "author": authors?join(", ") } > 
374 </#if> 
375 </#if> 
376 
377 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") > 
378 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! > 
379 <#if categories?has_content && categories[0]?has_content > 
380 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
381 </#if> 
382 
383 <#if hasContent('ausgebucht', languageId, json)> 
384 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }> 
385 </#if> 
386 
387 <#if hasContent('storniert', languageId, json)> 
388 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }> 
389 </#if> 
390 
391 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") > 
392 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! > 
393 <#if categories?has_content && categories[0]?has_content > 
394 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
395 </#if> 
396 <#else> 
397 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! > 
398 <#if categories?has_content && categories[0]?has_content > 
399 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
400 </#if> 
401 </#if> 
402 
403 
404 <#assign 
405 languages = [] 
406 /> 
407 
408 <#attempt> 
409 <#if json["document_pdfDMTBASICDOCUMENT"]?? > 
410 <#if availablelanguages?has_content> 
411 <#list availablelanguages as pdf_language> 
412 <#assign 
413 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first") 
414 docRef = FrontendService.json.parseAsJson(docRefJson) 
415 /> 
416 <#if docRef?is_hash && pdf_language != languageId > 
417 <#assign 
418 lang = FrontendService.language.getLocaleByKey(pdf_language)!"" 
419 docGroupId = docRef["groupId"]?number 
420 docUuid = docRef["uuid"] 
421 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale ) 
422 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject ) 
423 /> 
424 <#if lang?has_content> 
425 <#assign 
426 languages = languages + [ 
427
428 "key": pdf_language, 
429 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(), 
430 "url": dMTLink 
431 }] 
432 /> 
433 </#if> 
434 </#if> 
435 </#list> 
436 </#if> 
437 </#if> 
438 <#recover> 
439 </#attempt> 
440 
441 <#if (languages?size > 0)> 
442 <#attempt> 
443 <#assign 
444 data = data + { "languageSelect": { 
445 "id": "languageSelect", 
446 "name": "languageselect", 
447 "entries": languages, 
448 "documents": "", 
449 "button": "true" 
450 }} 
451 /> 
452 <#recover> 
453 </#attempt> 
454 </#if> 
455 
456 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" /> 
457 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)} 
458 
459 <#if data.meta?has_content> 
460 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()> 
461 <div>  
462 <div id="publicationVerbundPagination"> 
463 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg /> 
464 </div> 
465 </div> 
466 </#if> 
467 </#if> 
468 
469<#elseif (editmode?? && editmode)> 
470 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl /> 
471</#if> 

Wydawca treści

podziel się

Die Südostasienreise der US-Vizepräsidentin sollte ein Zeichen der Entschlossenheit und ein Bekenntnis zu einem langfristigen Engagement Washingtons in die Region aussenden, die strategische Fokussierung auf den Indo-Pazifik diplomatisch untermauern und Präsident Joe Bidens Mantra „America is back“ mit konkreten Initiativen ausfüllen. Neben der Rückversicherung für die Partner der USA diente die Reise jedoch in mindestens gleichem Maße der außenpolitischen Signalwirkung an den geopolitischen Wettbewerber in Peking. Der sich rasant vollziehende politische, wirtschaftliche und militärische Aufstieg der Volksrepublik China und dessen immer expansiveres Auftreten macht sich in keiner Weltregion so unmittelbar bemerkbar wie in Südostasien.

Dass die Reise von Kamala Harris sie nun neben Singapur vom 24. bis 26. August 2021 in das von der Kommunistischen Partei regierte Vietnam führte, macht deutlich, welchen strategischen Stellenwert Washington mittlerweile dem einstigen Kontrahenten in Hanoi beimisst.

 

Die Vergangenheit hinter sich lassen, den Blick in die Zukunft gerichtet

Die dramatischen Ereignisse am Kabuler Flughafen, welche im Westen manch Erinnerung evozierten, spielten anders als bei der ersten Reisestation Singapur in Hanoi keine Rolle. Berichte internationaler Medien, die historische Parallelen herzustellen versuchten, wurden in Vietnam zudem von der staatlichen Zensur durch Firewalls gesperrt. Verunsicherung (oder gar Schadenfreude) wurden durch die Bilder aus Kabul nicht hervorgerufen Die Entscheidung des Rückzugs der USA aus Afghanistan wird in Vietnam als eine bewusste Entscheidung zur Ermöglichung einer stärkeren Hinwendung und zum Ausbau des amerikanischen Engagements im Indo-Pazifik verstanden.

Dass Vietnam und die Vereinigten Staaten im Kalten Krieg, einst Kriegsgegner gewesen waren, spielte beim Besuch von Harris in Hanoi nur eine Randnotiz. So besuchte die US-Vizepräsidentin ein Denkmal an der Stelle, an welcher der spätere US-Senator und Präsidentschaftskandidat John McCain 1967 in seinem Kampflugzeug abgeschossen worden war. Zudem wurden finanzielle Mittel und Projekte zur Aufspürung und Beseitigung explosiver Kampfmittelaltlasten (UXO) aus dem Vietnamkrieg sowie zur Unterstützung von Menschen mit Behinderungen als Folge von Blindgängern und Umweltgiften zugesagt.

 

Vietnam als wichtiger Partner der USA in einer geopolitisch brisanten Region

Gegenwart und Zukunft der bilateralen Beziehungen sowie die vertiefte Zusammenarbeit auf Grundlage geteilter strategischen Interessen standen hingegen im Zentrum des Besuchs.

Aus US-amerikanischer Sicht stellt Vietnam mittlerweile noch vor den traditionellen Bündnispartner Philippinnen und Thailand oder dem bevölkerungsreichen Indonesien einen wichtigen strategischen Baustein in seiner Indo-Pazifik Strategie dar. Die Beziehung zu dem Einparteienstaat ist dabei keine Wertepartnerschaft, sondern eine auf realpolitischen Kalkulationen und Interessenskongruenz basierende Zusammenarbeit. In erster Linie ist die enge Beziehung der beiden Staaten eine Folge des Aufstieg Chinas.

Neben Singapur wurde Vietnam als einziges Land Südostasiens explizit in der „Interim National Security Strategy Guidance“ (INSSG), dem im März 2020 veröffentlichten ersten außenpolitischen Strategiedokument der Biden-Administration, erwähnt. Und auch wenn man die klassische Besuchsdiplomatie, gerade in Zeiten einer globalen Pandemie, als Gradmesser der Beziehungen heranzieht, so wird die Bedeutung Vietnams für die Verfolgung der außenpolitischen Interessen Washingtons in der Indo-Pazifik Region deutlich: Noch unter der Trump-Administration hatten im Oktober beziehungsweise November vergangenen Jahres der amerikanische Außenminister Mike Pompeo und der Nationale Sicherheitsberater Robert O´Brien Hanoi Besuche abgestattet, im Juli 2021 besuchte Verteidigungsminister Llody Austin als erstes Kabinettmitglied der Biden-Administration Vietnam. Und nun schließlich Kamala Harris als erste US-Vizepräsidentin überhaupt.

Einige politische Beobachter hatten im Vorfeld die Vermutung – oder Hoffnung – geäußert, dass es im Zuge des Besuchs von Harris zu einer Aufwertung der Partnerschaft zwischen den USA und Vietnam kommen könnte. Diese Erwartungen wurden nur teils erfüllt. Harris war mit dem Auftrag angereist, eine weitere Vertiefung der bestehenden „umfassenden Partnerschaft“ zwischen Vietnam und den USA zu erreichen – und das Angebot zu einer semantischen Aufwertung zu einer „strategischen Partnerschaft“ zu erneuern.

 

Der Substanz nach bereits eine strategische Beziehung

Vietnam unterhält mit mehr als einem Dutzend Staaten „strategische Partnerschaften“ – darunter auch seit Oktober 2011 mit Deutschland. Mit drei Staaten hat Hanoi die Partnerschaft formell auf höchste Ebene gehoben: 2012 wurde die seit 2001 bestehende „strategische Partnerschaft“ mit Moskau zu einer „umfassenden strategischen Partnerschaft“ aufgewertet, 2016 erfolgte die Aufwertung der seit 2007 bestehenden Partnerschaft mit Neu-Delhi. Primus inter pares bleibt jedoch Peking: mit Vietnam ist man durch eine „umfassende, strategische, kooperative Partnerschaft“ (2009) verbunden. Unzweifelhaft gibt es gewichtige politische, wirtschaftliche militärische und historische Gründe für diese besonders engen Beziehungen mit den drei genannten Partnern.

Mit den Vereinigten Staaten – dem wichtigsten Exportpartner Vietnams und nach China zweitwichtigstem Handelspartner – verbindet Vietnam offiziell jedoch weiterhin nur eine „umfassende Partnerschaft“.

Dabei ist man in Washington schon seit mehr als einer Dekade bemüht, die Beziehungen zum einstigen Kontrahenten auf eine auch der Sprache nach strategische Ebene zu heben. Der Substanz nach ist dies auch gelungen. Die leidvolle Vergangenheit, ideologische Differenzen und Kritik an der innenpolitischen Situation in Vietnam waren dabei keine Hindernisse.

Bereits 2010 hatte die damalige US-Außenministerin Hillary Clinton Vietnam eine „strategische Partnerschaft“ angetragen. 2013 verkündete man schließlich die „umfassende Partnerschaft“. Von da an nahm die Beziehung Fahrt auf: im zwanzigsten Jahr der Aufnahme diplomatischer Beziehungen wurde Nguyễn Phú Trọng als erster Generalsekretär der Kommunistischen Partei Vietnams (KPV) im Weißen Haus empfangen. Im Folgejahr erfolgte der Gegenbesuch von Präsident Barack Obama in Hanoi, im Zuge dessen auch die Aufhebung des US-Rüstungsembargos vereinbart wurde. 2017 wurde erstmalig ein Patrouillenboot der US-Küstenwache an Vietnam übergeben, im darauffolgenden Jahr lief mit der USS Carl Vinson erstmalig ein amerikanischer Flugzeugträger für einen Hafenbesuch in Da Nang ein – in jener Hafenstadt, wo 1965 die ersten US-Marines angelandet waren.

Auch in vielen anderen relevanten Bereichen erfolgte in den vergangenen Jahren ein kontinuierlicher, substantieller Ausbau der Beziehungen. Die USA sind somit längst zum zweitwichtigsten Partner Vietnams aufgestiegen. Wenn es um Fragen der maritimen Sicherheit und das Südchinesische Meer (in Vietnam: Biển Đông, übersetzt: Ostsee) geht, ist Washington gar der wichtigste Partner, denn hier sieht man sich durch den großen Nachbarn im Norden zunehmend herausgefordert. Das Bekenntnis zur regelbasierten internationalen Ordnung ist das wichtigste Bindeglied der amerikanisch-vietnamesischen strategischen Beziehungen.

 

Semantische Rücksichtnahme

Eine semantische Aufwertung der „umfassenden Partnerschaft“ zu einer „strategischen Partnerschaft“ wurde auch während des jüngsten Besuchs von US-Vizepräsidentin Kamala Harris nicht erreicht. In den Staatsmedien Vietnams wurde das Adjektiv „strategisch“ weitestgehend bewusst vermieden, aber man betonte die Bedeutung und Wichtigkeit der Beziehungen. So beschrieb Staatspräsident Nguyễn Xuân Phúc anlässlich des Besuchs von Harris die Vereinigten Staaten als „führendem und wichtigem Partner in der Außenpolitik“ und das Zentralorgan der KPV, die Propagandazeitung „Das Volk“ (Nhân Dân), schrieb am 25. August gleichlautend:
„Vietnam betrachtet die Vereinigten Staaten immer als einen der führenden wichtigen Partner und möchte weiterhin die Beziehungen zwischen Vietnam und den USA befördern, damit sich diese substanziell, effektiv in eine tiefe, langfristige Stabilität entwickeln und zum Aufbau und der Stärkung von Vertrauen beitragen, um dadurch eine Grundlage für den aktiven Austausch zwischen beiden Seiten zu schaffen und die Effizienz der Zusammenarbeit in der kommenden Zeit zu stärken und zu verbessern.“

Zugleich wurden auf niedrigerer medialer Ebene mutigere Töne angeschlagen. So veröffentlichten beispielsweise VietNamNet (eine Nachrichtenseite, die dem Ministerium für Information und Kommunikation untersteht) und Vietnam Investment Review (herausgegeben vom Ministerium für Planung und Investitionen) am 24. August ein Interview mit dem ehemaligen vietnamesischen Botschafter in Washington, Phạm Quang Vinh, in welchem laut angedachte wurde, dass überlegt werden müsse, die Partnerschaft auch semantisch aufzuwerten. Botschafter Vinh wies darauf hin, dass die Partnerschaft bereits sowohl „umfassend als auch strategisch“ sei.

In einer Pressekonferenz am 26. August mit ausgewählten Journalisten wurde zudem eine Frage der Jugendzeitung der Partei, Tuổi Trẻ, an Vize-Präsidentin Harris zugelassen, welche sich explizit nach der Perspektive einer „strategischen Partnerschaft“ erkundigte. Harris reagierte diplomatisch, den vietnamesischen Befindlichkeiten bewusst, und sprach von „Verständnis“ als Grundlage der Beziehungen und einer „strategischen Stärkung“ der bilateralen Beziehungen.

Dass man in Hanoi eine formelle Aufwertung der Partnerschaft mit den Vereinigten Staaten (noch) nicht vorantreibt, ist der Rücksichtnahme auf die Befindlichkeiten des großen Nachbarn im Norden geschuldet. Keinesfalls möchte man China unnötig verärgern, zumal die Beziehungen derzeit, auch im Südchinesischen Meer, wenig stabil erscheinen. Zugleich macht man mit der Diskussion einer „strategischen Partnerschaft“ in zweitrangigen Medien deutlich, dass diese Option für die Zukunft durchaus offengehalten wird, sollten sich die Beziehungen verschlechtern und Peking rote Linien überschreiten. Man zeigt, dass man auch in Hanoi weitere Pfeile im Köcher hat. Präsident Phúc – auch im Namen von Generalsekretär Trọng – sprach jedenfalls beim Besuch von Harris eine Einladung an US-Präsident Biden nach Vietnam aus.

 

Grundpfeiler der Außenpolitik Vietnams

Bereits im Vorfeld des Eintreffens von Harris hatte eine Sprecherin der vietnamesischen Regierung auf die Konstanten der vietnamesischen Außenpolitik hingewiesen und damit deutlich gemacht, dass eine semantische Aufwertung der vietnamesisch-amerikanischen Beziehungen dieses Mal nicht zu erwarten sei:

„Vietnam ist konsequent mit seiner Außenpolitik der Unabhängigkeit, Autonomie, Multilateralismus und Diversifizierung; um die Vertiefung, Effizienz und Nachhaltigkeit der Beziehungen zu Partnerländern, insbesondere zu wichtigen Partnern, zu fördern. Vietnam geht nicht mit einem Land gegen das andere."

Dass es aber auch hinsichtlich der Konstanten durchaus Spielräume gibt, belegt das Ende 2019 veröffentlichte verteidigungspolitische Weißbuch Vietnams. Dieses hatte zwar die „vier Neins“ bekräftigt: keine Militärallianzen; keine Bündnisse zulasten Dritter; keine ausländischen Militärbasen in Vietnam; und keine Gewalt oder Gewaltandrohung in den internationalen Beziehungen. Zugleich hatte das Weißbuch aber auch explizit darauf hingewiesen, dass verteidigungspolitische Beziehungen gestärkt werden sollen, um die Kapazitäten zur Verteidigung der Souveränität und zur Lösung gemeinsamer Sicherheitsherausforderungen zu stärken. Auch dieser Hinweis dürfte von den Adressaten verstanden worden sein.

Eine signifikante Abkehr von Grundpfeilern seiner Außenpolitik wäre für Vietnam jedoch riskant, zumal der Anpassungsdruck (bislang noch) zu gering ist.

Mit der Diversifizierung und Balancierung seiner Beziehung ist man bislang gut gefahren. Es ist weniger einem taoistischen Streben nach Harmonie geschuldet, als der geostrategischen Lage (und Verwundbarkeit) weswegen man eine Diversifizierung der Außenbeziehungen verfolgt und mit allen Regional- und Großmächten gute und vor allen Dingen gut austarierte Partnerschaften unterhält. Zu einer einseitigen Hinwendung zu den USA, insbesondere in einem als von US- Präsident Biden als Systemkonflikt charakterisierten geopolitischen Wettbewerb zwischen Autoritarismus und Demokratie, ist man in Hanoi nicht bereit. Eine Seitenwahl will man bislang vermeiden.

 

Ergebnisse des Besuchs von Harris

Auch wenn der Besuch von US-Vizepräsidentin Kamala Harris in Hanoi nicht zu einer Aufwertung der „umfassenden“ zu einer „strategischen Partnerschaft“ führt, so tragen die jüngst erzielten Vereinbarungen zu einer weiteren substantiellen Vertiefung der strategischen Beziehungen zwischen den USA und Vietnam bei.

Entsprechend den aktuellen Bedürfnissen und Prioritäten des im Zuge der Verbreitung der Delta-Variante von der Covid-19 Pandemie stark betroffenem Vietnam war der Besuch von Harris mit der amerikanischen Ankündigung verbunden, über eine Millionen Impfdosen des deutsch-amerikanischen Vakzins von BioNTech-Pfizer zusätzlich zu den bereits 5 Millionen über die internationale Impfstoffallianz COVAX bereitgestellten Moderna Impfdosen zu liefern. Öffentlichkeitswirksam konnte Harris während Ihres Aufenthalts eine Teillieferung in Empfang nehmen und an die vietnamesischen Partner übergeben. Die USA führen damit die Impfstoffdiplomatie in Vietnam an. Das ist auch in Peking nicht unbemerkt geblieben und so hat kurz vor dem Eintreffen von Harris der chinesische Botschafter bei einem Treffen mit dem vietnamesischen Regierungschef, Ministerpräsident Phạm Minh Chính die Lieferung von 2 Million chinesischen Impfdosen zugesagt.

Neben der Lieferung von Impfstoffen wurde von Harris auch eine Aufstockung der finanziellen Hilfen für die Pandemiebekämpfung in Vietnam zugesichert. Mit der Eröffnung des Südostasien Regionalbüros des U.S. Centers for Disease Control and Prevention (CDC) in Hanoi wurde zudem ein langfristiges Engagement in Vietnam und der Region untermauert. Auch die Unterzeichnung eines Pachtvertrags für 99 Jahre für eine neu zu errichtendes US-Botschaftsgebäude sowie – nach 17 Jahren zähen Verhandlungen – die Einrichtung des Peace Corps verstärkten die Symbolik eines stärkeren, nachhaltigen Engagement Amerikas in Vietnam. Zur Bekämpfung des globalen Klimawandels und seiner Auswirkungen sowie zu der Resilienz von Lieferketten wurden im Zuge des Besuchs weitere Vereinbarungen getroffen.

Größte Beachtung dürften jedoch die Aussagen zur Zusammenarbeit im Bereich der maritimen Sicherheit finden: Man bekannte sich gemeinsam zur hochrangigen Sicherheitszusammenarbeit, vereinbarte weitere Hafenbesuche amerikanischer Kriegsschiffe – inklusive Flugzeugträger – und kündigte – vorbehaltlich der Zustimmung des US-Kongress – die Lieferung eines (dritten) Patrouillenboots für die vietnamesische Küstenwache an.

Dass die bilateralen Beziehungen zwischen den Vereinigten Staaten und dem Einparteienstaat keine Wertepartnerschaft darstellen, sondern auf Realpolitik und Interessenkongruenz beruhen, wurde deutlich durch das Treffen von Harris mit zivilgesellschaftlichen Vertretern Vietnams. Anders als noch beim Besuch Barack Obamas, als es auch zu einem Zusammentreffen mit Aktivisten für Presse- und Meinungsfreiheit kam, wollte man bei allen unterschiedlichen Bewertungen der innenpolitischen Situation keine Verstimmung riskieren. So engagieren sich die ausgewählten zivilgesellschaftlichen Gesprächspartner in weniger sensiblen Bereichen wie LGBTQ oder setzen sich für die Belange von Behinderten ein.

Dass sich die die USA bei dem Thema Zivilgesellschaft in Vietnam eine gewisse Selbstbeschränkung auferlegt haben zeigt deutlich auf, dass eine Charakterisierung des geopolitischen Wettbewerbs als wertebasierter Systemkonflikt in Vietnam (und Südostasien insgesamt) nur bedingt anschlussfähig ist. Die strategischen Beziehungen zwischen Hanoi und Washington werden jenseits semantischer Fragen die geopolitische Dynamik in Südostasien in den nächsten Jahren maßgeblich mitprägen.

Wydawca treści

nasz zespół

Florian C. Feyerabend

Florian Constantin Feyerabend (2020)

Leiter des Auslandsbüros Vietnam

florian.feyerabend@kas.de
Inne publikacje
13 sierpnia 2020
pokaż więcej

comment-portlet

Wydawca treści

Wydawca treści

o tej serii

Fundacja Konrada Adenauera posiada własne biura w 70 krajach na pięciu kontynentach. Pracownicy zagraniczni udzielą na miejscu z informacji z pierwszej ręki o aktualnych wydarzeniach i planach na przyszłość w Państwa kraju. W „Sprawozdaniach krajowych” udostępniają użytkownikom strony internetowej Fundacji Konrada Adenauera analizy, informacje dodatkowe oraz oceny.