I've been having problems with my soap ****t 80 calls in perl. Solution to
this was install an older version of XMLA SDK.
Now the problem is when I make the perl call, the 1st .net 2.0 call gives
me
the server activly refused connection error. But the next and all other
queries after that work.
I'm on sql server 2000, windows server 2003, iis 6. have xmla 4 and 6.
I'm
wondering if my soap envelope is bad/outdated.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<Execute xmlns="urn:schemas-microsoft-com:xml-analysis"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<Command><Statement>select {ClosingPeriod(Day,Time)} on rows, {[SP
Name].children} on columns from [All Time]</Statement></Command>
<Properties><PropertyList><DataSourceInfo>Provider=MSOLAP;Data
Source=local</DataSourceInfo><Catalog>UMG CRM
Oracle</Catalog><Format>Multidimensional</Format><AxisFormat>TupleFormat</Ax
isFormat><Content>Data</Content></PropertyList></Properties></Execute>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
PERL code:
my $socket = IO::Socket::INET->new(PeerAddr => $hostname, Peer****t =>
"80",Proto => "tcp",Type => 1)
or die "Couldn't connect\r\n";
print $socket ("POST /xmla/msxisapi.dll HTTP/1.1\r\n");
print $socket ("Accept: */*\r\n");
print $socket ("Accept-Language: en-us\r\n");
print $socket "soapaction: \"urn:schemas-microsoft-com:xml-analysis:" .
$soapaction . "\"\r\n";
print $socket ("Accept: text/xml\r\n");
print $socket ("Accept-Encoding: gzip, deflate/*\r\n");
print $socket ("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows
NT
5.0)/*\r\n");
print $socket ("Host: localhost\r\n");
print $socket ("Content-Length: $#count\r\n");
print $socket ("Connection: Keep-Alive\r\n");
print $socket ("Cache-Control: no-cache\r\n\r\n");
print $socket "$request";
return <$socket>;
close $socket;


|