That produces a null result, as it should. The problem seems to be with the call to ServerConfig.getChannel(channelName). As I trace through the call, I see a call to ServerConfig.createChannel('my-amf').
It evaluates xml.channels.channel.(@id == channelId); which of course returns nothing because the appropriate E4X expression for the supplied data should be xml.channels.elements("channel-definition").(@id == channelId). The only way I could imagine this working is if the XML were rewritten, converting all 'channel-definition' elements to 'channel' elements - or perhaps something along the call chain discards the remainder of the element name when it encounters a dash. I tested this out by renaming the channel-definition elements to channel, and modifying the E4X expression to suit, but createChannel() fails due to an empty string returned from the call to channelConfig.attribute(CLASS_ATTR).toString(). CLASS_ATTR is defined as "type", and an attribute with that name is optional. What's the secret?