简体   繁体   English

是否可以从Call mediator处理HTML响应?

[英]Is it possible to process HTML response from Call mediator?

No matter what I tried – enrich body to STRING property, log response – I always get an exception, which is probably related to html not being proper xml. 无论我尝试什么 - 将身体丰富到STRING属性,记录响应 - 我总是得到一个异常,这可能与html不正确的xml有关。 I do not need traverse html at all, I just need it stored as a string property. 我根本不需要遍历html,我只需将它存储为字符串属性。

[2019-06-12 18:56:37,670] [-1234] [] [PassThroughMessageProcessor-80] ERROR {org.apache.synapse.transport.passthru.util.DeferredMessageBuilder} -  Error building message
org.apache.axis2.AxisFault: Invalid UTF-8 start byte 0xff (at char #1, byte #-1)
        at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
        at org.apache.axis2.builder.ApplicationXMLBuilder.processDocument(ApplicationXMLBuilder.java:88)
        at org.apache.synapse.transport.passthru.util.DeferredMessageBuilder.getDocument(DeferredMessageBuilder.java:153)
        at org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:163)
        at org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:116)
        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.filters.FilterMediator.mediate(FilterMediator.java:250)
        at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:242)
        at org.apache.synapse.mediators.eip.splitter.IterateMediator.mediate(IterateMediator.java:261)
        at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:242)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:267)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:783)
        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: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start byte 0xff (at char #1, byte #-1)
        at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:536)
        at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:585)
        at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:610)
        at com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:316)
        at org.apache.axiom.util.stax.wrapper.XMLInputFactoryWrapper.createXMLStreamReader(XMLInputFactoryWrapper.java:95)
        at org.apache.axiom.util.stax.wrapper.WrappingXMLInputFactory.createXMLStreamReader(WrappingXMLInputFactory.java:116)
        at org.apache.axiom.util.stax.wrapper.XMLInputFactoryWrapper.createXMLStreamReader(XMLInputFactoryWrapper.java:95)
        at org.apache.axiom.om.util.StAXUtils$1.run(StAXUtils.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:198)
        at org.apache.axis2.builder.ApplicationXMLBuilder.processDocument(ApplicationXMLBuilder.java:77)
        ... 20 more
Caused by: java.io.CharConversionException: Invalid UTF-8 start byte 0xff (at char #1, byte #-1)
        at com.ctc.wstx.io.UTF8Reader.reportInvalidInitial(UTF8Reader.java:303)
        at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:397)
        at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
        at com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:250)
        at com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:133)
        at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:531)
        ... 30 more
[2019-06-12 18:56:37,690] [-1234] [] [PassThroughMessageProcessor-80]  INFO {org.apache.synapse.mediators.builtin.LogMediator} -  To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:94d02c25-5ddf-40c9-a7a4-a746fb28c797, Direction: request, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Error while building message. Error while building Passthrough stream, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope>

check axis2.xml 检查axis2.xml

there should be messageBuilder for html mime type like this: 对于html mime类型应该有messageBuilder ,如下所示:

    <messageBuilder contentType="text/html" 
                    class="org.apache.axis2.format.PlainTextBuilder"/>

if it's uncommented and you still have the error check the mime-type header in response. 如果它没有注释,你仍然有错误检查mime-type标头作为响应。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用来自呼叫中介器的丰富响应负载 - using enriching response payload from call mediator WSO2 ESB HTTPS端点,调用调解器-但未注册回调(不再)来处理此响应错误 - WSO2 ESB HTTPS Endpoint, call mediator - But a callback is not registered ( anymore) to process this response error 使用脚本中介调用中介 - Call Mediator with Script Mediator WSO2 ESB如何测量呼叫或发送调解器的响应时间 - WSO2 ESB How to measure the response time of call or send mediator 如何在WSO2 ESB中正确获取响应头的值(在呼叫介体之后获得的响应) - How can I correctly obtain the value of response headers in WSO2 ESB (the response obtained after a call mediator) 在 WSO2 ESB 中将响应从一个调用中介传递到另一个调用中介 - Pass responses from one call mediator to another in WSO2 ESB 我需要从wso2类调解器调用chat sdk - I need to call chat sdk from wso2 class mediator 调用调解器而不会出现错误超时 - Call mediator without error timeout 此标头中介程序在WSO2 ESB项目的DSS服务调用中涉及的工作原理如何? - How exactly works this header mediator involved in the call of a DSS service call from a WSO2 ESB project? WSO2ESB:xml 从端点到负载中介的响应,格式为 json - WSO2ESB: xml response from endpoint to payload mediator in json format
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM