I have a rather expensive block of code that executes on a workflow instantiation page. The main source of the expense is that it makes a couple of calls to iwextattr for each file. So, the forking is killing me. I'd like to experiment with a quick rewrite of it using the web services interface to CSSDK. I've messed around with using CSSDK from perl in the past, but I can't find any of that old source code.
I've used stubmaker to stub out some proxy modules from the WSDL.
In my little test script, I'm successfully getting a login to TeamSite, but all of my calls to the fileservice class are failing miserably.
This code:
[PHP]
use AccessServiceService;
use CommonServiceService;
use FileServiceService;
use Data:

umper;
my $login;
my $context;
if (! defined $login) {
$login = AccessServiceService::beginSessionUsingPassword("Administrator",
"master", "XXXXXXX", "en", "TeamSite", "192.168.18.107");
#print Dumper $login;
$context = $login->{'context'};
}
print Dumper $context;
print FileServiceService::getStores('Context' => $context);
print "Error: $!\n";
[/PHP]
gives me this output:
$VAR1 = bless( {
'appContext' => 'TeamSite',
'compositeOperation' => undef,
'sessionString' => '52616e646f6d4956616dfd296fe5c0d146cfdcab2ece250729a6dad842a8cc7378a2071946e15e06b09d52d210bf6e23a61466db09d7bc707d2c427dde0898dc',
'SSLKeyLocation' => undef,
'locale' => 'en',
'expirationDate' => '2008-03-14T12:33:22-04:00',
'serverName' => '192.168.18.107'
}, 'CSContext' );
Error: Bad file descriptor
I've experimented with trying to do both named parameters and just a parameter list, i.e. print FileServiceService::getStores($context), but both approaches give me the Bad file descriptor error.
I'm pretty sure I'm overlooking something obvious. Can anyone point me in the right direction?