Alihan Şimşek
Alihan Şimşek

Reputation: 3

in WSO2 I can't store image in a property

in WSO2 I try to make a call to given URLs to get png images in a pretty basic way. Then when I try to store/enrich I get the same error every time:

> [2021-07-02 16:38:38,357] ERROR {RelayUtils} - Error while building
> Passthrough stream org.apache.axiom.om.OMException:
> com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start byte 0x89 (at
> char #1, byte #-1)    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.buildMessage(RelayUtils.java:169)
>   at
> org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:122)
>   at
> org.apache.synapse.mediators.AbstractListMediator.buildMessage(AbstractListMediator.java:152)
>   at
> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:95)
>   at
> org.apache.synapse.mediators.eip.splitter.IterateMediator.mediate(IterateMediator.java:341)
>   at
> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:267)
>   at
> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:809)
>   at
> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:309)
>   at
> org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:583)
>   at
> org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:197)
>   at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>   at
> org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:285)
>   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)

what I try is basically this

<call>
                            <endpoint>
                                <http method="get" uri-template="{uri.var.imageURL}">
                                    <suspendOnFailure>
                                        <initialDuration>-1</initialDuration>
                                        <progressionFactor>1</progressionFactor>
                                    </suspendOnFailure>
                                    <markForSuspension>
                                        <retriesBeforeSuspension>0</retriesBeforeSuspension>
                                    </markForSuspension>
                                </http>
                            </endpoint>
                        </call>
                        <log level="full"/>

I know the URL is valid and uri.var.imageURL contains it. If I don't add log/enrich/payload mediators, I don't get any errors

I added these two rows to axis2.xml in their respective sections but nothing changed

<messageFormatter contentType="image/png" 
                  class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>


<messageBuilder contentType="image/png" 
                class="org.wso2.carbon.relay.BinaryRelayBuilder"/>

Upvotes: 0

Views: 153

Answers (0)

Related Questions