The "Unrecognized Type" error is SOAP::Lite telling you that a custom type is returned that you have not added a custom serializer for. In the SDK, I've included a iControlTypeCast.pm module that contains all the custom enum types and the serializer for them. If you don't want the overhead of the entire iControlTypeCast.pm module, you can add the typecast code yourself by putting this somewhere in your script.
----------------------------------------------------------------------------
support for custom enum types
----------------------------------------------------------------------------
sub SOAP::Deserializer::typecast
{
my ($self, $value, $name, $attrs, $children, $type) = @_;
my $retval = undef;
if ( "{urn:iControl}Common.EnabledState" == $type )
{
$retval = $value;
}
return $retval;
}
-Joe