I previously asked whether this works correctly wrt XML escaping - if the service_info contains, say, &lt;, does that get decoded when we parse the iFCs? If so, then this is broken because we don't re-encode here. If not, we're fine.