# Internal server error: Cannot get property 'inputStream' on null object

**URL:** https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045
**Category:** bugs
**Created:** [November 22, 2024, 9:01am UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045 "2024-11-22T09:01:05Z")
**Posts on this page:** 11
**Page:** 2

<div class="post-metadata">

### Author: ![irzelindo](https://community.openboxes.com/user_avatar/community.openboxes.com/irzelindo/32/1242_2.png) [@irzelindo](https://community.openboxes.com/u/irzelindo)
#### Post date: [June 3, 2025, 1:22pm UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/21 "2025-06-03T13:22:53Z")

</div>

Am I required to set the localization on `openboxes.yml` file?

```auto
dataSource:
  url: jdbc:mysql://localhost:3306/openboxes?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC
  username: openboxes
  password: openboxes
grails:
  serverURL: http://localhost:8080/openboxes

```

---

<div class="post-metadata">

### Author: ![Gideon](https://community.openboxes.com/user_avatar/community.openboxes.com/gideon/32/805_2.png) [@Gideon](https://community.openboxes.com/u/Gideon)
#### Post date: [June 3, 2025, 1:56pm UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/22 "2025-06-03T13:56:32Z")

</div>

Yes, add the following based on your preferences. You may not need all these settings. Set the ones you need.

# Localization configuration - default and supported locales

```
locale:
    custom:
        enabled: false
    defaultLocale: 'en'
    localizationModeLocale: 'ach'
    supportedLocales: ['ar', 'ach', 'de', 'en', 'es', 'es_MX', 'fr', 'ht', 'it', 'pt', 'fi', 'zh']
    # Currency configuration
    defaultCurrencyCode: "USD"
    defaultCurrencySymbol: '\$'
    supportedCurrencyCodes: ["USD", "CAD", "EUR", "GBP"]
    currencyApi:
        url: "https://api.exchangeratesapi.io/latest?base=%s"
        apiKey: ""
        password: ""
    translationApi:
        uri: "https://translate.yandex.net/api/v1.5/tr.json/translate?key=%s&text=%s&lang=%s&format=%s"
        apiKey: ""
        format: "plain"

```

---

<div class="post-metadata">

### Author: ![jmiranda](https://community.openboxes.com/user_avatar/community.openboxes.com/jmiranda/32/199_2.png) [@jmiranda](https://community.openboxes.com/u/jmiranda)
#### Post date: [June 3, 2025, 2:12pm UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/23 "2025-06-03T14:12:54Z")

</div>

You won’t need to add that as it’s the default configuration.

> <https://github.com/openboxes/openboxes/blob/develop/grails-app/conf/application.yml#L546>

You only need to add this if you want to override the defaultLocale or supportedLocales.

> I can indeed switch to Spanish but at the moment I logout and login again the default language of openboxes switches automatically to English.

You can do this in one of the following ways.

1. Set the defaultLocale in openboxes.yml to “es”

2. Set the Locale for each user to Spanish.

---

<div class="post-metadata">

### Author: ![Gideon](https://community.openboxes.com/user_avatar/community.openboxes.com/gideon/32/805_2.png) [@Gideon](https://community.openboxes.com/u/Gideon)
#### Post date: [June 3, 2025, 2:20pm UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/24 "2025-06-03T14:20:42Z")

</div>

To get Spanish, set defaultLocale: ‘es’.

If you are not using the application.yml file as @jmiranda shared, which has these default settings, you can still use the openboxes.yml with your desired settings.

---

<div class="post-metadata">

### Author: ![irzelindo](https://community.openboxes.com/user_avatar/community.openboxes.com/irzelindo/32/1242_2.png) [@irzelindo](https://community.openboxes.com/u/irzelindo)
#### Post date: [June 3, 2025, 2:52pm UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/25 "2025-06-03T14:52:04Z")

</div>

