Skip to main content
Ming_Jiang
Participant
January 24, 2017
Question

Failed to create meetings in parallel in Adobe Connect 9.5.3

  • January 24, 2017
  • 1 reply
  • 357 views

Hi there,

We used to be able to create meetings in parallel via a Moodle Plugin by calling the web service in Adobe Connect 9.4.2 using PHP curl_multi_exec() function, but after upgrading to Adobe Connect 9.5.3 this function is broken. And we are getting the following error messages:

[01-20 11:44:00,315] https-8443-11 (ERROR) Error validating csrf token.\

org.jdom.input.JDOMParseException: Error on line 1: Content is not allowed in prolog.\

    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:504)\

    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:807)\

    at com.macromedia.airspeed.servlet.CSRFProtection.makeActionList(CSRFProtection.java:331)\

    at com.macromedia.airspeed.servlet.CSRFProtection.isAtLeastOneActionProtected(CSRFProtection.java:275)\

    at com.macromedia.airspeed.servlet.CSRFProtection.isVerificationRequired(CSRFProtection.java:262)\

    at com.macromedia.airspeed.servlet.CSRFProtection.isTokenVerified(CSRFProtection.java:143)\

    at com.macromedia.airspeed.servlet.BaseServlet.service(BaseServlet.java:336)\

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)\

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)\

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\

    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)\

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\

    at com.macromedia.airspeed.servlet.filter.HeaderAuthenticationFilter.doFilter(HeaderAuthenticationFilter.java:123)\

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)\

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)\

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)\

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)\

    at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:208)\

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)\

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)\

    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)\

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)\

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)\

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)\

    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)\

    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)\

    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)\

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\

    at java.lang.Thread.run(Thread.java:745)\

Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.\

    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)\

    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)\

    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)\

    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)\

    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1437)\

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:999)\

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)\

    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118)\

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)\

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)\

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)\

    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)\

    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)\

    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)\

    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:489)\

    ... 32 more\

Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.\

    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)\

    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)\

    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)\

    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)\

    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1437)\

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:999)\

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)\

    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118)\

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)\

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)\

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)\

    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)\

    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)\

    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)\

    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:489)\

    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:807)\

    at com.macromedia.airspeed.servlet.CSRFProtection.makeActionList(CSRFProtection.java:331)\

    at com.macromedia.airspeed.servlet.CSRFProtection.isAtLeastOneActionProtected(CSRFProtection.java:275)\

    at com.macromedia.airspeed.servlet.CSRFProtection.isVerificationRequired(CSRFProtection.java:262)\

    at com.macromedia.airspeed.servlet.CSRFProtection.isTokenVerified(CSRFProtection.java:143)\

    at com.macromedia.airspeed.servlet.BaseServlet.service(BaseServlet.java:336)\

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)\

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)\

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\

    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)\

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\

    at com.macromedia.airspeed.servlet.filter.HeaderAuthenticationFilter.doFilter(HeaderAuthenticationFilter.java:123)\

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)\

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)\

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)\

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)\

    at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:208)\

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)\

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)\

    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)\

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)\

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)\

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)\

    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)\

    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)\

    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)\

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\

    at java.lang.Thread.run(Thread.java:745)\

The same code is still working with Adobe Connect version 9.4.2, so we are wondering:

Is there any change in the Adobe Connect web service?

Is this a known defect?

Dose anyone have similar issues?

Any help would be appreciated!

Best Regards,

Ming

This topic has been closed for replies.

1 reply

Jorma_at_Knox
Legend
January 26, 2017

Ming,

Based on your log, it looks like you need to adjust handling the tokens used to make the calls.

Ming.Jiang wrote:

[01-20 11:44:00,315] https-8443-11 (ERROR) Error validating csrf token.\

Here is the 'what's new' page for the API's: The modified and newly added web services in Adobe Connect.

Review the process shown for making the call you want with the current API documentation: Adobe Connect Help | Web Services topics

Did Advanced Security get enabled on your Connect 9.5.x instance? If so you'll need to get the token again after you login with the API.

Ming_Jiang
Participant
January 31, 2017

Hi,

Thank you very much for your help.

I checked the web service API (sco-update) that we used to create meetings, and it seems that there is no change between version 9.4.2 and 9.5.3 for that web service. In fact, we can create meeting is sequence using the same API. We only have this problem when we try to create meetings in parallel. (calling this API by sending multiple requests in parallel sharing the same connection) So we are guessing it may be concurrent or thread issue in this or underlining APIs.

In terms of the Advanced Security setting, I cannot find it in the Adobe Connect Console. Could you please indicate where I could find this setting?

Best Regards,

Ming

Jorma_at_Knox
Legend
January 31, 2017

The Security Settings can be found by going to Administration > Account > More Settings in Connect Central.

It does sound like the issue may be a concurrent request issue. It may be worth reaching out to Adobe Support to see if they have more information. Adobe Connect Help | Adobe Connect Support