Getting switchyard error SWITCHYARD035408 when receiving multiple SOAP messages after upgrade to Fuse 6.3
Issue
After upgrading to Fuse 6.3 we started seeing a SOAP error on our client side software with the error message SWITCHYARD035408: Failed to map context properties to SOAP message
. On the server side nothing is printed in the log, but we managed to find the place in the source code where the error seems to be thrown at. Line 278 in SOAPMessageComposer.java
. We managed to replicate this in our test environment by sending multiple SOAP requests to the server side. Using a debugger we managed to catch the exception that is causing the SOAPException to be thrown. The stack trace can be seen in the attached file. The stack trace suggests some sort of race condition:
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList$Itr.next(ArrayList.java:851)
at org.switchyard.component.common.composer.BaseRegexContextMapper.matches(BaseRegexContextMapper.java:131)
at org.switchyard.component.soap.composer.SOAPContextMapper.copyToSOAPHeader(SOAPContextMapper.java:233)
Environment
- Red Hat JBoss Fuse
- 6.3.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.