Where do you store your config file? I’ve stored mine in `/opt/tomcat/,grails/openboxes.yml` in but this definition is not getting applied by the system.

 ![image](https://community.openboxes.com/uploads/default/original/2X/9/9ec953fde9d85257831717956415a1c31b748729.jpeg)

---

<div class="post-metadata">

### Author: ![jmiranda](https://community.openboxes.com/user_avatar/community.openboxes.com/jmiranda/32/199_2.png) [@jmiranda](https://community.openboxes.com/u/jmiranda)
#### Post date: [June 3, 2025, 3:47pm UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/26 "2025-06-03T15:47:39Z")

</div>

In your openboxes.yml, get rid of everything from `locale:` down and replace with the snippet I shared above.

```auto
openboxes:
  locale:
    defaultLocale: 'es'

```

Only set this defaultLocale property because the other settings should continue to use the default.

---

<div class="post-metadata">

### Author: ![irzelindo](https://community.openboxes.com/user_avatar/community.openboxes.com/irzelindo/32/1242_2.png) [@irzelindo](https://community.openboxes.com/u/irzelindo)
#### Post date: [June 3, 2025, 4:10pm UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/27 "2025-06-03T16:10:33Z")

</div>

Works now, thanks.

Last time I forgot to put the first property header `openboxes:`

```auto
openboxes:
  locale:
    defaultLocale: 'es'
  logo:
    url: "/openboxes/assets/openboxes_logo_40x40.jpg"

```

---

<div class="post-metadata">

### Author: ![Jose\_Rodriguez](https://community.openboxes.com/user_avatar/community.openboxes.com/jose_rodriguez/32/1238_2.png) [@Jose\_Rodriguez](https://community.openboxes.com/u/Jose_Rodriguez)
#### Post date: [June 12, 2025, 7:15am UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/28 "2025-06-12T07:15:22Z")

</div>

I have the same problem,

I’ve tried everithing said in this post but in my case, I’m in windows Server.

If anybody could help me this is my stracktrace of the error.

```auto
2025-06-12 09:11:27,187 ERROR [http-nio-8080-exec-4] StackTrace: Full Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on null object
	at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
	at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190)
	at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299)
	at org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
	at org.pih.warehouse.core.LocalizationService$getMessagesProperties$1.call(Unknown Source)
	at org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
	at org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
	at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
	at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
	at org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
	at org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:656)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1792)
	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.lang.Thread.run(Unknown Source)
2025-06-12 09:11:27,187 ERROR [http-nio-8080-exec-4] StackTrace: Full Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on null object
	at org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
	at org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
	at org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
	at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
	at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
	at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
	at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
	at io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
	at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
	at org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
	at org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
	at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
	at io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
2025-06-12 09:11:27,187 ERROR [http-nio-8080-exec-4] o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on null object
	at org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
	at org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
	at org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
	at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
	at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
	at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
	at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
	at io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
	at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
	at org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
	at org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
	at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
	at io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)

```

---

<div class="post-metadata">

### Author: ![Jose\_Rodriguez](https://community.openboxes.com/user_avatar/community.openboxes.com/jose_rodriguez/32/1238_2.png) [@Jose\_Rodriguez](https://community.openboxes.com/u/Jose_Rodriguez)
#### Post date: [June 12, 2025, 9:51am UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/29 "2025-06-12T09:51:53Z")

</div>

Finally I get the solution, It was rename the menssages\_es.properties to menssages\_es\_ES.properties

---

<div class="post-metadata">

### Author: ![jmiranda](https://community.openboxes.com/user_avatar/community.openboxes.com/jmiranda/32/199_2.png) [@jmiranda](https://community.openboxes.com/u/jmiranda)
#### Post date: [June 13, 2025, 11:30pm UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/30 "2025-06-13T23:30:44Z")

</div>

The default config only supports “es” as far as I remember. Maybe es\_MX.

Out of curiosity did you add a supported locale for es\_ES?

By the way, we owe y’all guys better docs for adding new languages/locales and getting users onboarded as translators in Crowdin.

---

<div class="post-metadata">

### Author: ![Fer](https://community.openboxes.com/letter_avatar_proxy/v4/letter/f/90ced4/32.png) [@Fer](https://community.openboxes.com/u/Fer)
#### Post date: [February 3, 2026, 9:12am UTC](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045/31 "2026-02-03T09:12:46Z")

</div>

Same issue here using standalone installation with:

- rocky 9
- tomcat 9
- java 8
- openboxes release [Release v0.9.6-hotfix1](https://github.com/openboxes/openboxes/releases/tag/v0.9.6-hotfix1)
- installation instructions from [https://docs.openboxes.com/en/latest/admin-guide/installation/](https://docs.openboxes.com/en/latest/admin-guide/installation/)

As indicated in the thread, the problem was in the machine’s local configuration; in my case:

```auto

#$ localectl
System Locale: LANG=es_ES.UTF-8
VC Keymap: es
X11 Layout: es

```

Quick fix (will look deeper later) changing it to “en\_US.UTF-8”, the application worked as expected:

`#$ localectl set-locale "en_US.UTF-8"`

```auto
#$ localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: es
X11 Layout: es

```

[Previous page](https://community.openboxes.com/t/internal-server-error-cannot-get-property-inputstream-on-null-object/1045.md?page=1)
