Pentaho BA Platform
  1. Pentaho BA Platform
  2. BISERVER-5025

JPivot drill through error on an XMLA cube under IBM Websphere WAS 6.1

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Medium Medium
    • Resolution: Won't Fix
    • Affects Version/s: 3.6.0 GA (Platform Release)
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:
      None
    • Environment:
    • Notice:
      When an issue is open, the "Fix Version/s" field conveys a target, not necessarily a commitment. When an issue is closed, the "Fix Version/s" field conveys the version that the issue was fixed in.
    • Browser:
      Internet Explorer 8.x, Mozilla Firefox 3.6
    • Operating System/s:
      Windows XP
    • QA Validation Status:
      Not Yet Validated

      Description

      When I use the "drill through" option and execute it, I got the following error in the "Drill Through Table" component on screen:
      An error occured
      java.lang.ClassCastException: com.ibm.ws.webservices.engine.xmlsoap.SOAPElement incompatible with javax.xml.soap.Text

      1. error_log.txt
        10 kB
        Brice FINES
      2. index.jsp
        5 kB
        Brice FINES
      3. web.xml
        2 kB
        Brice FINES
      4. XMLA_SOAP.java
        58 kB
        Brice FINES
      5. XMLA_SOAP.java.diff
        0.7 kB
        Brice FINES
      1. screenshot_after_patch.jpg
        93 kB
      2. screenshot-1.jpg
        97 kB

        Activity

        Hide
        Unassigned User added a comment -
        If you are a Pentaho Subscription customer, you may contact support and request that this case be reviewed/re-prioritized.
        Show
        Unassigned User added a comment - If you are a Pentaho Subscription customer, you may contact support and request that this case be reviewed/re-prioritized.
        Hide
        Brice FINES added a comment -
        Hi,

        I solved the problem by patching JPivot source (I used source from JPivot CVS).
        The problem was a class cast at line 1143 in "jpivot\src\java\com\tonbeller\jpivot\xmla\XMLA_SOAP.java" in method "executeDrillQuery".

        The original code line was:
        javax.xml.soap.Text child = (javax.xml.soap.Text)rowDataIt.next();

        I replaced it by:
        Node child = (Node)rowDataIt.next();

        This way, the code is still compatible with javax.xml.soap.Text objects returned by next(), since javax.xml.soap.Text implements javax.xml.soap.Node interface.
        com.ibm.ws.webservices.engine.xmlsoap.SOAPElement also implements javax.xml.soap.Node interface.

        According to Java official documentation:
        http://download.oracle.com/javaee/1.4/api/javax/xml/soap/SOAPElement.html#getChildElements%28%29
        Returns an Iterator over all the immediate child Nodes of this element. This includes javax.xml.soap.Text objects as well as SOAPElement objects.

        Since the cast object is only used to call "getParentElement()" on it (on the next line in the method), there is no need for javax.xml.soap.Text, javax.xml.soap.Node is sufficient and compatible with javax.xml.soap.Text and javax.xml.soap.SOAPElement objects.

        I attach a diff file for the patch ("XMLA_SOAP.java.diff"), as well as the patched "jpivot\src\java\com\tonbeller\jpivot\xmla\XMLA_SOAP.java" for reference.
        I also attach a screen capture ("screenshot_after_patch.jpg") of the same JPivot application I used to report the error, deployed under WAS 6.1, showing that drillthrough is working.

        I hope to see this fix committed and included in the next version of JPivot/Mondrian/Pentaho BI Server.
        This would improve greatly JPivot compatibility with IBM WAS 6.1.
        I think that, with this fix, 100% of JPivot functionality would be available under WAS 6.1.

        Regards
        Show
        Brice FINES added a comment - Hi, I solved the problem by patching JPivot source (I used source from JPivot CVS). The problem was a class cast at line 1143 in "jpivot\src\java\com\tonbeller\jpivot\xmla\XMLA_SOAP.java" in method "executeDrillQuery". The original code line was: javax.xml.soap.Text child = (javax.xml.soap.Text)rowDataIt.next(); I replaced it by: Node child = (Node)rowDataIt.next(); This way, the code is still compatible with javax.xml.soap.Text objects returned by next(), since javax.xml.soap.Text implements javax.xml.soap.Node interface. com.ibm.ws.webservices.engine.xmlsoap.SOAPElement also implements javax.xml.soap.Node interface. According to Java official documentation: http://download.oracle.com/javaee/1.4/api/javax/xml/soap/SOAPElement.html#getChildElements%28%29 Returns an Iterator over all the immediate child Nodes of this element. This includes javax.xml.soap.Text objects as well as SOAPElement objects. Since the cast object is only used to call "getParentElement()" on it (on the next line in the method), there is no need for javax.xml.soap.Text, javax.xml.soap.Node is sufficient and compatible with javax.xml.soap.Text and javax.xml.soap.SOAPElement objects. I attach a diff file for the patch ("XMLA_SOAP.java.diff"), as well as the patched "jpivot\src\java\com\tonbeller\jpivot\xmla\XMLA_SOAP.java" for reference. I also attach a screen capture ("screenshot_after_patch.jpg") of the same JPivot application I used to report the error, deployed under WAS 6.1, showing that drillthrough is working. I hope to see this fix committed and included in the next version of JPivot/Mondrian/Pentaho BI Server. This would improve greatly JPivot compatibility with IBM WAS 6.1. I think that, with this fix, 100% of JPivot functionality would be available under WAS 6.1. Regards
        Hide
        Brice FINES added a comment -
        Show
        Brice FINES added a comment - Hi, I submitted a patch on JPivot tracker: https://sourceforge.net/tracker/?func=detail&aid=3072452&group_id=58645&atid=488474 Regards

          People

          • Assignee:
            Kurtis Cruzada
            Reporter:
            Brice FINES
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: