perlquestion
hijinks
I have a soap lite question. i'm supposed to match this xml schema
<code>
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:getIntervalData soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="https://www.caiso.com/webservices/pirp/OperationsService/1.0">
<resId xsi:type="xsd:string">CABZON_1_WINDA1</resId>
<intervals xsi:type="soapenc:Array" soapenc:arrayType="ns2:OperationInterval[2]" xmlns:ns2="https://pirp.caiso.com/schemas/pirp/v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<item href="#id0"/>
<item href="#id1"/>
</intervals>
</ns1:getIntervalData>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:OperationInterval" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns3="https://pirp.caiso.com/schemas/pirp/v1">
<operDate xsi:type="xsd:dateTime">2003-08-16T10:51:36.137Z</operDate>
<hourEnding xsi:type="soapenc:int">16</hourEnding>
<intervalId xsi:type="soapenc:int">6</intervalId>
</multiRef>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:OperationInterval" xmlns:ns4="https://pirp.caiso.com/schemas/pirp/v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<operDate xsi:type="xsd:dateTime">2003-08-16T10:51:36.137Z</operDate>
<hourEnding xsi:type="soapenc:int">16</hourEnding>
<intervalId xsi:type="soapenc:int">5</intervalId>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
</code>
for the life of me I can't figure out the array part of it. It gets into the wsdl file just fine.
here is the perl code
<code>
# set this to what resId we want to use
$resId = "met_tower";
@OperationInterval = qw(["2003-08-16T10:51:36.137Z", "16", "6"],
["2003-08-16T10:51:36.137Z", "16", "5"]);
use SOAP::Lite;
my $soap = SOAP::Lite
->service("file:OperationsService.wsdl")
->xmlschema('2001');
my $som = $soap->getIntervalData($resId, @OperationInterval);
print $som;
</code>