The getDomainMetaData Operation

The getDomainMetaData operation takes these parameters:

domainUri - a string containing the path to the Domain on the server, for example /domains/John/ExpenseDomain.
localeStr - a string giving the user locale, for example en, en_US, or es_ES_Traditional_WIN.

The operation returns the tree structure of item sets and items in the requested Domain. The tree structure consists of levels that represent the nested sets and items that represent the items in the Domain. Levels may contain sub-levels, items, or both, thus modelling the hierarchical structure of the Domain.

The following object types are combined to create the tree structure in the return value:

SimpleMetaData. Encapsulates all the item sets and items in a Domain structure:
     rootLevel. The SimpleMetaLevel object that is the root of the Domain tree structure.
     properties.Tthere are currently no properties on this object.
SimpleMetaLevel. Represents an item set in the Domain. It has the following attributes:
     id and label. Unique identifier and label string for this item set.
     items. An array of SimpleMetaItem objects representing the items in this set.
     subLevels. An array of SimpleMetaLevel objects representing the sub-sets of this set.
     properties. The resourceId key indicates the resource identifier of this item set.
SimpleMetaItem. An item in the Domain. It has the following attributes:
     id and label. Unique identifier and label string for this item.
     javaType. The Java class name of this item, for example java.lang.String.
     properties. The javaType key is identical to the javaType attribute, and the resourceId key indicates the resource identifier of this item.

A resource identifier is an internal property that identifies the data resource that the set or item references. Web applications do not need to process or return this value.

This is the full SOAP request for a getDomainMetaData operation:

<?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:getDomainMetaData soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/
      encoding/" xmlns:ns1="http://www.jasperforge.org/jasperserver/ws">
      <domainUri xsi:type="xsd:string">/Domains/examples/SampleDomain</domainUri>
      <localeStr xsi:type="xsd:string">US</localeStr>
    </ns1:getDomainMetaData>
  </soapenv:Body>
</soapenv:Envelope>

The response of the request contains the tree structure of the Domain:

<?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:getDomainMetaDataResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/
      soap/encoding/" xmlns:ns1="http://www.jasperforge.org/jasperserver/ws">
      <getDomainMetaDataReturn xsi:type="ns1:SimpleMetaData">
        <rootLevel xsi:type="ns1:SimpleMetaLevel">
          <id xsi:type="xsd:string">root</id>
          <label xsi:type="xsd:string" xsi:nil="true"/>
          <properties soapenc:arrayType="ns1:SimpleProperty[0]" xsi:type="soapenc:Array" 
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
          <items soapenc:arrayType="ns1:SimpleMetaItem[0]" xsi:type="soapenc:Array" 
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
          <subLevels soapenc:arrayType="ns1:SimpleMetaLevel[7]" xsi:type="soapenc:Array" 
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
            <subLevels xsi:type="ns1:SimpleMetaLevel">
              <id xsi:type="xsd:string">expense_join</id>
              <label xsi:type="xsd:string">expense</label>
              <properties soapenc:arrayType="ns1:SimpleProperty[1]" xsi:type=
                "soapenc:Array">
                <properties xsi:type="ns1:SimpleProperty">
                  <key xsi:type="xsd:string">resourceId</key>
                  <value xsi:type="xsd:string">expense_join</value>
                </properties>
              </properties>
              <items soapenc:arrayType="ns1:SimpleMetaItem[2]" xsi:type="soapenc:Array">
                <items xsi:type="ns1:SimpleMetaItem">
                  <id xsi:type="xsd:string">ej_expense_fact_exp_date</id>
                  <label xsi:type="xsd:string">Exp Date</label>
                  <javaType xsi:type="xsd:string">java.sql.Date</javaType>
                  <properties soapenc:arrayType="ns1:SimpleProperty[2]" xsi:type=
                    "soapenc:Array">
                    <properties xsi:type="ns1:SimpleProperty">
                      <key xsi:type="xsd:string">JavaType</key>
                      <value xsi:type="xsd:string">java.sql.Date</value>
                    </properties>
                    <properties xsi:type="ns1:SimpleProperty">
                      <key xsi:type="xsd:string">resourceId</key>
                      <value xsi:type="xsd:string">expense_join.e.exp_date</value>
                    </properties>
                  </properties>
                </items>
                <items xsi:type="ns1:SimpleMetaItem">
                  <id xsi:type="xsd:string">ej_expense_fact_amount</id>
                  <label xsi:type="xsd:string">Amount</label>
                  <javaType xsi:type="xsd:string">java.math.BigDecimal</javaType>
                  <properties soapenc:arrayType="ns1:SimpleProperty[2]" xsi:type=
                    "soapenc:Array">
                    <properties xsi:type="ns1:SimpleProperty">
                      <key xsi:type="xsd:string">JavaType</key>
                      <value xsi:type="xsd:string">java.math.BigDecimal</value>
                    </properties>
                    <properties xsi:type="ns1:SimpleProperty">
                      <key xsi:type="xsd:string">resourceId</key>
                      <value xsi:type="xsd:string">expense_join.e.amount</value>
                    </properties>
                  </properties>
                </items>
              </items>
              <subLevels soapenc:arrayType="ns1:SimpleMetaLevel[0]" xsi:type=
                "soapenc:Array"/>
            </subLevels>
            <subLevels xsi:type="ns1:SimpleMetaLevel">
              <id xsi:type="xsd:string">expense_join_store</id>
              <label xsi:type="xsd:string">store</label>
              <properties soapenc:arrayType="ns1:SimpleProperty[1]" xsi:type=
                "soapenc:Array">
                <properties xsi:type="ns1:SimpleProperty">
                  <key xsi:type="xsd:string">resourceId</key>
                  <value xsi:type="xsd:string">expense_join</value>
                </properties>
              </properties>
              <items soapenc:arrayType="ns1:SimpleMetaItem[24]" xsi:type=
                "soapenc:Array">
                <items xsi:type="ns1:SimpleMetaItem">
                  <id xsi:type="xsd:string">ej_store_store_type</id>
                  <label xsi:type="xsd:string">Store Type</label>
                  <javaType xsi:type="xsd:string">java.lang.String</javaType>
                  <properties soapenc:arrayType="ns1:SimpleProperty[2]" xsi:type=
                    "soapenc:Array">
                    <properties xsi:type="ns1:SimpleProperty">
                      <key xsi:type="xsd:string">JavaType</key>
                      <value xsi:type="xsd:string">java.lang.String</value>
                    </properties>
                    <properties xsi:type="ns1:SimpleProperty">
                      <key xsi:type="xsd:string">resourceId</key>
                      <value xsi:type="xsd:string">expense_join.s.store_type</value>
                    </properties>
                  </properties>
                </items>
                ...
              </items>
              <subLevels soapenc:arrayType="ns1:SimpleMetaLevel[0]" xsi:type=
                "soapenc:Array"/>
            </subLevels>
          </subLevels>
        </rootLevel>
        <properties soapenc:arrayType="ns1:SimpleProperty[0]" xsi:type="soapenc:Array" 
          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
      </getDomainMetaDataReturn>
    </ns1:getDomainMetaDataResponse>
  </soapenv:Body>
</soapenv:Envelope>
Version: 
Feedback