Bug in variables api

Hi,

I just found something that looks awfully like a bug in your variables api. In the interface builder when I add an input I can choose the bound variable in the dropdown on the left. Upon choosing the interface builder fetches the initial value via the variables api (https://forio.com/v2/run/wirkungsgefuege/{model}/{some id}/variables/?include={variable names}) When the variable name contains a period (".") I get back a 500 internal server error. I post the full response body below. It’s a StringIndexOutOfBoundsException. I confirmed that the problem is the period by testing the request with postman and removing the period. After that I get a correct 404 response (variable not found - because I deleted the period of course). The variable name that’s causing the issue is for example

“AUSWIRKUNG SORGFÄLTIGE AUFTRAGSVORBEREITUNG INKL. CNC-PROGRAMMIERUNG AUF NIEDRIGE PERSONALKOSTEN”

(note the “.” after “INKL”).

In the meantime I’m changing my model to not contain any periods in variable names.

Response body:

{
  "trace": [
    {
      "type": "java.lang.String",
      "function": "checkIndex",
      "file": "String.java",
      "line": 3278
    },
    {
      "type": "java.lang.AbstractStringBuilder",
      "function": "charAt",
      "file": "AbstractStringBuilder.java",
      "line": 307
    },
    {
      "type": "java.lang.StringBuilder",
      "function": "charAt",
      "file": "StringBuilder.java",
      "line": 85
    },
    {
      "type": "org.smallmind.nutsnbolts.util.EnumUtility",
      "function": "toEnumName",
      "file": "EnumUtility.java",
      "line": 60
    },
    {
      "type": "com.forio.epicenter.ventriloquist.aggregate.run.v3.AggregateRunResource",
      "function": "constructGetAction",
      "file": "AggregateRunResource.java",
      "line": 1500
    },
    {
      "type": "com.forio.epicenter.ventriloquist.aggregate.run.v3.AggregateRunResource",
      "function": "constructGetActions",
      "file": "AggregateRunResource.java",
      "line": 1478
    },
    {
      "type": "com.forio.epicenter.ventriloquist.aggregate.run.v3.AggregateRunResource",
      "function": "completeGet",
      "file": "AggregateRunResource.java",
      "line": 880
    },
    {
      "type": "com.forio.epicenter.ventriloquist.aggregate.run.v3.AggregateRunResource",
      "function": "get4_aroundBody26",
      "file": "AggregateRunResource.java",
      "line": 684
    },
    {
      "type": "com.forio.epicenter.ventriloquist.aggregate.run.v3.AggregateRunResource$AjcClosure27",
      "function": "run",
      "file": "AggregateRunResource.java",
      "line": 1
    },
    {
      "type": "org.aspectj.runtime.reflect.JoinPointImpl",
      "function": "proceed",
      "file": "JoinPointImpl.java",
      "line": 167
    },
    {
      "type": "org.smallmind.claxon.registry.WorkingInstrumentation",
      "function": "on",
      "file": "WorkingInstrumentation.java",
      "line": 111
    },
    {
      "type": "com.forio.epicenter.skeleton.instrument.rest.GetTimerAspect",
      "function": "aroundEntityTypeMethod",
      "file": "GetTimerAspect.java",
      "line": 20
    },
    {
      "type": "com.forio.epicenter.ventriloquist.aggregate.run.v3.AggregateRunResource",
      "function": "get4",
      "file": "AggregateRunResource.java",
      "line": 681
    },
    {
      "type": "jdk.internal.reflect.GeneratedMethodAccessor367",
      "function": "invoke",
      "line": -1
    },
    {
      "type": "jdk.internal.reflect.DelegatingMethodAccessorImpl",
      "function": "invoke",
      "file": "DelegatingMethodAccessorImpl.java",
      "line": 43
    },
    {
      "type": "java.lang.reflect.Method",
      "function": "invoke",
      "file": "Method.java",
      "line": 566
    },
    {
      "type": "org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory",
      "function": "lambda$static$0",
      "file": "ResourceMethodInvocationHandlerFactory.java",
      "line": 52
    },
    {
      "type": "org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1",
      "function": "run",
      "file": "AbstractJavaResourceMethodDispatcher.java",
      "line": 124
    },
    {
      "type": "org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher",
      "function": "invoke",
      "file": "AbstractJavaResourceMethodDispatcher.java",
      "line": 167
    },
    {
      "type": "org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker",
      "function": "doDispatch",
      "file": "JavaResourceMethodDispatcherProvider.java",
      "line": 176
    },
    {
      "type": "org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher",
      "function": "dispatch",
      "file": "AbstractJavaResourceMethodDispatcher.java",
      "line": 79
    },
    {
      "type": "org.glassfish.jersey.server.model.ResourceMethodInvoker",
      "function": "invoke",
      "file": "ResourceMethodInvoker.java",
      "line": 469
    },
    {
      "type": "org.glassfish.jersey.server.model.ResourceMethodInvoker",
      "function": "apply",
      "file": "ResourceMethodInvoker.java",
      "line": 391
    },
    {
      "type": "org.glassfish.jersey.server.model.ResourceMethodInvoker",
      "function": "apply",
      "file": "ResourceMethodInvoker.java",
      "line": 80
    },
    {
      "type": "org.glassfish.jersey.server.ServerRuntime$1",
      "function": "run",
      "file": "ServerRuntime.java",
      "line": 253
    },
    {
      "type": "org.glassfish.jersey.internal.Errors$1",
      "function": "call",
      "file": "Errors.java",
      "line": 248
    },
    {
      "type": "org.glassfish.jersey.internal.Errors$1",
      "function": "call",
      "file": "Errors.java",
      "line": 244
    },
    {
      "type": "org.glassfish.jersey.internal.Errors",
      "function": "process",
      "file": "Errors.java",
      "line": 292
    },
    {
      "type": "org.glassfish.jersey.internal.Errors",
      "function": "process",
      "file": "Errors.java",
      "line": 274
    },
    {
      "type": "org.glassfish.jersey.internal.Errors",
      "function": "process",
      "file": "Errors.java",
      "line": 244
    },
    {
      "type": "org.glassfish.jersey.process.internal.RequestScope",
      "function": "runInScope",
      "file": "RequestScope.java",
      "line": 265
    },
    {
      "type": "org.glassfish.jersey.server.ServerRuntime",
      "function": "process",
      "file": "ServerRuntime.java",
      "line": 232
    },
    {
      "type": "org.glassfish.jersey.server.ApplicationHandler",
      "function": "handle",
      "file": "ApplicationHandler.java",
      "line": 680
    },
    {
      "type": "org.glassfish.jersey.servlet.WebComponent",
      "function": "serviceImpl",
      "file": "WebComponent.java",
      "line": 394
    },
    {
      "type": "org.glassfish.jersey.servlet.WebComponent",
      "function": "service",
      "file": "WebComponent.java",
      "line": 346
    },
    {
      "type": "org.glassfish.jersey.servlet.ServletContainer",
      "function": "service",
      "file": "ServletContainer.java",
      "line": 366
    },
    {
      "type": "org.glassfish.jersey.servlet.ServletContainer",
      "function": "service",
      "file": "ServletContainer.java",
      "line": 319
    },
    {
      "type": "org.glassfish.jersey.servlet.ServletContainer",
      "function": "service",
      "file": "ServletContainer.java",
      "line": 205
    },
    {
      "type": "org.glassfish.grizzly.servlet.FilterChainImpl",
      "function": "doFilter",
      "file": "FilterChainImpl.java",
      "line": 124
    },
    {
      "type": "com.forio.epicenter.bedrock.utility.servlet.filter.QueryTransformFilter",
      "function": "doFilter",
      "file": "QueryTransformFilter.java",
      "line": 33
    },
    {
      "type": "org.glassfish.grizzly.servlet.FilterChainImpl",
      "function": "doFilter",
      "file": "FilterChainImpl.java",
      "line": 114
    },
    {
      "type": "com.forio.epicenter.bedrock.utility.servlet.filter.MethodOverrideFilter",
      "function": "doFilter",
      "file": "MethodOverrideFilter.java",
      "line": 73
    },
    {
      "type": "org.glassfish.grizzly.servlet.FilterChainImpl",
      "function": "doFilter",
      "file": "FilterChainImpl.java",
      "line": 114
    },
    {
      "type": "com.forio.epicenter.bedrock.utility.servlet.filter.ToPostFilter",
      "function": "doFilter",
      "file": "ToPostFilter.java",
      "line": 59
    },
    {
      "type": "org.glassfish.grizzly.servlet.FilterChainImpl",
      "function": "doFilter",
      "file": "FilterChainImpl.java",
      "line": 114
    },
    {
      "type": "org.smallmind.nutsnbolts.lang.web.PerApplicationContextFilter",
      "function": "doFilter",
      "file": "PerApplicationContextFilter.java",
      "line": 61
    },
    {
      "type": "org.glassfish.grizzly.servlet.FilterChainImpl",
      "function": "doFilter",
      "file": "FilterChainImpl.java",
      "line": 114
    },
    {
      "type": "org.glassfish.grizzly.servlet.FilterChainImpl",
      "function": "invokeFilterChain",
      "file": "FilterChainImpl.java",
      "line": 83
    },
    {
      "type": "org.glassfish.grizzly.servlet.ServletHandler",
      "function": "doServletService",
      "file": "ServletHandler.java",
      "line": 202
    },
    {
      "type": "org.glassfish.grizzly.servlet.ServletHandler",
      "function": "service",
      "file": "ServletHandler.java",
      "line": 149
    },
    {
      "type": "org.glassfish.grizzly.http.server.HttpHandler$1",
      "function": "run",
      "file": "HttpHandler.java",
      "line": 200
    },
    {
      "type": "org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker",
      "function": "doWork",
      "file": "AbstractThreadPool.java",
      "line": 569
    },
    {
      "type": "org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker",
      "function": "run",
      "file": "AbstractThreadPool.java",
      "line": 549
    },
    {
      "type": "java.lang.Thread",
      "function": "run",
      "file": "Thread.java",
      "line": 834
    }
  ],
  "type": "java.lang.StringIndexOutOfBoundsException",
  "message": "index -1,length 0",
  "native": {
    "language": "JAVA",
    "bytes": "rO0ABXNyAClqYXZhLmxhbmcuU3RyaW5nSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbqIlUM1vY0T2AgAAeHIAI2phdmEubGFuZy5JbmRleE91dE9mQm91bmRzRXhjZXB0aW9uAz/Fn9q0KycCAAB4cgAaamF2YS5sYW5nLlJ1bnRpbWVFeGNlcHRpb26eXwZHCjSD5QIAAHhyABNqYXZhLmxhbmcuRXhjZXB0aW9u0P0fPho7HMQCAAB4cgATamF2YS5sYW5nLlRocm93YWJsZdXGNSc5d7jLAwAETAAFY2F1c2V0ABVMamF2YS9sYW5nL1Rocm93YWJsZTtMAA1kZXRhaWxNZXNzYWdldAASTGphdmEvbGFuZy9TdHJpbmc7WwAKc3RhY2tUcmFjZXQAHltMamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50O0wAFHN1cHByZXNzZWRFeGNlcHRpb25zdAAQTGphdmEvdXRpbC9MaXN0O3hwcQB+AAl0ABFpbmRleCAtMSxsZW5ndGggMHVyAB5bTGphdmEubGFuZy5TdGFja1RyYWNlRWxlbWVudDsCRio8PP0iOQIAAHhwAAAANnNyABtqYXZhLmxhbmcuU3RhY2tUcmFjZUVsZW1lbnRhCcWaJjbdhQIACEIABmZvcm1hdEkACmxpbmVOdW1iZXJMAA9jbGFzc0xvYWRlck5hbWVxAH4ABkwADmRlY2xhcmluZ0NsYXNzcQB+AAZMAAhmaWxlTmFtZXEAfgAGTAAKbWV0aG9kTmFtZXEAfgAGTAAKbW9kdWxlTmFtZXEAfgAGTAANbW9kdWxlVmVyc2lvbnEAfgAGeHACAAAMznB0ABBqYXZhLmxhbmcuU3RyaW5ndAALU3RyaW5nLmphdmF0AApjaGVja0luZGV4dAAJamF2YS5iYXNldAAIMTEuMC45LjFzcQB+AA0CAAABM3B0AB9qYXZhLmxhbmcuQWJzdHJhY3RTdHJpbmdCdWlsZGVydAAaQWJzdHJhY3RTdHJpbmdCdWlsZGVyLmphdmF0AAZjaGFyQXRxAH4AEnEAfgATc3EAfgANAgAAAFVwdAAXamF2YS5sYW5nLlN0cmluZ0J1aWxkZXJ0ABJTdHJpbmdCdWlsZGVyLmphdmFxAH4AF3EAfgAScQB+ABNzcQB+AA0BAAAAPHQAA2FwcHQAKW9yZy5zbWFsbG1pbmQubnV0c25ib2x0cy51dGlsLkVudW1VdGlsaXR5dAAQRW51bVV0aWxpdHkuamF2YXQACnRvRW51bU5hbWVwcHNxAH4ADQEAAAXccQB+ABx0AEdjb20uZm9yaW8uZXBpY2VudGVyLnZlbnRyaWxvcXVpc3QuYWdncmVnYXRlLnJ1bi52My5BZ2dyZWdhdGVSdW5SZXNvdXJjZXQAGUFnZ3JlZ2F0ZVJ1blJlc291cmNlLmphdmF0ABJjb25zdHJ1Y3RHZXRBY3Rpb25wcHNxAH4ADQEAAAXGcQB+ABxxAH4AIXEAfgAidAATY29uc3RydWN0R2V0QWN0aW9uc3Bwc3EAfgANAQAAA3BxAH4AHHEAfgAhcQB+ACJ0AAtjb21wbGV0ZUdldHBwc3EAfgANAQAAAqxxAH4AHHEAfgAhcQB+ACJ0ABFnZXQ0X2Fyb3VuZEJvZHkyNnBwc3EAfgANAQAAAAFxAH4AHHQAVGNvbS5mb3Jpby5lcGljZW50ZXIudmVudHJpbG9xdWlzdC5hZ2dyZWdhdGUucnVuLnYzLkFnZ3JlZ2F0ZVJ1blJlc291cmNlJEFqY0Nsb3N1cmUyN3EAfgAidAADcnVucHBzcQB+AA0BAAAAp3EAfgAcdAApb3JnLmFzcGVjdGoucnVudGltZS5yZWZsZWN0LkpvaW5Qb2ludEltcGx0ABJKb2luUG9pbnRJbXBsLmphdmF0AAdwcm9jZWVkcHBzcQB+AA0BAAAAb3EAfgAcdAA0b3JnLnNtYWxsbWluZC5jbGF4b24ucmVnaXN0cnkuV29ya2luZ0luc3RydW1lbnRhdGlvbnQAG1dvcmtpbmdJbnN0cnVtZW50YXRpb24uamF2YXQAAm9ucHBzcQB+AA0BAAAAFHEAfgAcdAA7Y29tLmZvcmlvLmVwaWNlbnRlci5za2VsZXRvbi5pbnN0cnVtZW50LnJlc3QuR2V0VGltZXJBc3BlY3R0ABNHZXRUaW1lckFzcGVjdC5qYXZhdAAWYXJvdW5kRW50aXR5VHlwZU1ldGhvZHBwc3EAfgANAQAAAqlxAH4AHHEAfgAhcQB+ACJ0AARnZXQ0cHBzcQB+AA0A/////3B0AC9qZGsuaW50ZXJuYWwucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nlc3NvcjM2N3B0AAZpbnZva2VwcHNxAH4ADQIAAAArcHQAMWpkay5pbnRlcm5hbC5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGx0ACFEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmFxAH4APXEAfgAScQB+ABNzcQB+AA0CAAACNnB0ABhqYXZhLmxhbmcucmVmbGVjdC5NZXRob2R0AAtNZXRob2QuamF2YXEAfgA9cQB+ABJxAH4AE3NxAH4ADQEAAAA0cQB+ABx0AFFvcmcuZ2xhc3NmaXNoLmplcnNleS5zZXJ2ZXIubW9kZWwuaW50ZXJuYWwuUmVzb3VyY2VNZXRob2RJbnZvY2F0aW9uSGFuZGxlckZhY3Rvcnl0ACtSZXNvdXJjZU1ldGhvZEludm9jYXRpb25IYW5kbGVyRmFjdG9yeS5qYXZhdAAPbGFtYmRhJHN0YXRpYyQwcHBzcQB+AA0BAAAAfHEAfgAcdABRb3JnLmdsYXNzZmlzaC5qZXJzZXkuc2VydmVyLm1vZGVsLmludGVybmFsLkFic3RyYWN0SmF2YVJlc291cmNlTWV0aG9kRGlzcGF0Y2hlciQxdAApQWJzdHJhY3RKYXZhUmVzb3VyY2VNZXRob2REaXNwYXRjaGVyLmphdmFxAH4ALHBwc3EAfgANAQAAAKdxAH4AHHQAT29yZy5nbGFzc2Zpc2guamVyc2V5LnNlcnZlci5tb2RlbC5pbnRlcm5hbC5BYnN0cmFjdEphdmFSZXNvdXJjZU1ldGhvZERpc3BhdGNoZXJxAH4ASnEAfgA9cHBzcQB+AA0BAAAAsHEAfgAcdABib3JnLmdsYXNzZmlzaC5qZXJzZXkuc2VydmVyLm1vZGVsLmludGVybmFsLkphdmFSZXNvdXJjZU1ldGhvZERpc3BhdGNoZXJQcm92aWRlciRSZXNwb25zZU91dEludm9rZXJ0AClKYXZhUmVzb3VyY2VNZXRob2REaXNwYXRjaGVyUHJvdmlkZXIuamF2YXQACmRvRGlzcGF0Y2hwcHNxAH4ADQEAAABPcQB+ABxxAH4ATHEAfgBKdAAIZGlzcGF0Y2hwcHNxAH4ADQEAAAHVcQB+ABx0ADdvcmcuZ2xhc3NmaXNoLmplcnNleS5zZXJ2ZXIubW9kZWwuUmVzb3VyY2VNZXRob2RJbnZva2VydAAaUmVzb3VyY2VNZXRob2RJbnZva2VyLmphdmFxAH4APXBwc3EAfgANAQAAAYdxAH4AHHEAfgBUcQB+AFV0AAVhcHBseXBwc3EAfgANAQAAAFBxAH4AHHEAfgBUcQB+AFVxAH4AV3Bwc3EAfgANAQAAAP1xAH4AHHQAK29yZy5nbGFzc2Zpc2guamVyc2V5LnNlcnZlci5TZXJ2ZXJSdW50aW1lJDF0ABJTZXJ2ZXJSdW50aW1lLmphdmFxAH4ALHBwc3EAfgANAQAAAPhxAH4AHHQAJm9yZy5nbGFzc2Zpc2guamVyc2V5LmludGVybmFsLkVycm9ycyQxdAALRXJyb3JzLmphdmF0AARjYWxscHBzcQB+AA0BAAAA9HEAfgAccQB+AF1xAH4AXnEAfgBfcHBzcQB+AA0BAAABJHEAfgAcdAAkb3JnLmdsYXNzZmlzaC5qZXJzZXkuaW50ZXJuYWwuRXJyb3JzcQB+AF50AAdwcm9jZXNzcHBzcQB+AA0BAAABEnEAfgAccQB+AGJxAH4AXnEAfgBjcHBzcQB+AA0BAAAA9HEAfgAccQB+AGJxAH4AXnEAfgBjcHBzcQB+AA0BAAABCXEAfgAcdAAyb3JnLmdsYXNzZmlzaC5qZXJzZXkucHJvY2Vzcy5pbnRlcm5hbC5SZXF1ZXN0U2NvcGV0ABFSZXF1ZXN0U2NvcGUuamF2YXQACnJ1bkluU2NvcGVwcHNxAH4ADQEAAADocQB+ABx0AClvcmcuZ2xhc3NmaXNoLmplcnNleS5zZXJ2ZXIuU2VydmVyUnVudGltZXEAfgBbcQB+AGNwcHNxAH4ADQEAAAKocQB+ABx0AC5vcmcuZ2xhc3NmaXNoLmplcnNleS5zZXJ2ZXIuQXBwbGljYXRpb25IYW5kbGVydAAXQXBwbGljYXRpb25IYW5kbGVyLmphdmF0AAZoYW5kbGVwcHNxAH4ADQEAAAGKcQB+ABx0AClvcmcuZ2xhc3NmaXNoLmplcnNleS5zZXJ2bGV0LldlYkNvbXBvbmVudHQAEVdlYkNvbXBvbmVudC5qYXZhdAALc2VydmljZUltcGxwcHNxAH4ADQEAAAFacQB+ABxxAH4AcXEAfgBydAAHc2VydmljZXBwc3EAfgANAQAAAW5xAH4AHHQALW9yZy5nbGFzc2Zpc2guamVyc2V5LnNlcnZsZXQuU2VydmxldENvbnRhaW5lcnQAFVNlcnZsZXRDb250YWluZXIuamF2YXEAfgB1cHBzcQB+AA0BAAABP3EAfgAccQB+AHdxAH4AeHEAfgB1cHBzcQB+AA0BAAAAzXEAfgAccQB+AHdxAH4AeHEAfgB1cHBzcQB+AA0BAAAAfHEAfgAcdAAtb3JnLmdsYXNzZmlzaC5ncml6emx5LnNlcnZsZXQuRmlsdGVyQ2hhaW5JbXBsdAAURmlsdGVyQ2hhaW5JbXBsLmphdmF0AAhkb0ZpbHRlcnBwc3EAfgANAQAAACFxAH4AHHQAR2NvbS5mb3Jpby5lcGljZW50ZXIuYmVkcm9jay51dGlsaXR5LnNlcnZsZXQuZmlsdGVyLlF1ZXJ5VHJhbnNmb3JtRmlsdGVydAAZUXVlcnlUcmFuc2Zvcm1GaWx0ZXIuamF2YXEAfgB+cHBzcQB+AA0BAAAAcnEAfgAccQB+AHxxAH4AfXEAfgB+cHBzcQB+AA0BAAAASXEAfgAcdABHY29tLmZvcmlvLmVwaWNlbnRlci5iZWRyb2NrLnV0aWxpdHkuc2VydmxldC5maWx0ZXIuTWV0aG9kT3ZlcnJpZGVGaWx0ZXJ0ABlNZXRob2RPdmVycmlkZUZpbHRlci5qYXZhcQB+AH5wcHNxAH4ADQEAAABycQB+ABxxAH4AfHEAfgB9cQB+AH5wcHNxAH4ADQEAAAA7cQB+ABx0AD9jb20uZm9yaW8uZXBpY2VudGVyLmJlZHJvY2sudXRpbGl0eS5zZXJ2bGV0LmZpbHRlci5Ub1Bvc3RGaWx0ZXJ0ABFUb1Bvc3RGaWx0ZXIuamF2YXEAfgB+cHBzcQB+AA0BAAAAcnEAfgAccQB+AHxxAH4AfXEAfgB+cHBzcQB+AA0BAAAAPXEAfgAcdAA9b3JnLnNtYWxsbWluZC5udXRzbmJvbHRzLmxhbmcud2ViLlBlckFwcGxpY2F0aW9uQ29udGV4dEZpbHRlcnQAIFBlckFwcGxpY2F0aW9uQ29udGV4dEZpbHRlci5qYXZhcQB+AH5wcHNxAH4ADQEAAABycQB+ABxxAH4AfHEAfgB9cQB+AH5wcHNxAH4ADQEAAABTcQB+ABxxAH4AfHEAfgB9dAARaW52b2tlRmlsdGVyQ2hhaW5wcHNxAH4ADQEAAADKcQB+ABx0ACxvcmcuZ2xhc3NmaXNoLmdyaXp6bHkuc2VydmxldC5TZXJ2bGV0SGFuZGxlcnQAE1NlcnZsZXRIYW5kbGVyLmphdmF0ABBkb1NlcnZsZXRTZXJ2aWNlcHBzcQB+AA0BAAAAlXEAfgAccQB+AJJxAH4Ak3EAfgB1cHBzcQB+AA0BAAAAyHEAfgAcdAAvb3JnLmdsYXNzZmlzaC5ncml6emx5Lmh0dHAuc2VydmVyLkh0dHBIYW5kbGVyJDF0ABBIdHRwSGFuZGxlci5qYXZhcQB+ACxwcHNxAH4ADQEAAAI5cQB+ABx0ADpvcmcuZ2xhc3NmaXNoLmdyaXp6bHkudGhyZWFkcG9vbC5BYnN0cmFjdFRocmVhZFBvb2wkV29ya2VydAAXQWJzdHJhY3RUaHJlYWRQb29sLmphdmF0AAZkb1dvcmtwcHNxAH4ADQEAAAIlcQB+ABxxAH4AmnEAfgCbcQB+ACxwcHNxAH4ADQIAAANCcHQAEGphdmEubGFuZy5UaHJlYWR0AAtUaHJlYWQuamF2YXEAfgAscQB+ABJxAH4AE3NyAB9qYXZhLnV0aWwuQ29sbGVjdGlvbnMkRW1wdHlMaXN0ergXtDynnt4CAAB4cHg="
  }
}

Thanks Werner for reporting this. We’ve seen this error in the logs recently and our platform team is looking into it. Periods are used in the API to separate variable names from format modifiers, so they are causing errors when the variable name contains them too. In the meantime, please remove the periods and it should work fine.

WILL