hi Julian,<br>I have just started working on the XMLA task with the intention of creating that Olap4j Servlet user guide but I found that the latest build of mondrian (from changelist 14503) no longer works with my &quot;locale&quot; which I think it&#39;s UK.<br>

<br>The exception I get is<br><br>2011-08-03 11:51:56,843 ERROR [mondrian.xmla.XmlaServlet] - &lt;Errors when handling XML/A message&gt;<br>mondrian.xmla.XmlaException: Mondrian Error:XMLA SOAP Body processing error<br>        at mondrian.xmla.impl.DefaultXmlaServlet.handleSoapBody(DefaultXmlaServlet.java:561)<br>

        at mondrian.xmla.XmlaServlet.doPost(XmlaServlet.java:315)<br>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)<br>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)<br>

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br>

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br>

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)<br>        at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:883)<br>        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)<br>

        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2258)<br>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)<br>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)<br>

        at java.lang.Thread.run(Thread.java:662)<br>Caused by: java.lang.RuntimeException: Unknown LCID 2057<br>        at mondrian.olap.Util.lcidToLocale(Util.java:1755)<br>        at mondrian.xmla.Rowset.setProperty(Rowset.java:155)<br>

        at mondrian.xmla.RowsetDefinition$DiscoverDatasourcesRowset.setProperty(RowsetDefinition.java:1629)<br>        at mondrian.xmla.Rowset.&lt;init&gt;(Rowset.java:119)<br>        at mondrian.xmla.RowsetDefinition$DiscoverDatasourcesRowset.&lt;init&gt;(RowsetDefinition.java:1573)<br>

        at mondrian.xmla.RowsetDefinition$1.getRowset(RowsetDefinition.java:83)<br>        at mondrian.xmla.XmlaHandler.discover(XmlaHandler.java:2767)<br>        at mondrian.xmla.XmlaHandler.process(XmlaHandler.java:608)<br>

        at mondrian.xmla.impl.DefaultXmlaServlet.handleSoapBody(DefaultXmlaServlet.java:557)<br>        ... 17 more<br><br><br>It&#39;s caused by the method below which only supports US_EN (open\mondrian\src\main\mondrian\olap\Util.java)<br>

<br>    /**<br>     * Converts a locale identifier (LCID) as used by Windows into a Java<br>     * locale.<br>     *<br>     * &lt;p&gt;For example, {@code lcidToLocale(1033)} returns &quot;en_US&quot;, because<br>     * 1033 (hex 0409) is US english.&lt;/p&gt;<br>

     *<br>     * @param lcid Locale identifier<br>     * @return Locale<br>     * @throws RuntimeException if locale id is unkown<br>     */<br>    public static Locale lcidToLocale(short lcid) {<br>        switch (lcid) {<br>

        case 0x0409: // 1033<br>            return Locale.US;<br>        // TODO: fill out this list<br>        default:<br>            throw new RuntimeException(&quot;Unknown LCID &quot; + lcid);<br>        }<br>    }<br>

<br><br>Could we default to Locale.US instead of throwing the exception if the specified locale is not found in that list?<br><br><br>This is a total blocker for me :)<br><br>thanks,<br>Michele<br><br>