I ran the example and it worked fine for me, but the XML is different.
<items xsi:type="StringRuleItem">
<key>
<name>ecomm_pagetype</name>
</key>
<op>EQUALS</op>
<value>checkout</value>
</items>
And here's the same snippet from my request:
<StringRuleItem>
<key>
<name>ecomm_pagetype</name>
</key>
<op>EQUALS</op>
<value>checkout</value>
</StringRuleItem>
The same pattern holds true for each instance of this. Yours is likely wrong because you have an outdated version of ads_common. Please try upgrading your ads_common library and then try the request again. We made some changes to allow choice-type requests in ads_common specifically for the rule-based remarketing feature.
Regards,
Mike, AdWords API Team