US and Worldwide: +1 (866) 660-7555
Results 1 to 5 of 5

Thread: java.lang.RuntimeException: Unknown LCID 3082

  1. #1
    Join Date
    Oct 2012
    Posts
    3

    Default java.lang.RuntimeException: Unknown LCID 3082

    Hi!

    I am trying to test SimbaO2X to connect excel to mondrian 3.4.1 through xmla, but I'm getting the error:

    <?xml version="1.0" encoding="UTF-8"?>

    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >

    <SOAP-ENV:Header>

    </SOAP-ENV:Header>

    <SOAP-ENV:Body>

    <SOAP-ENV:Fault>

    <faultcode>SOAP-ENV:Server.00HSBB01</faultcode>

    <faultstring>XMLA SOAP Body processing error</faultstring>

    <faultactor>Mondrian</faultactor>

    <detail>

    <XA:error xmlns:XA="http://mondrian.sourceforge.net">

    <code>00HSBB01</code>

    <desc>The Mondrian XML: Unknown LCID 3082</desc>

    </XA:error>

    </detail>

    </SOAP-ENV:Fault>

    </SOAP-ENV:Body>

    </SOAP-ENV:Envelope>

    I have Excel and operating system in spanish language. In the log of mondrian I have seen the error:

    59237 [http-80-1] ERROR mondrian.xmla.XmlaServlet - Errors when handling XML/A message
    mondrian.xmla.XmlaException: Mondrian Error:XMLA SOAP Body processing error
    [...]
    Caused by: java.lang.RuntimeException: Unknown LCID 3082

    I have been investigating some web pages, and I have seen the Jira "http://jira.pentaho.com/browse/MONDRIAN-973", that is the same issue, but that issue is resolved in the version of mondrian that I have been testing.

    I have been trying another olap client ("La_Azada") and is connecting correctly, so I think my mondrian configuration is correct. Can anyone help me?, thanks.

  2. #2

    Default

    Upon inspecting the list of locales in \util\LcidLocale.java, it seems your locale (ID 3082 = 0x0c0a HEX) is not in the list, resulting in the 'Unknown LCID ' error thrown in the toLocale function:
    Code:
    public Locale toLocale(short lcid) {
        final String s = lcidLocaleMap.get(lcid);
        if (s == null) {
            throw new RuntimeException("Unknown LCID " + lcid);
        }
        return Util.parseLocale(s);
    }
    The list of locales contains 0x1c0a, 0x2c0a, 0x3c0a, and 0x4c0a which refer to the "es_DO", "es_AR", "es_PY", and "es_NI" locales, respectively. The "es" locale in Mondrian has HEX value 0x040a which would be 1034 in decimal. As you provide 3082 this is not matched.

    Actually I think I solved it already. According to this Microsoft page the HEX code for the es_ES locale (just plain Spanish) should be the one you are sending; 0x0C0A = 3082:
    Code:
    0x0C0A    es-ES    Spanish (Spain)    Spanish    español (España)
    For some reason, Mondrian simply has the wrong HEX code for your es_ES locale...
    Code:
    private static final Object[] LOCALE_DATA = {
        "ar", (short) 0x0401,
        "bg", (short) 0x0402,
        "ca", (short) 0x0403,
        "zh", (short) 0x0404,
        "cs", (short) 0x0405,
        "da", (short) 0x0406,
        "de", (short) 0x0407,
        "el", (short) 0x0408,
        "es", (short) 0x040a, <-- WRONG, should be 0x0C0A
        "fi", (short) 0x040b,
        "fr", (short) 0x040c,
        "iw", (short) 0x040d, 
        [.. a lot more ..]
    If one of the Mondrian developers reads this message it should be fixed in the blink of an eye (if I'm right about the error).

    Regards,
    Daniël
    Last edited by dknippers; 10-16-2012 at 07:17 AM.

  3. #3
    Join Date
    Oct 2012
    Posts
    3

    Default

    Ok dknippers, many thanks. I have seen your information, and I think that I have found out the source of the mistake. There are two codifications for es_ES:

    Spanish - Spain (Modern Sort) 0c0a 3082
    Spanish - Spain (Traditional Sort) 040a 1034
    as you can see in http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx and this can be the problem. In Spain we use the regional configuration "Modern Sort" --> 0x0C0A, but Mondrian expects Traditional Sort.

    I hope one of the Mondrian developers can solve this problem...

  4. #4

    Default

    Ah, interesting. The page I linked to did not list the 'Spain (Traditional Sort)' at all, which already made me wonder where Mondrian got the 0x040A hex code from :-) Then I suppose the Modern Sort (0x0C0A) should be added, but the Traditional Sort should also be kept, or is it never ever used? Either way, this thread now contains enough information to solve the problem.

    I will make a post in the JIRA at the related issue you mentioned (here) to increase the chance of a developer to see this thread and fix your issue by adding 0x0C0A to Mondrian's locales.

  5. #5
    Join Date
    Oct 2012
    Posts
    3

    Default

    Perfect!!!

    I will see the evolution of the Jira to know in which version of mondrian is resolved this issue.

    Many thanks Daniël.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •