cancel
Showing results for 
Search instead for 
Did you mean: 

Property Transfer to Excel

SOLVED
ccoles
New Contributor

Property Transfer to Excel

Hi All,

I am pretty new to Ready API.  I have a SoapUI pro project that has a request XML and I want to take some data from the response message and pass it into an Excel file.  Image below shows set up.SoapUI (1).PNG

In my property transfer step I want to the @uuid which is fine I can get that to work and output to excel.  I also was to take some data from the section that says a:Respon... (last bit on Response section on the screen shot above).

 

This is some of what in in there.  If for example I wanted to get the postcode, I'm not sure how  I would go about it? 

<?xml version="1.0" ?><PolMessage xmlns="" Type="TransactionResponse" Version="1"><TranResult TranName="QuoteDetail" Completed="Y" ErrorCount="0" /><SchemeResult Ref="LVAO" Completed="Y" ErrorCount="0"><PolData Type="Output"><ProposerPolicyholder><ProposerPolicyholder_Type Val="P" Desc="Private" /><ProposerPolicyholder_NoOfVehiclesAvailableToFamily Val="0" /><ProposerPolicyholder_DateOfBirth Val="18/08/1944" /><ProposerPolicyholder_AddressLine1 Val="5, St Peters Hill" /><ProposerPolicyholder_AddressLine2 Val="Test Town" /><ProposerPolicyholder_PostCodeSector Val="BB7 1" Desc="BB7 1" /><ProposerPolicyholder_PostCodeFull Val="BB7 1QS" />

 

This is what my data sink looks like

ccoles_1-1604500368504.png

Would really appreciate any help or advice as I am a complete novice.

 

Thanks

Charlene

 

1 ACCEPTED SOLUTION

Accepted Solutions
richie
Community Hero

Re: Property Transfer to Excel

Hey @ccoles 

 

The problem is the unescaped XML characters you have in your payload - I can't see your full payload in the screenshot, I can only see a segment - but I think the contents of the a:Response tag are unescaped XML.

 

unescaped XML represents the < > characters as &lt; and &gt; character strings.

 

The trouble with your payload containing these characters is that the XML parser that separates out the payload's tags ignores everything and treats it as character data - NOT XML.

 

If all the XML in your payload used < > instead of &lt; and &gt;, you wouldn't have this problem

 

There's a couple of approaches I've used to deal with this before now.  You can either use groovy script, but if youre a ReadyAPI! newbie I wouldn't suggest or you can use the native functionality.

 

What you need to do is pass the whole unescaped string into a property and then pick out the attributes you need into additional properties.  This will allow you to grab what you need from the unescaped string.  This is the same approach as if you have a CDATA wrapper in your XML payload - the CDATA tag wrapper tells the XML parser to ignore the content and treat the string as character data, not XML (CDATA is typically used when you have any of the 5 XML entities as values in your XML elements --> &lt; , &gt;, &quot;, &apos; and &amp; which represents the specific characters <,  >, ", ', and &.

 

So - as stated above, you need to pass the unescaped string to a property and then pick out the values from the string property into another property.

 

I've done this several times - follow the instructions via this page and this will sort!

 

ta

 

rich

 

 

 

if this helped answer the post, could you please mark it as 'solved'? Also if you consider whether the title of your post is relevant? Perhaps if the post is solved, it might make sense to update the Subject header field of the post to something more descriptive? This will help people when searching for problems. Ta

View solution in original post

2 REPLIES 2
richie
Community Hero

Re: Property Transfer to Excel

Hey @ccoles 

 

The problem is the unescaped XML characters you have in your payload - I can't see your full payload in the screenshot, I can only see a segment - but I think the contents of the a:Response tag are unescaped XML.

 

unescaped XML represents the < > characters as &lt; and &gt; character strings.

 

The trouble with your payload containing these characters is that the XML parser that separates out the payload's tags ignores everything and treats it as character data - NOT XML.

 

If all the XML in your payload used < > instead of &lt; and &gt;, you wouldn't have this problem

 

There's a couple of approaches I've used to deal with this before now.  You can either use groovy script, but if youre a ReadyAPI! newbie I wouldn't suggest or you can use the native functionality.

 

What you need to do is pass the whole unescaped string into a property and then pick out the attributes you need into additional properties.  This will allow you to grab what you need from the unescaped string.  This is the same approach as if you have a CDATA wrapper in your XML payload - the CDATA tag wrapper tells the XML parser to ignore the content and treat the string as character data, not XML (CDATA is typically used when you have any of the 5 XML entities as values in your XML elements --> &lt; , &gt;, &quot;, &apos; and &amp; which represents the specific characters <,  >, ", ', and &.

 

So - as stated above, you need to pass the unescaped string to a property and then pick out the values from the string property into another property.

 

I've done this several times - follow the instructions via this page and this will sort!

 

ta

 

rich

 

 

 

if this helped answer the post, could you please mark it as 'solved'? Also if you consider whether the title of your post is relevant? Perhaps if the post is solved, it might make sense to update the Subject header field of the post to something more descriptive? This will help people when searching for problems. Ta

View solution in original post

ccoles
New Contributor

Re: Property Transfer to Excel

Thanks @richie I managed to get it to work 🙂

New Here?
Join us and watch the welcome video:
Announcements
Top Kudoed Authors