Is there a way to parse a SOAP webservice response in an expression rule and pop

Is there a way to parse a SOAP webservice response in an expression rule and populate the CDT? For example, my webservice returns response in the following format-
<soapenv:Envelope xmlns:soapenv="schemas.xmlsoap.org/.../">
<soapenv:Body>
<ns1:getBankResponse xmlns:ns1="thomas-bayer.com/.../">
<ns1:details>
<ns1:bezeichnung>Aachener Bank</ns1:bezeichnung>
<ns1:bic>GENODED1AAC</ns1:bic>
<ns1:ort>Aachen</ns1:ort>
<ns1:plz>52001</ns1:plz>
</ns1:details>
</ns1:getBankResponse>
</soapenv:Body>
</soapenv:Envelope>
I want to use an expression rule to parse this response and populate a CDT. I used xpathsnippet to parse the above response, but it is throwing-"An error occurred while trying to parse the XML stream".

OriginalPostID-147519

OriginalPostID-147519

  Discussion posts and replies are publicly visible

Parents
  • very good. in rule interface test as is and copy the results into notepad to understand the structure of the results returned. Now the results from the web service are already of data type which is auto generated by Appian. Write a simple translation from auto generated CDT to your own custom CDT. In other words, write an expression rule that will take the auto generated CDT as input and returns type!yourCDT(myfiled1: ri!inputCDT.firstName, myfield2: ri!inputCDT.lastName) - thats it - looks simple, unless I have missed something
Reply
  • very good. in rule interface test as is and copy the results into notepad to understand the structure of the results returned. Now the results from the web service are already of data type which is auto generated by Appian. Write a simple translation from auto generated CDT to your own custom CDT. In other words, write an expression rule that will take the auto generated CDT as input and returns type!yourCDT(myfiled1: ri!inputCDT.firstName, myfield2: ri!inputCDT.lastName) - thats it - looks simple, unless I have missed something
Children
No Data