killbill / killbill-client-java

Java client library for Kill Bill

Home Page:https://killbill.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Upload catalog translation causes an error

reshmabidikar opened this issue · comments

The upload catalog translation and upload invoice translation code causes the following error:

org.killbill.billing.client.KillBillClientException: Invalid locale format: fr_FR/

The following stack trace is seen in the Kill Bill logs:

Caused by: java.lang.IllegalArgumentException: Invalid locale format: fr_FR/
	at org.killbill.billing.util.LocaleUtils.toLocale(LocaleUtils.java:50)
	at org.killbill.billing.jaxrs.resources.InvoiceResource.getTemplateResource(InvoiceResource.java:925)
	at org.killbill.billing.jaxrs.resources.InvoiceResource.getCatalogTranslation(InvoiceResource.java:782)
	at org.killbill.billing.jaxrs.resources.InvoiceResource_$$_jvstc52_0._d36getCatalogTranslation(InvoiceResource_$$_jvstc52_0.java)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1268)
	at org.jvnet.hk2.internal.MethodInterceptorHandler$MethodInvocationImpl.proceed(MethodInterceptorHandler.java:164)
	at org.killbill.commons.skeleton.metrics.TimedResourceInterceptor.invoke(TimedResourceInterceptor.java:70)
	at org.jvnet.hk2.internal.MethodInterceptorHandler.invoke(MethodInterceptorHandler.java:97)
	at org.killbill.billing.jaxrs.resources.InvoiceResource_$$_jvstc52_0.getCatalogTranslation(InvoiceResource_$$_jvstc52_0.java)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:134)
	... 73 common frames omitted

The translation table is uploaded successfully, the error occurs while retrieving the catalog translation by following the location header. This is because there is a trailing / character added to the location header by this line.