Monday, May 7, 2012

"Content is not allowed in prolog" in OSB server logs

Problem:

In the osb_server1.out log file, we get the following error:

<Mar 28, 2012 3:17:00 PM EDT> <Error> <WliSbTransports> <BEA-381502> <Exception in JmsInboundMDB.onMessage: com.bea.wli.sb.transports.TransportException: OSB Replace action failed updating variable "body": javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
com.bea.wli.sb.transports.TransportException: OSB Replace action failed updating variable "body": javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
    at com.bea.wli.sb.transports.TransportException.newInstance(TransportException.java:214)
    at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:390)
    at com.bea.wli.sb.transports.jms.JmsInboundMDB.onMessage(JmsInboundMDB.java:132)
    at sun.reflect.GeneratedMethodAccessor2153.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    Truncated. see log file for complete stacktrace
Caused By: com.bea.wli.sb.pipeline.PipelineException: OSB Replace action failed updating variable "body": javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
    at stages.transform.runtime.ReplaceRuntimeStep.processMessage(ReplaceRuntimeStep.java:166)
    at com.bea.wli.sb.pipeline.StatisticUpdaterRuntimeStep.processMessage(StatisticUpdaterRuntimeStep.java:41)
    at com.bea.wli.sb.pipeline.debug.DebuggerRuntimeStep.processMessage(DebuggerRuntimeStep.java:74)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
    at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
    Truncated. see log file for complete stacktrace
Caused By: com.bea.wli.sb.stages.StageException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
    at com.bea.wli.sb.stages.transform.XsltTransformImpl.execute(XsltTransformImpl.java:93)
    at com.bea.wli.sb.stages.expressions.xslt.XsltTransformExecutor.getXSLTResultAsTokenIterator(XsltTransformExecutor.java:228)
    at com.bea.wli.sb.stages.expressions.xslt.XsltTransformExecutor.execute(XsltTransformExecutor.java:114)
    at com.bea.wli.sb.stages.expressions.xslt.XsltTransformExecutor.executeJavaObject(XsltTransformExecutor.java:135)
    at stages.transform.runtime.ReplaceRuntimeStep.processMessage(ReplaceRuntimeStep.java:144)
    Truncated. see log file for complete stacktrace
Caused By: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:719)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
    at com.bea.wli.sb.stages.transform.XsltTransformImpl.execute(XsltTransformImpl.java:89)
    at com.bea.wli.sb.stages.expressions.xslt.XsltTransformExecutor.getXSLTResultAsTokenIterator(XsltTransformExecutor.java:229)
    at com.bea.wli.sb.stages.expressions.xslt.XsltTransformExecutor.executeJavaObject(XsltTransformExecutor.java:135)
    Truncated. see log file for complete stacktrace
Caused By: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:546)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
    at com.bea.wli.sb.stages.transform.XsltTransformImpl.execute(XsltTransformImpl.java:89)
    at com.bea.wli.sb.stages.expressions.xslt.XsltTransformExecutor.getXSLTResultAsTokenIterator(XsltTransformExecutor.java:229)
    Truncated. see log file for complete stacktrace
Caused By: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
    at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:446)
    at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:234)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:524)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
    at com.bea.wli.sb.stages.transform.XsltTransformImpl.execute(XsltTransformImpl.java:89)
    Truncated. see log file for complete stacktrace
>
ERROR:  'Content is not allowed in prolog.'
ERROR:  'com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.'



Solution:

Oracle Bug 13638131 - OSB10.3.1 PERFORMANCE ISSUE -"REPLACE" ACTION FAILED UPDATING VARIABLE "BODY" is specific to this error.

1. Download patch 13638131 applicable to your environment and apply it (e.g., p13638131_111150_Generic.zip).


Applicable Versions:
  • Oracle Service Bus 11g (11.1.1.5)

 Ahmed Aboulnaga

1 comment:

Anonymous said...

Hello Ahmed, we are still facing this issue after the patch. We have 1Admin, 2 managed servers all on different unix machines. both managed servers are in 1 cluster.
OSB version 11.1.1.5.

I checked the patch using Opatch lsinventory and it shows up.

Anything that we can check?

Thank you.
VG