We have a Switchyard project which is using a component reference with a SOAP binding. This SOAP service is not a very common SOAP service in the sense that the response of the operation contains CDATA blocks which in turn contains the XML structure we need:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:GetStatisticsResponse xmlns:ns2="http://web.service.com/"> <return><![CDATA[<statistics name="Foo"> <value>100</value> <clickthrough>20</clickthrough> </statistics>]]></return> </ns2:GetStatisticsResponse> </soap:Body> </soap:Envelope>
We are interested in the statistics element and its subelements within the CDATA block.
Our problem is that we need a transformer to go from this SOAP response to a POJO which contains the Java representation of this statistics element.
We do not want to parse the DOM ourselves via a Java transformer, but want to use Smooks for this. We were able to transform the SOAP response to a String, but we would need an additional transformation to parse this String into XML fields to populate the POJO with. How can this be done in FSW 6?
- Red Hat JBoss Fuse Service Works (FSW)
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.