Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-4869

(7.4.z) PicketLink - SAMLStatusResponseTypeParser.parseStatus fails on IBM JDK (SAMLSloResponseParserTestCase#testSLOResponseFromSalesforce)

    XMLWordPrintable

Details

    Description

      There is an issue in processing XML in SAMLStatusResponseTypeParser.parseStatus on IBM JDK.

      org.picketlink.test.identity.federation.core.parser.saml.SAMLSloResponseParserTestCase#testSLOResponseFromSalesforce from redhat-picketlink fails on IBM JDK.

      mvn -f modules/federation test -Dtest=SAMLSloResponseParserTestCase#testSLOResponseFromSalesforce

      java.util.NoSuchElementException: Either there were no more events in the queue or the state of the reader is END_DOCUMENT.
      	at com.ibm.xml.xlxp.api.stax.msg.StAXMessageProvider.throwNoSuchElementException(StAXMessageProvider.java:54)
      	at com.ibm.xml.xlxp.api.stax.XMLInputFactoryImpl$EndDocumentXMLStreamReader.next(XMLInputFactoryImpl.java:398)
      	at com.ibm.xml.xlxp.api.stax.XMLInputFactoryImpl$XMLStreamReaderProxy.next(XMLInputFactoryImpl.java:188)
      	at com.ibm.xml.xlxp.api.stax.XMLEventReaderImpl.createNextEvent(XMLEventReaderImpl.java:361)
      	at com.ibm.xml.xlxp.api.stax.XMLEventReaderImpl.nextEvent(XMLEventReaderImpl.java:119)
      	at com.ibm.xml.xlxp.api.stax.XMLFilteredEventReaderImpl.nextEvent(XMLFilteredEventReaderImpl.java:107)
      	at org.picketlink.common.util.StaxParserUtil.getNextEndElement(StaxParserUtil.java:257)
      	at org.picketlink.identity.federation.core.parsers.saml.SAMLStatusResponseTypeParser.parseStatus(SAMLStatusResponseTypeParser.java:135)
      	at org.picketlink.identity.federation.core.parsers.saml.SAMLSloResponseParser.parse(SAMLSloResponseParser.java:65)
      	at org.picketlink.identity.federation.core.parsers.saml.SAMLParser.parse(SAMLParser.java:79)
      	at org.picketlink.common.parsers.AbstractParser.parse(AbstractParser.java:108)
      	at org.picketlink.test.identity.federation.core.parser.saml.SAMLSloResponseParserTestCase.testSLOResponseFromSalesforce(SAMLSloResponseParserTestCase.java:115)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
      	at java.lang.reflect.Method.invoke(Method.java:507)
      	at org.junit.runners.model.FrameworkMethod.runReflectiveCall(FrameworkMethod.java:45)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:231)
      	at org.junit.runners.ParentRunner.schedule(ParentRunner.java:60)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
      	at org.junit.runners.ParentRunner.access(ParentRunner.java:50)
      	at org.junit.runners.ParentRunner.evaluate(ParentRunner.java:222)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
      	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
      

      Looks like SAMLStatusResponseTypeParser.parseStatus cannot get next end element at line 135. Using peekNextEndElement could help.

      There are two other related failing tests: SAML2LogOutHandlerUnitTestCase#handleIDPResponseWithSAMLResponderStatus, SAML2LogoutWorkflowUnitTestCase#testSAML2LogOutFromIDPServlet.

      Attachments

        Issue Links

          Activity

            People

              rhn-support-ivassile Ilia Vassilev
              okotek@redhat.com Ondrej Kotek
              Ondrej Kotek Ondrej Kotek
              Ondrej Kotek Ondrej Kotek
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: