Signiant Support

Unable to set log detail level in a SOAP request Print


Although many of the SOAP methods exposed by the Signiant manager take parameters of varying types, all of the SOAP methods need input parameters to be passed as a String.  This can cause a problem in languages such as Perl where data types are generally implicit rather than a specific declared type.  It is therefore necessary to explictly typecast non-string parameters to string before submitting them as part of the SOAP request.  This example shows how to acomplish this in Perl:
 
my @variableNames = ();
my @variableValues = ();
 
push @variableNames, SOAP::Data->type(string => "LogLevel");
push @variableNames, SOAP::Data->type(string => "ParameterFile");
 
push @variableValues, SOAP::Data->type(string => "1");
push @variableValues, SOAP::Data->type(string => "param.file");

 
In this case, the LogLevel variable is being used to set the level of logging that a newly submitted job should use.  The type is clearly an integer but in order that the SOAP request succeed, it must be cast as a string.