Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
3 replies
Subscribers
8 subscribers
Views
1909 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
AI and Rules
ToRecord() limits?: For a number of reasons (awkward webservices th
ryanh
over 10 years ago
ToRecord() limits?:
For a number of reasons (awkward webservices that can't be changed by us, perceived performance issues with XPathSnippet on large record sets, etc.) I am parsing some webservice calls using the ToRecord() function in 7.6.
Question 1) If the external webservices we call start adding new/extra keys to the xml that weren't there when our CDT was designed will the ToRecord() still work when converting the new XML structure (with extra keys) to our CDT?
Question 2) One of the reasons to use ToRecord instead of XPathSnippet was because we may receive as many as 200 deeply nested/complex structures in 1 webservice call and need to parse this. We were worried that a) coding difficulty b) performance might be an issue when using the XPathSnippet versus ToRecord. Is this a fair assumption? We can't use the existing Appian built smart services partly because of 'includes' in the wsdl....
OriginalPostID-130680
OriginalPostID-130680
Discussion posts and replies are publicly visible
0
ryanh
over 10 years ago
For #1, I don't mind 'loosing' the information on those newly added XML tags. My concern is that those people in our organization that manage the webservices (that are used for other applications outside Appian) arbitrarily add new tags to include in the response. If they do and don't inform us, we don't want our ToRecord() function to break because it attempts to put say, 31 tags into a CDT that has only 30. I don't mind having it just drop/ignore the newly added ones until we choose (or no) to add the new tag to our CDT.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Mike Cichy
Appian Employee
over 10 years ago
Unless you update the Call Web Service nodes making the WS calls, nothing will get changed. You would have to reconfigure the node to utilize the newest structures.
Also, another option that may be on the table is hosting an "Appian-friendly" WSDL on the Appian web server. I think it is worth looking into, you could then skip any conversion entirely. Have a look at this guide
forum.appian.com/.../Advanced_Web_Service_Configuration.html
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Mike Cichy
Appian Employee
over 10 years ago
Ryan, I apologize but I misread your question. I did forget that you are getting the output as text.
I would expect toRecord to work the same way as passing CDTs by value: it will support additional attributes and loosening of restrictions but not removals, or changes in data types, etc.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel