The basics of your code looks fine. Have you verified that the contents of the $sNode and $sLimits variables are valid? I tried this code snippet and it worked for me.
sub createNodeAddress()
{
$sNode = "1.2.3.4";
$sLimits = 0;
$soapResponse = $NodeAddress->create
(
SOAP::Data->name(node_addresses => [$sNode]),
SOAP::Data->name(limits => [$sLimits])
);
&checkResponse($soapResponse);
print "Node Address Created Successfully!\n";
}
If you are sure the input's are valid, then I'd try to turn on the SOAP::Lite debugging
use SOAP::Lite + trace => qw(method debug);
This will spit out the full SOAP messages. It should look like this:
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
1.2.3.4
80
If your inputs look like this then you'll likely have to open a support ticket to get this issue looked at.
-Joe