Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The local transport proxy is experiencing intermittent timeouts when calling the soap message. #1291

Closed
veneerac opened this issue Jan 20, 2023 · 0 comments

Comments

@veneerac
Copy link

veneerac commented Jan 20, 2023

Description

Getting fails and experiencing intermittent timeouts when calling JSON response from a local transport proxy.
When the first proxy sends a soap message and the second proxy tries to respond with a JSON message occurs the Caused by: javax.xml.stream.XMLStreamException: Can not output XML declaration, after other output has already been done.

Steps to Reproduce

  1. Create a local Proxy
  2. In the local proxy create a json with a payload factory (json)
  3. set the messageType to application/json
  4. invoke the local proxy from another Proxy or an API

Affected Component

Analytics

Version

wso2ei-6.5.0

Environment Details (with versions)

No response

Relevant Log Output

ERROR {org.apache.axis2.transport.local.LocalResponder} -  Error sending response
org.apache.axis2.AxisFault: Can not output XML declaration, after other output has already been done.
	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
	at org.apache.axis2.transport.TransportUtils.writeMessage(TransportUtils.java:311)
	at org.apache.axis2.transport.local.LocalResponder.getEnvelope(LocalResponder.java:228)
	at org.apache.axis2.transport.local.LocalResponder.handleResponse(LocalResponder.java:172)
	at org.apache.axis2.transport.local.LocalResponder.invoke(LocalResponder.java:112)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:220)
	at org.apache.synapse.mediators.builtin.RespondMediator.mediate(RespondMediator.java:45)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:242)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:802)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:303)
	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:608)
	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:205)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:265)
	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:750)
Caused by: javax.xml.stream.XMLStreamException: Can not output XML declaration, after other output has already been done.
	at com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1522)
	at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1551)
	at com.ctc.wstx.sw.BaseStreamWriter.doWriteStartDocument(BaseStreamWriter.java:650)
	at com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(BaseStreamWriter.java:638)
	at com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(BaseStreamWriter.java:626)
	at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeStartDocument(MTOMXMLStreamWriter.java:277)
	at org.apache.synapse.commons.json.JsonDataSource.serialize(JsonDataSource.java:88)
	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:694)
	at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:562)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:879)
	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:283)
	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:245)
	at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(OMSerializableImpl.java:193)
	at org.apache.axis2.transport.TransportUtils.writeMessage(TransportUtils.java:308)
	... 18 more
[2023-01-18 13:06:06,115] [-1] [] [Timer-6]  WARN {org.apache.synapse.core.axis2.TimeoutHandler} -  Expiring message ID : urn:uuid:aabcaed2-82c5-42d0-a7b3-ace604302da5; dropping message after ENDPOINT_TIMEOUT of : 30 seconds for Endpoint [ep1], URI : local://services/price-compare_getRejectCodesCache_v1.0, Received through Proxy service : RespondMediatorProxy

Related Issues

No response

Suggested Labels

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant