В wso2 EI я получаю org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException: DOCTYPE не допускается исключение - PullRequest
0 голосов
/ 24 мая 2018

После вызова конечной точки я получаю ответ как

<!DOCTYPE html>
<.
..>

Итак, это вызывает исключение

org.apache.axis2.AxisFault: Error while building Passthrough stream
        at org.apache.synapse.transport.passthru.util.RelayUtils.handleException(RelayUtils.java:384)
        at org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:196)
        at org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:113)
        at org.apache.synapse.mediators.AbstractListMediator.buildMessage(AbstractListMediator.java:145)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:94)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:260)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:774)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:281)
        at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:570)
        at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:193)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
        at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:263)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException: DOCTYPE is not allowed
        at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
        at org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:109)
        at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:570)
        at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:566)
        at org.apache.synapse.transport.passthru.util.DeferredMessageBuilder.getDocument(DeferredMessageBuilder.java:165)
        at org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:160)
        ... 14 more
Caused by: javax.xml.stream.XMLStreamException: DOCTYPE is not allowed
        at org.apache.axiom.util.stax.dialect.DisallowDoctypeDeclStreamReaderWrapper.next(DisallowDoctypeDeclStreamReaderWrapper.java:36)
        at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
        at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
        ... 19 more

Я думал, что при обработке тела html он обрабатывается как xml, поэтомуэто бросает исключения.

Как решить эту проблему

1 Ответ

0 голосов
/ 24 мая 2018

В файле axis2.xml путем обновления следующего построителя сообщений и средства форматирования сообщений, вышеупомянутая проблема решена.

Построитель сообщений

 <messageBuilder contentType="text/html"
                        class="org.wso2.carbon.relay.BinaryRelayBuilder"/>

Форматировщик сообщений

<messageFormatter contentType="text/html"
                        class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
...