Skip to content

Incorrect Mediation Sequence Generated for APIs Created through the SOAP to REST #4563

@Sumudu-Sahan

Description

@Sumudu-Sahan

Description

When generating a REST API through the SOAP WSDL file, it generates an incorrect mediation sequence, and hence, this leads to return message building errors when invoking API resources.

Steps to Reproduce

  • Start the API Manager and go to the publisher portal.
  • Create a SOAP to REST API by using the attached WSDL file.

minimal_wsdl.wsdl.zip

  • Publish the API.
  • Invoke it and able to see the below stack trace.
TID: [] [] [2025-11-17 12:27:59,014] ERROR {org.apache.synapse.mediators.base.SequenceMediator} - {api:WSDL2:v2} javax.xml.stream.XMLStreamException: org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </web:string>; expected </web:sampleAttribute>.
 at [row,col {unknown-source}]: [1,266] org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException: org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </web:string>; expected </web:sampleAttribute>.
 at [row,col {unknown-source}]: [1,266]
	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
	at org.apache.axiom.om.impl.llom.OMSerializableImpl.build(OMSerializableImpl.java:78)
	at org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:722)
	at org.apache.axiom.om.impl.llom.OMElementImpl.buildWithAttachments(OMElementImpl.java:1086)
	at org.apache.synapse.mediators.transform.PayloadFactoryMediator.checkAndReplaceEnvelope(PayloadFactoryMediator.java:260)
	at org.apache.synapse.mediators.transform.PayloadFactoryMediator.mediate(PayloadFactoryMediator.java:128)
	at org.apache.synapse.mediators.transform.PayloadFactoryMediator.mediate(PayloadFactoryMediator.java:103)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:126)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:74)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
	at org.apache.synapse.api.Resource.process(Resource.java:342)
	at org.apache.synapse.api.API.process(API.java:476)
	at org.apache.synapse.api.AbstractApiHandler.apiProcessNonDefaultStrategy(AbstractApiHandler.java:108)
	at org.apache.synapse.api.AbstractApiHandler.identifyAPI(AbstractApiHandler.java:128)
	at org.apache.synapse.api.AbstractApiHandler.dispatchToAPI(AbstractApiHandler.java:60)
	at org.apache.synapse.api.rest.RestRequestHandler.dispatchToAPI(RestRequestHandler.java:90)
	at org.apache.synapse.api.rest.RestRequestHandler.process(RestRequestHandler.java:76)
	at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:54)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:352)
	at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:101)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:399)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:458)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:206)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: javax.xml.stream.XMLStreamException: org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </web:string>; expected </web:sampleAttribute>.
 at [row,col {unknown-source}]: [1,266]
	at org.apache.axiom.om.impl.SwitchingWrapper.updateLastNode(SwitchingWrapper.java:1192)
	at org.apache.axiom.om.impl.SwitchingWrapper.next(SwitchingWrapper.java:1127)
	at java.xml/javax.xml.stream.util.StreamReaderDelegate.next(StreamReaderDelegate.java:84)
	at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
	... 27 more
Caused by: org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </web:string>; expected </web:sampleAttribute>.
 at [row,col {unknown-source}]: [1,266]
	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
	at org.apache.axiom.om.impl.SwitchingWrapper.updateNextNode(SwitchingWrapper.java:1210)
	at org.apache.axiom.om.impl.SwitchingWrapper.updateLastNode(SwitchingWrapper.java:1190)
	... 31 more
Caused by: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </web:string>; expected </web:sampleAttribute>.
 at [row,col {unknown-source}]: [1,266]
	at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:606)
	at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:479)
	at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:464)
	at com.ctc.wstx.sr.BasicStreamReader.reportWrongEndElem(BasicStreamReader.java:3283)
	at com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3210)
	at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2829)
	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1072)
	at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
	... 33 more

Version

4.2.0

Environment Details (with versions)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions