As we have already shipped OpenSSO Enterprise 8.0; and we are working on the next official release, service schema XML files are likely to change (upgrade). Here is the PERL script that finds them.
Remember to set the values of $EIGHT_DOT_ZERO and $CURRENT
#!/usr/bin/perl -w use strict; my $EIGHT_DOT_ZERO = '/home/dennis/workspace/opensso8.0'; my $CURRENT = '/home/dennis/workspace/opensso1'; my %eightdotXMLs; my %currentXMLs; getServiceXMLs( "$EIGHT_DOT_ZERO/opensso/products/amserver/xml/services", \%eightdotXMLs); getServiceXMLs( "$EIGHT_DOT_ZERO/opensso/products/federation/openfm/xml/services", \%eightdotXMLs); getServiceXMLs( "$CURRENT/opensso/products/amserver/xml/services", \%currentXMLs); getServiceXMLs( "$CURRENT/opensso/products/federation/openfm/xml/services", \%currentXMLs); foreach (keys %currentXMLs) { my $name = $_; my $rev = $currentXMLs{$_}; if (! defined $eightdotXMLs{$name}) { print "$name ($rev) \n"; } } } sub getServiceXMLs { my $base = shift; my $hash = shift; opendir(DIR, $base); foreach (readdir DIR) { my $f = $_; if (($f !~ /^\./) && ($f =~ /\.xml$/)) { getRev("$base/$f", $hash); } } closedir DIR; } sub getRev { my $file = shift; my $hash = shift; my $f = $file; $f =~ s/.+\///; my $buff = ''; open(FILE, $file); while () { chomp; $buff .= $_; } close FILE; if ($buff =~ /<Schema .+?revisionNumber="(.+?)"/) { ${%{$hash}}{$f} = $1; } else { ${%{$hash}}{$f} = 0; } }
I just did a cursory look at the code.
I think your blog server created a defect to your script, by removing what it probably thought was an HTML tag.
The loop in the while loop in getRev subroutine be:
while (<FILE>) {
Oops, you are right. is “eaten up”. Thanks Paul