0 Replies Latest reply: Dec 5, 2012 6:39 PM by sirmarc RSS

    Can DataObjectOperationsByName be used to retrieve multiple rows?

    sirmarc
      I am attempting to use the DataObjectOperationsByName webservice Get method to retrieve a list of rows based on a column value, but based on my work so far, it looks like this may not be possible. Can anyone confirm this?

      I have implemented some BAM counters and intervals in my BPEL processes, which has automatically created the "/Samples/Monitor Express" path with the COMPONENT, COUNTER and INTERVAL data objects in BAM after deployment of the BPEL process to the soa-server. These measurements are successfully being populated whenever the BPEL processes are run.
      I have a number of BPEL processes - two of which are called "getClient" and "createClient", so I am attempting to use the following webservice payload to retrieve all "createClient" rows from the data object using DataObjectOperationsByName Get method:

      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bam="http://xmlns.oracle.com/bam">
      <soapenv:Header/>
      <soapenv:Body>
      <bam:Get>
      <!--Optional:-->
      <bam:keysCSV>COMPONENT_NAME</bam:keysCSV>
      <!--Optional:-->
      <bam:xmlPayload>
                <![CDATA[
                <DataObject Name="COMPONENT" Path="/Samples/Monitor Express">
                <Contents>
                <Row>
                <Column Name="COMPONENT_NAME" Value="createClient"/>
                </Row>
                </Contents>
                </DataObject>]]>
           </bam:xmlPayload>
      </bam:Get>
      </soapenv:Body>
      </soapenv:Envelope>

      However, this only returns the first row that it finds that matches the COMPONENT_NAME of createClient, where I know that there are many more rows matching that value.
      Does anyone know if this sort of query is possible using this webservice?

      Cheers,
      Marc.