Logistics is one of the most competitive and dynamic industries around
Make use of the opportunities the Internet of Things (IoT) offers to ensure that you and your company are on target optimally, today and in the future, and can hold your ground against the competition – from incoming goods inspection and machine maintenance to last-mile delivery. With our IoT solutions you will complete the successful transformation from a shipping company pure and simple to a digitized logistics provider.
Discover the areas in which we can support you with our solutions and how enterprises are already using the IoT to implement the concept of smart logistics. We help you to be even more successful in your business.
Recognize challenges, meet them together successfully
In a crowded market small-scale truckers and midrange logistics enterprises alike must hold their own.
They must use resources efficiently in order to achieve their sustainability objectives and fulfill both statutory requirements and customers’ needs for eco-friendlier shipping networks.
Low margins mean companies must manage resources economically so that they can boost productivity and cut costs.
Employees need digital aids in order to handle high order volumes optimally and keep delivery times to a minimum.
Networks are needed along the supply chain to enable companies to share data and optimize services and service experiences.
Our solutions for your success
Enhance Efficiency and Reliability
Fleet Management: IoT solutions serve not only to keep the current status of your fleet under constant scrutiny and to utilize it optimally. They also help with dynamic route planning by enabling subsequent suppliers to use alternative routes, thereby optimizing delays and, indeed, the last mile. Read more
Digital Intralogistics and Incoming Goods Inspection: Our IoT solutions enhance your efficiency both on the road and in the warehouse. Automated order processes save time, simplify processes and reduce errors. As goods are checked into and deregistered from the system automatically, efficient incoming goods inspection and inventory management are made possible.
Improve Service Experiences
New Business Models: In Logistics 4.0 merely delivering the goods is no longer enough. With our solutions companies can add to their offering and position themselves more flexibly and more sustainably. By using IoT sensors to record data you offer customers added value in the form of digital services.
Smart Transport Monitoring: Our IoT solutions optimize transport monitoring. Trackers and temperature sensors make transparent shipment tracking possible, including condition monitoring of goods and tracking of vehicles. So your ETA is more precise, you avoid defective deliveries and you increase customer satisfaction.
Manage Resources Sustainably
E-Mobility: With our help you can drive your firm’s sustainability forward and use alternative sources of energy. By e-charging at logistics hubs, for example. EVs reduce greenhouse gas emissions, making logistics greener and meeting customers’ requirements for better environmental protection.
Make Your Business Eco-Friendly: Our digital technologies enable you to reduce your ecological footprint. IoT sensor technology gives you full control over your energy consumption in buildings, so you can optimize it. RFID labels and digital shipping documents reduce both your labor input and your garbage output. Paper checklists are history. Reduce your fleet’s CO2 emissions by using, for instance, ideal, dynamic route planning.
Workforce Enablement
Smart Order Picking: By means of Pick-by-Vision, Pick-by-Scan, Pick-by-Voice or Augmented Reality Picking using data glasses, your order pickers can benefit from smart technology. They will have all the information they need in the right place and can work faster and with greater precision.
Smart Maintenance: Remote maintenance spares your employees lengthy breakdown outages and makes vehicle inspection easier. Thanks to predictive maintenance trucks can be kept in good condition and downtimes can be reduced. Our IoT solutions lay the groundwork for ideal condition monitoring by connecting your vehicles, enabling you to analyze and optimize your employees’ driving, leading to less wear and tear.
Experience the many benefits of Deutsche Telekom
Simple
Thanks to network coverage of over 99% for LTE-M and NB-IoT and 96% for 5G across Germany – combined with our own transatlantic network and partnerships with 600 certified roaming and satellite partners – we offer best-in-class coverage and global IoT connectivity. All with just one SIM card, one contract, and one central customer service.
Secure
With flawless network coverage and secure IP-VPN connections, we ensure reliable global connectivity. ISO-certified hardware and regular inspections also guarantee that your project remains fully protected and optimally supported at all times.
Flexible
The right network technology is available for every application, anywhere – whether it’s NB-IoT, LTE-M, 5G, or satellite connections. Thanks to the new Dormant Connectivity, devices are cost-effectively pre-connected at the factory and can be activated on demand at any time.
More efficiency and sustainability in logistics through digitization and IoT
Learn more in our webinar with Florian Schröter, Dr. Anton Schäfer and Ariane Elena Fuchs.
We are at your service!
You need further information about one of our offers or have a specific question? We are happy to help you.
ETA is short for Estimated Time of Arrival. In logistics the sender gives recipients an estimate – the ETA – of when they can expect delivery of the consignment. The ATA, or Actual Time of Arrival is, of course, more specific. ETD stands for Estimated Time of Departure. That can be when a shipment is likely to leave the warehouse and be on its way to the recipient. The accuracy of ETA and ETD estimates can be improved by, inter alia, using tracking solutions and digital incoming goods inspection by means of electronic waybills. Companies then always know exactly where in the supply chain their consignment is at any time.
Smart Logistics means connected and largely automated logistics that in the best case covers all enterprises along the value chain. It is based on digital and smart technologies like the Internet of Things (IoT). One aim of Smart Logistics is to optimize supply chain transparency by using tracking solutions to make goods traceable end to end. In addition, work processes are to run as efficiently as possible. Pick-by-Vision and other smart order picking methods assist warehouse operatives and enable them to handle more orders in a shorter time with greater precision. Smart Logistics is often mentioned in connection with Industry 4.0. The two concepts complement each other.
On the Internet of Things goods and machines can be connected with each other along the entire value chain. IoT trackers, for example, make goods and transportation vehicles traceable and smart storage systems register incoming and outgoing goods automatically so that companies always have a transparent overview of their inventories and shipments. IoT sensors analyze and make available machine and vehicle utilization data and enterprises can also plan maintenance cycles and ensure that processes are as seamless as possible.
The concept of Logistics 4.0 is closely related that of Smart Logistics. As with Industry 4.0, the number refers to the fourth industrial revolution, a successor to the first industrial revolution that began in the late eighteenth century and redefined economic activity with steam engines etc. In Logistics 4.0 it is primarily digital technology that revolutionizes work processes. Solutions such as artificial intelligence (AI) and the Internet of Things (IoT) create optimal transparency along the supply chain, connect goods, machines and employees, thereby making automated processes possible. Sensors and other hardware generate data that companies can use to increase their efficiency and their competitiveness.
The advantages that Logistics 4.0 offer include the following:
Greater transparency along the entire supply chain
Better use of resources thanks to cross-enterprise data sharing
Ways to improve sustainability like electronic waybills or sensors that enable energy consumption in buildings to be optimized
Assistance for employees with order picking
Dynamic route planning by means of connected transportation vehicles
These and other opportunities that Logistics 4.0 provides help companies to hold their own in a fiercely contested market.
Track and Trace refers in this context to goods or shipments. If goods in transit or the trucks that carry them are equipped with trackers, both sender and recipient can see at any time and almost in real time where they are – whether they are held up by traffic congestion, are already in a freight harbor or are in storage, having reached their destination. Location is made possible by wireless technologies such as NarrowBand IoT (NB-IoT), by a classical mobile network or by WLAN. Temperature feelers and other smart sensors extend the track and trace principle to include, inter alia, condition monitoring systems. They, for example, enable companies to keep an eye on the condition of sensitive or perishable goods such as foodstuffs or medications. All told, Track and Trace facilitates better delivery reliability, damage assessment by insurers and optimal planning of work processes because arrival times can be forecast more accurately.
Last Mile Delivery refers to the “last mile” or final delivery of goods to the recipient. This phase may be the shortest distance in the supply chain but it often poses special challenges for logistics enterprises. If delays occur on the last mile, all subsequent recipients must wait longer for their order, which upsets the customer experience. Digital technology can already lend freight carriers a helping hand with the Last Mile Delivery such as by means of handhelds or smartphones that show drivers the best route to their destination, thereby facilitating dynamic route planning. In the future, further innovations could transform the last mile by using drones that fly straight to the recipient, steering clear of traffic.
Beacons are radio units that send wireless messages by, for instance, Bluetooth Low Energy (BLE) to nearby receivers. The receivers can be smartphones, tablets or smart devices such as wearables. Beacons optimize numerous processes in Industry 4.0, and they can be put to profitable use in logistics too. If companies attach beacons to, say, pallets, machines or goods in storage and equip their employees’ smartphones with the right apps the cellphones will automatically register signals from nearby beacons such as their location. In combination with a cloud platform this data can be used in different ways. Employees always know exactly where each item is. A lengthy search is no longer required and efficiency is improved. The flow of goods within the company or in the warehouse can also be tracked better, enabling distances, routes and processes to be optimized. Inventories too are easier to carry out because it is clear how much stock is held in the warehouse. Finally, beacons can be used with suitable software as a substitute for the traditional time clock. They communicate with employees’ mobile devices as they arrive or leave and hours worked are recorded automatically.
IoT sensors are devices that record certain parameters and relay data to a cloud. There are different types of sensor depending on the use case. In logistics one of the most important is the position tracker that records the location if goods or means of transportation and thereby establish transparency along the supply chain. Temperature feelers register how hot or cold it is where they are. They enable logistics companies to ensure that the cold chain is maintained for foodstuff or medication shipments. Tilt and shock indicators record tipping or abrupt movements. If they lead to damage to the goods and companies can prove by means of sensor data how the damage occurred, that makes the settlement of claims with the insurance easier.
Remote Maintenance, arguably self-explanatory, requires connection of the machines and devices to be maintained. A logistics operator could, for example, connect its warehouse robots and would be able to rectify many defects swiftly by Remote Maintenance without a field repair technician needing to be on-site.
Pick-by-Vision is a smart order picking method. Warehouse operatives receive all order information in the display of their data glasses. The underlying principle is known as augmented reality because virtual data enriches the reality of employees. Pick-by-Vision has many advantages. Employees can work more efficiently because they have both hands free. That enables them to process more orders in a shorter time. In an industry as competitive as logistics that can give a company a valuable advantage over the competition. Pick-by-Vision can also improve corporate sustainability because the system provides the information required digitally, which generates less waste paper.
Smart Order Picking is an integral part of Smart Logistics and Logistics 4.0. Warehouse operatives use digital technology to work more efficiently and more reliably. Instead of working with handwritten order or delivery notes they receive all important information at the point of use by voice command (Pick-by-Voice), on LED displays (Pick-by-Light) or data glasses (Pick-by-Vision), or by other smart order picking methods.
An error occurred in template Page._localizationsPopup.ftl
for Content with ID 99180. Show Details
Error rendering view The following has evaluated to null or missing:
==> locale?split("-")[1] [in template "jar:id:contentproperty:/Themes/telekom-business/templates/telekom-business-templates.jar/archive!/META-INF/resources/WEB-INF/templates/telekom-business/com.coremedia.blueprint.common.contentbeans/Page._localizationsPopup.ftl" at line 27, column 47]
----
Tip: It's the final [] step that caused this error, not those before it.
----
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 country = "label.country." + ... [in template "jar:id:contentproperty:/Themes/telekom-business/templates/telekom-business-templates.jar/archive!/META-INF/resources/WEB-INF/templates/telekom-business/com.coremedia.blueprint.common.contentbeans/Page._localizationsPopup.ftl" at line 27, column 11]
----
com.coremedia.objectserver.view.ViewException: Error rendering view
at com.coremedia.objectserver.view.ViewUtils.rethrow(ViewUtils.java:344)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:154)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:177)
at jdk.internal.reflect.GeneratedMethodAccessor139.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1634)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:104)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:380)
at freemarker.core.Environment.visitAndTransform(Environment.java:511)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:380)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:886)
at freemarker.core.Environment.invokeMacro(Environment.java:822)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:344)
at freemarker.core.Environment.visit(Environment.java:350)
at freemarker.core.Environment.process(Environment.java:323)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:177)
at jdk.internal.reflect.GeneratedMethodAccessor139.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1634)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:104)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:380)
at freemarker.core.Environment.visitAndTransform(Environment.java:511)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:380)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:886)
at freemarker.core.Environment.invokeMacro(Environment.java:822)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:344)
at freemarker.core.Environment.visit(Environment.java:350)
at freemarker.core.Environment.process(Environment.java:323)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:122)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:336)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:113)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:334)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:152)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:109)
at com.coremedia.objectserver.view.BeanView.renderMergedOutputModel(BeanView.java:63)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:314)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1438)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106)
at com.coremedia.objectserver.web.DispatcherServlet.doDispatch(DispatcherServlet.java:69)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at com.coremedia.blueprint.cae.filter.PreviewViewFilter.doFilterInternal(PreviewViewFilter.java:48)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at com.coremedia.blueprint.cae.filter.SiteFilter.doFilter(SiteFilter.java:64)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340)
at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$4(HandlerMappingIntrospector.java:267)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:732)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
==> locale?split("-")[1] [in template "jar:id:contentproperty:/Themes/telekom-business/templates/telekom-business-templates.jar/archive!/META-INF/resources/WEB-INF/templates/telekom-business/com.coremedia.blueprint.common.contentbeans/Page._localizationsPopup.ftl" at line 27, column 47]
----
Tip: It's the final [] step that caused this error, not those before it.
----
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 country = "label.country." + ... [in template "jar:id:contentproperty:/Themes/telekom-business/templates/telekom-business-templates.jar/archive!/META-INF/resources/WEB-INF/templates/telekom-business/com.coremedia.blueprint.common.contentbeans/Page._localizationsPopup.ftl" at line 27, column 11]
----
at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:490)
at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:410)
at freemarker.core.AddConcatExpression._eval(AddConcatExpression.java:96)
at freemarker.core.AddConcatExpression._eval(AddConcatExpression.java:61)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.Assignment.accept(Assignment.java:134)
at freemarker.core.Environment.visit(Environment.java:380)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:291)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:244)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:654)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:108)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94)
at freemarker.core.Environment.visit(Environment.java:344)
at freemarker.core.Environment.visit(Environment.java:350)
at freemarker.core.Environment.visit(Environment.java:350)
at freemarker.core.Environment.visit(Environment.java:350)
at freemarker.core.Environment.visit(Environment.java:350)
at freemarker.core.Environment.process(Environment.java:323)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
... 187 more