Forum Discussion

richardzerox's avatar
16 years ago

property transfer cannot do the multi-to-1 mapping?

recently I am implementing the testcases for soapTest. Property transfer enables me to transfer certain properties between two soap message, however, I encountered a problem and had no idea how I can resolve it in property transfer of soapUI:

SFTB, the problem details are:

we retrieved the soapMsg as "soapResponse" as below:

<soapResponse>
-----<body>
-------- <header>
---------------<session></session>
---------------<serviceChannel></serviceChannel>
----------<header>
-------- <manufactureOptions>
----------------<color>123</color>
----------------<height>11</height>
---------</manufactureOptions>
-------- <manufactureOptions>
----------------<color>12</color>
----------------<height>14</height>
---------</manufactureOptions>
-------- <manufactureOptions>
----------------<color>124</color>
----------------<height>15</height>
---------</manufactureOptions>
-----<body>
<soapResponse>

I want to transfer the whole "manufactureOptions" from soapResponse into "soapReq" which is a multi-to-one mapping


this is the target soapMsg:

<soapReq>
<body>
<manufactureOptions>
<color>?</color>
<height>?</height>
</manufactureOptions>
</body>
</soapReq>

however, I did the xpath in the property transfer as:

in the source: declare the correct nameSpacep<here omit> and select //soapResponse/body/manufactureOptions which will select all three manufactureOption

in the target: select //soapReq/body/manufactureOptions

after these, enable the "transfer the child nodes" option and the default ticked option

Here is the problem, after transfer, only the first record from source "soapResponse" has been transfered. in the target, the "manufactureOptions" couldn't automatic generate 3 record but still maintain one record there.


Is there any way that I can resolve this problem, do I need to use any other tools in soapUI to combine with this propertyTransfer?

Any help would be highly appreciate!
No RepliesBe the first to reply