TIP Soap Generator Mapping Rules - Part IX

JOSIF Main PageJOSIF Framework  | TIP Soap Generator | TIP Soap Generator Mapping Rules - Part IX

Only in JOSIF V1.1.

Common operations cover create, delete, set and get applied to a single entity class.

They define patterns and signatures for each of these operations. Those operations are defined using tipEntityXxx stereotypes on the corresponding entity artifact, where Xxx is the name of the operation. These stereotypes are defined in the TIP Profile.

The SOAP generator, based on the values of the attributes of each stereotype, will generate the corresponding common operation XSD and WSDL.

Each directive is documented using the Resource Alarm Management interface.

Create Common Operation

This common operation is defined by the stereotype tipEntityCreate  that describes the various attributes used to configure this operation.
There will be at maximum one create operation per object type that will be created automatically by the Tigerstripe generators. Only one object will be created at a time.

The referenceObject specifies an existing instance of a managed object of the same class as the new object to be created. Attribute values associated
with the reference object instance become the default values for those not specified by the createData parameter.

The generator define a specific structure based on the attributes of the given object type that are settable at time of object creation.

This is defined by the attribute settableAtCreation of the  tipAttribute  stereotype.

The object name would be in createData in the case of autonaming.

If the server determines that the object already exists (either via the name or some other info), then the request shall fail
with the exception Duplicate.

If supported by the object type in question, an Object Creation notification is sent when this operation is successful.

This operation is extendable by the user, if needed. It is based on the value of the attribute isExtendable of the tipEntityCreate stereotype. The operation is mandatory or not based on the value of the attribute isExtendable of the tipEntityCreate stereotype.

The following example from the RAM interface shows the XML and WSDL generated for this directive:

 <xsd:element name="createResourceAlarmRequest">
    <xsd:annotation>
      <xsd:documentation> The createResourceAlarm request message XML schema. </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="referenceObject" type="entity:EntityIdentifier" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>It specifies an existing instance of a ResourceAlarm.</p>
              <p>This parameter is input parameter</p>
              <p>This parameter has multiplicity 0..1</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by id</p>
              <p>This parameter is optional</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="createData" type="tns:CreateDataForResourceAlarm" minOccurs="1"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>create data using the datatype generated</p>
              <p>This parameter is input parameter</p>
              <p>This parameter has multiplicity 1</p>
              <p>This parameter is unique</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="createResourceAlarmResponse">
    <xsd:annotation>
      <xsd:documentation>
        <p>The createResourceAlarm response message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="createdObject" type="tns:ResourceAlarm" minOccurs="1" maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>created ResourceAlarm</p>
              <p>This parameter is output parameter</p>
              <p>This parameter has multiplicity 1</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by value</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="createResourceAlarmException">
    <xsd:annotation>
      <xsd:documentation>
        <p>The createResourceAlarm exception message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element name="duplicate" type="exceptions1:Duplicate">
          <xsd:annotation>
            <xsd:documentation>
              <p/>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="capacityExceeded" type="exceptions1:CapacityExceeded">
          <xsd:annotation>
            <xsd:documentation>
              <p/>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="accessDenied" type="exceptions:AccessDenied"/>
        <xsd:element name="communicationLoss" type="exceptions:CommunicationLoss"/>
        <xsd:element name="internalError" type="exceptions:InternalError"/>
        <xsd:element name="invalidInput" type="exceptions:InvalidInput"/>
        <xsd:element name="notImplemented" type="exceptions:NotImplemented"/>
        <xsd:element name="unableToComply" type="exceptions:UnableToComply"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
   

The CreateDataForResourceAlarm type contains all the settable attributes:

<xsd:complexType name="CreateDataForResourceAlarm">
    <xsd:sequence>
      <xsd:element name="alarmType" type="tns:AlarmType" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <p>Categorizes the alarm. This attribute needs to be supported in the Simple Alarm
              Reporting profile.</p>
            <p>This attribute has multiplicity 0..1</p>
            <p>This attribute is optional</p>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="perceivedSeverity" type="tns:PerceivedSeverity" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <p>Lists the possible severities that can be allocated to an Alarm. The values are
              consistent with ITU-T Recommendation X.733. Once an alarm has been cleared, its
              perceived severity is set to Cleared and can no longer be set. This attribute needs to
              be supported in the Simple Alarm Reporting profile.</p>
            <p>This attribute has multiplicity 0..1</p>
            <p>This attribute is optional</p>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      ...........
      ...........
      <xsd:element name="securityServiceUser" type="xsd:string" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <p>Identifies the service user whose request for service led to the generation of the
              security alarm.</p>
            <p>This attribute has multiplicity 0..1</p>
            <p>This attribute is optional</p>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
 
 <wsdl:message name="createResourceAlarmRequest">
        <wsdl:documentation>
            <p>The createResourceAlarm request message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:createResourceAlarmRequest"/>
    </wsdl:message>
    <wsdl:message name="createResourceAlarmResponse">
        <wsdl:documentation>
            <p>The createResourceAlarm response message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:createResourceAlarmResponse"/>
    </wsdl:message>
    <wsdl:message name="createResourceAlarmException">
        <wsdl:documentation>
            <p>The createResourceAlarm exception message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:createResourceAlarmException"/>
    </wsdl:message>
     

the operation within a portType:

<wsdl:portType name="ResourceAlarmInterface">
<wsdl:operation name="createResourceAlarm">
            <wsdl:documentation>
                <p>This is the Create common request-response operation.</p>
            </wsdl:documentation>
            <wsdl:input name="createResourceAlarmRequest" message="tns:createResourceAlarmRequest"/>
            <wsdl:output name="createResourceAlarmResponse"
                message="tns:createResourceAlarmResponse"/>
            <wsdl:fault name="createResourceAlarmException"
                message="tns:createResourceAlarmException"/>
        </wsdl:operation>
</wsdl:portType>
    

and the binding of a portType:

 <!-- Binding - Concrete Service Interface deployment SOAP/HTTP -->
    <wsdl:binding name="ResourceAlarmInterfaceSoapHttpBinding" type="tns:ResourceAlarmInterface">
        <wsdl:documentation>
            <p>Web Service (SOAP/HTTP) profile binding definitions.</p>
        </wsdl:documentation>
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
 <wsdl:operation name="createResourceAlarm">
            <soap:operation soapAction="createResourceAlarm" style="document"/>
            <wsdl:input name="createResourceAlarmRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="createResourceAlarmResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="createResourceAlarmException">
                <soap:fault name="createResourceAlarmException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
</wsdl:binding>
 

Delete Common Operation

This common operation is defined by the stereotype  tipEntityDelete that describes the various attributes used to configure this operation.

The objects to be deleted are identified by their EntityIdentifier which is the type used in TIP for identifying an object. If deletion based on a filter is needed, then a getThingIds must be used to return all ids matching a filter. This set of ids can then be used as input of the delete operation.

If supported by the object type in question, an Object Deletion notification is sent when this operation is successful.

This operation is not extendable. The operation is mandatory or not based on the value of the attribute support of the tipEntityDelete stereotype.

The following example from the RAM interface shows the XML and WSDL generated for this directive:

<xsd:element name="deleteResourceAlarmsRequest">
    <xsd:annotation>
      <xsd:documentation>
        <p>The deleteResourceAlarms request message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="objectsToDelete" type="entity:ArrayOfEntityIdentifier" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>Filter to be used</p>
              <p>This parameter is input parameter</p>
              <p>This parameter has multiplicity 1..*</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by value</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="deleteResourceAlarmsResponse">
    <xsd:annotation>
      <xsd:documentation>
        <p>The deleteResourceAlarms response message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="failedIds" type="entity:ArrayOfEntityIdentifier" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>failed objects that could not be deleted (by id)</p>
              <p>This parameter is output parameter</p>
              <p>This parameter has multiplicity 0..*</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by value</p>
              <p>This parameter is bulk potential</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="deleteResourceAlarmsException">
    <xsd:annotation>
      <xsd:documentation>
        <p>The "deleteResourceAlarmsException" exception message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element name="accessDenied" type="exceptions:AccessDenied"/>
        <xsd:element name="communicationLoss" type="exceptions:CommunicationLoss"/>
        <xsd:element name="internalError" type="exceptions:InternalError"/>
        <xsd:element name="invalidInput" type="exceptions:InvalidInput"/>
        <xsd:element name="notImplemented" type="exceptions:NotImplemented"/>
        <xsd:element name="unableToComply" type="exceptions:UnableToComply"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
   

and in the WSDL the messages:

  <wsdl:message name="deleteResourceAlarmsRequest">
        <wsdl:documentation>
            <p>The deleteResourceAlarms request message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:deleteResourceAlarmsRequest"/>
    </wsdl:message>
    <wsdl:message name="deleteResourceAlarmsResponse">
        <wsdl:documentation>
            <p>The deleteResourceAlarms response message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:deleteResourceAlarmsResponse"/>
    </wsdl:message>
    <wsdl:message name="deleteResourceAlarmsException">
        <wsdl:documentation>
            <p>The deleteResourceAlarms exception message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:deleteResourceAlarmsException"/>
    </wsdl:message>
    

the operation within a portType:

<wsdl:portType name="ResourceAlarmInterface">
  <wsdl:operation name="deleteResourceAlarms">
            <wsdl:documentation>
                <p>This is the Delete common request-response operation.</p>
            </wsdl:documentation>
            <wsdl:input name="deleteResourceAlarmsRequest" message="tns:deleteResourceAlarmsRequest"/>
            <wsdl:output name="deleteResourceAlarmsResponse"
                message="tns:deleteResourceAlarmsResponse"/>
            <wsdl:fault name="deleteResourceAlarmsException"
                message="tns:deleteResourceAlarmsException"/>
        </wsdl:operation>
</wsdl:portType>
      

and the binding of a portType:

 <!-- Binding - Concrete Service Interface deployment SOAP/HTTP -->
    <wsdl:binding name="ResourceAlarmInterfaceSoapHttpBinding" type="tns:ResourceAlarmInterface">
        <wsdl:documentation>
            <p>Web Service (SOAP/HTTP) profile binding definitions.</p>
        </wsdl:documentation>
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
 <wsdl:operation name="deleteResourceAlarms">
            <soap:operation soapAction="deleteResourceAlarms" style="document"/>
            <wsdl:input name="deleteResourceAlarmsRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="deleteResourceAlarmsResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="deleteResourceAlarmsException">
                <soap:fault name="deleteResourceAlarmsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>

</wsdl:binding>
 

Get Common Operations

The common operations define 3 different get operations:

1. Single entity get (getThing): getting the values of a single instance,

2. Multiple entities get (getThings): get all entities matching a filter, returning the values,

3. Multiple entities get by ids (getThingIds): get all entities matching a filter, returning only the ids

It is possible to have all 3 get directives defined for the same interface. For this reason and for alignment with the set, it has been decided to use 2 stereotypes: one for single instance get et and one for multiple instances get.

Using a single stereotype with an attribute to indicate single/ multiple or both would have been possible, but it would have implied that the description, extensibility and support attributes would be shared.

The following shows the XML and WSDL associated with the 3 different get operations:

Get Single Instance Common Operation

This common operation is defined by the stereotype tipEntityGet  that describes the various attributes used to configure this operation.

This operation is always extendable by the user. The operation is mandatory or not based on the value of the attribute support of the tipEntityGet stereotype.

The following example from the RAM interface shows the XML and WSDL generated for this directive:

<xsd:element name="getResourceAlarmRequest">
    <xsd:annotation>
      <xsd:documentation> The getResourceAlarm request message XML schema. </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="objectToGet" type="entity:EntityIdentifier" minOccurs="1" maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>ResourceAlarm to return. Passed by id</p>
              <p>This parameter is input parameter</p>
              <p>This parameter has multiplicity 1</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by id</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="extensionInfo" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation> a generic list of any type of elements. Used for vendor extensions
              or loose element encapsulation from other namespaces. </xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="getResourceAlarmResponse">
    <xsd:annotation>
      <xsd:documentation>
        <p>The getResourceAlarm response message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="resourceAlarm" type="tns:ResourceAlarm" minOccurs="1" maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>ResourceAlarm being returned</p>
              <p>This parameter is output parameter</p>
              <p>This parameter has multiplicity 1</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by value</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="extensionInfo" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation> a generic list of any type of elements. Used for vendor extensions
              or loose element encapsulation from other namespaces. </xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="getResourceAlarmException">
    <xsd:annotation>
      <xsd:documentation>
        <p>The "getResourceAlarmException" exception message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element name="entityNotFound" type="exceptions1:EntityNotFound">
          <xsd:annotation>
            <xsd:documentation>
              <p/>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="accessDenied" type="exceptions:AccessDenied"/>
        <xsd:element name="communicationLoss" type="exceptions:CommunicationLoss"/>
        <xsd:element name="internalError" type="exceptions:InternalError"/>
        <xsd:element name="invalidInput" type="exceptions:InvalidInput"/>
        <xsd:element name="notImplemented" type="exceptions:NotImplemented"/>
        <xsd:element name="unableToComply" type="exceptions:UnableToComply"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
   
   <wsdl:message name="getResourceAlarmRequest">
        <wsdl:documentation>
            <p>The getResourceAlarm request message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:getResourceAlarmRequest"/>
    </wsdl:message>
    <wsdl:message name="getResourceAlarmResponse">
        <wsdl:documentation>
            <p>The getResourceAlarm response message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:getResourceAlarmResponse"/>
    </wsdl:message>
    <wsdl:message name="getResourceAlarmException">
        <wsdl:documentation>
            <p>The getResourceAlarm exception message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:getResourceAlarmException"/>
    </wsdl:message>
    

the operation within a portType:

<wsdl:portType name="ResourceAlarmInterface">
   <wsdl:operation name="getResourceAlarm">
            <wsdl:documentation>
                <p>This is the Get common request-response operation.</p>
            </wsdl:documentation>
            <wsdl:input name="getResourceAlarmRequest" message="tns:getResourceAlarmRequest"/>
            <wsdl:output name="getResourceAlarmResponse" message="tns:getResourceAlarmResponse"/>
            <wsdl:fault name="getResourceAlarmException" message="tns:getResourceAlarmException"/>
        </wsdl:operation>
</wsdl:portType>
     

and the binding of a portType:

 <!-- Binding - Concrete Service Interface deployment SOAP/HTTP -->
    <wsdl:binding name="ResourceAlarmInterfaceSoapHttpBinding" type="tns:ResourceAlarmInterface">
        <wsdl:documentation>
            <p>Web Service (SOAP/HTTP) profile binding definitions.</p>
        </wsdl:documentation>
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
 
        <wsdl:operation name="getResourceAlarm">
            <soap:operation soapAction="getResourceAlarm" style="document"/>
            <wsdl:input name="getResourceAlarmRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="getResourceAlarmResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="getResourceAlarmException">
                <soap:fault name="getResourceAlarmException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>

</wsdl:binding>
 

Get Multiple Instances Common Operation

This common operation is defined by the stereotype  tipEntityGetMultiple that describes the various attributes used to configure this operation.

GetThingIds Common Operation

getThingIds will be generated if the value of the attribute ‘’getType’’ of the  tipEntityGetMultiple stereotype is id or 'both'.

The values of the objects are returned by ids, as a set of EntityIdentifiers.

Filter type is defined in the Common Model. It can be either a template filter or a choice of template or query filter. Please refer to Filtering for more details. Support of the template filter is mandatory.

This operation is always extendable by the user. The operation is mandatory or not based on the value of the attribute ‘’support’’ of the tipEntityGetMultiple stereotype.

The following example from the RAM interface shows the XML and WSDL generated for this directive:

 <xsd:element name="getResourceAlarmIdsRequest">
    <xsd:annotation>
      <xsd:documentation> The getResourceAlarmIds request message XML schema. </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="filter" type="tns:ResourceAlarmFilterChoice" minOccurs="0" maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>Filter to be used</p>
              <p>This parameter is input parameter</p>
              <p>This parameter has multiplicity 1..*</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by value</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="extensionInfo" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation> a generic list of any type of elements. Used for vendor extensions
              or loose element encapsulation from other namespaces. </xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="getResourceAlarmIdsResponse">
    <xsd:annotation>
      <xsd:documentation>
        <p>The getResourceAlarmIds response message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="resourceAlarmIds" type="entity:ArrayOfEntityIdentifier" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>resourceAlarm</p>
              <p>This parameter is output parameter</p>
              <p>This parameter has multiplicity 0..*</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by id</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="extensionInfo" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation> a generic list of any type of elements. Used for vendor extensions
              or loose element encapsulation from other namespaces. </xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
 
  <xsd:element name="getResourceAlarmIdsException">
    <xsd:annotation>
      <xsd:documentation>
        <p>The "getResourceAlarmIdsException" exception message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element name="filterNotSupported" type="exceptions1:FilterNotSupported"/>
        <xsd:element name="accessDenied" type="exceptions:AccessDenied"/>
        <xsd:element name="communicationLoss" type="exceptions:CommunicationLoss"/>
        <xsd:element name="internalError" type="exceptions:InternalError"/>
        <xsd:element name="invalidInput" type="exceptions:InvalidInput"/>
        <xsd:element name="notImplemented" type="exceptions:NotImplemented"/>
        <xsd:element name="unableToComply" type="exceptions:UnableToComply"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
 
  <wsdl:message name="getResourceAlarmIdsRequest">
        <wsdl:documentation>
            <p>The getResourceAlarmIds request message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:getResourceAlarmIdsRequest"/>
    </wsdl:message>
    <wsdl:message name="getResourceAlarmIdsResponse">
        <wsdl:documentation>
            <p>The getResourceAlarmIds response message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:getResourceAlarmIdsResponse"/>
    </wsdl:message>
    <wsdl:message name="getResourceAlarmIdsException">
        <wsdl:documentation>
            <p>The getResourceAlarmIds exception message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:getResourceAlarmIdsException"/>
    </wsdl:message>
   

the operation within a portType:

<wsdl:portType name="ResourceAlarmInterface">
  <wsdl:operation name="getResourceAlarmIds">
            <soap:operation soapAction="getResourceAlarmIds" style="document"/>
            <wsdl:input name="getResourceAlarmIdsRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="getResourceAlarmIdsResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="getResourceAlarmIdsException">
                <soap:fault name="getResourceAlarmIdsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
</wsdl:portType>
    

and the binding of a portType:

 <!-- Binding - Concrete Service Interface deployment SOAP/HTTP -->
    <wsdl:binding name="ResourceAlarmInterfaceSoapHttpBinding" type="tns:ResourceAlarmInterface">
        <wsdl:documentation>
            <p>Web Service (SOAP/HTTP) profile binding definitions.</p>
        </wsdl:documentation>
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="getResourceAlarmIds">
            <soap:operation soapAction="getResourceAlarmIds" style="document"/>
            <wsdl:input name="getResourceAlarmIdsRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="getResourceAlarmIdsResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="getResourceAlarmIdsException">
                <soap:fault name="getResourceAlarmIdsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
</wsdl:binding>
 

GetThings Common Operation

getThings will be generated if the value of the attribute ‘’getType’’ of the  tipEntityGetMultiple stereotype is value or both.

The values of the objects are returned using an iterator.

For example in the RAM interface:

<xsd:complexType name="ResourceAlarmResultWithIterator">
    <xsd:sequence>
      <xsd:element name="result" type="tns:ArrayOfResourceAlarm"/>
      <xsd:element name="iterator" type="iterator:IteratorInfo"/>
    </xsd:sequence>
</xsd:complexType>
 

Filter type is defined in the Common Model. It can be either a template filter or a choice of template or query filter. Please refer to Filtering for more details. Support of the template filter is mandatory.

This operation is always extendable by the user. The operation is mandatory or not based on the value of the attribute ’’support’’ of the tipEntityGetMultiple stereotype.

The following example from the RAM interface shows the XML and WSDL generated for this directive:

<xsd:element name="getResourceAlarmsRequest">
    <xsd:annotation>
      <xsd:documentation>
        <p>The getResourceAlarms request message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="iterator:CommonRequest">
          <xsd:sequence>
            <xsd:element name="filter" type="tns:ResourceAlarmFilterChoice" minOccurs="0"
              maxOccurs="1">
              <xsd:annotation>
                <xsd:documentation>
                  <p>Template or XPATH filter</p>
                  <p>This parameter is input parameter</p>
                  <p>This parameter has multiplicity 1</p>
                  <p>This parameter is unique</p>
                  <p>This parameter is mandatory</p>
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="attributeSelector" type="primitives:ArrayOfString" minOccurs="0"
              maxOccurs="1">
              <xsd:annotation>
                <xsd:documentation>
                  <p>Allow to specify which attributes to return. It allows to return only a subset
                    of the object instead of the full object. If empty, the full object is
                    returned.</p>
                  <p>This parameter is input parameter</p>
                  <p>This parameter has multiplicity 0..*</p>
                  <p>This parameter is unique</p>
                  <p>This parameter is optional</p>
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="extensionInfo" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation> a generic list of any type of elements. Used for vendor
                  extensions or loose element encapsulation from other namespaces.
                </xsd:documentation>
              </xsd:annotation>
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:any namespace="##any" processContents="lax" minOccurs="0"
                    maxOccurs="unbounded"/>
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="getResourceAlarmsResponse">
    <xsd:annotation>
      <xsd:documentation>
        <p>The getThings response message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="ResourceAlarms" type="tns:ResourceAlarmResultWithIterator" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>objects being returned. By iterator.</p>
              <p>This parameter is output parameter</p>
              <p>This parameter has multiplicity 0..*</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by value</p>
              <p>This parameter is bulk potential</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="extensionInfo" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation> a generic list of any type of elements. Used for vendor extensions
              or loose element encapsulation from other namespaces. </xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="getResourceAlarmsException">
    <xsd:annotation>
      <xsd:documentation>
        <p>The "getResourceAlarmsException" exception message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element name="filterNotSupported" type="exceptions1:FilterNotSupported"/>
        <xsd:element name="accessDenied" type="exceptions:AccessDenied"/>
        <xsd:element name="communicationLoss" type="exceptions:CommunicationLoss"/>
        <xsd:element name="internalError" type="exceptions:InternalError"/>
        <xsd:element name="invalidInput" type="exceptions:InvalidInput"/>
        <xsd:element name="notImplemented" type="exceptions:NotImplemented"/>
        <xsd:element name="unableToComply" type="exceptions:UnableToComply"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
   
  <wsdl:message name="getResourceAlarmsRequest">
        <wsdl:documentation>
            <p>The getResourceAlarms request message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:getResourceAlarmsRequest"/>
    </wsdl:message>
    <wsdl:message name="getResourceAlarmsResponse">
        <wsdl:documentation>
            <p>The getResourceAlarms response message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:getResourceAlarmsResponse"/>
    </wsdl:message>
    <wsdl:message name="getResourceAlarmsException">
        <wsdl:documentation>
            <p>The getResourceAlarms exception message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:getResourceAlarmsException"/>
    </wsdl:message>

   

the operation within a portType:

<wsdl:portType name="ResourceAlarmInterface">
  <wsdl:operation name="getResourceAlarms">
            <soap:operation soapAction="getResourceAlarms" style="document"/>
            <wsdl:input name="getResourceAlarmsRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="getResourceAlarmsResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="getResourceAlarmsException">
                <soap:fault name="getResourceAlarmsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
</wsdl:portType>
    

and the binding of a portType:

 <!-- Binding - Concrete Service Interface deployment SOAP/HTTP -->
    <wsdl:binding name="ResourceAlarmInterfaceSoapHttpBinding" type="tns:ResourceAlarmInterface">
        <wsdl:documentation>
            <p>Web Service (SOAP/HTTP) profile binding definitions.</p>
        </wsdl:documentation>
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="getResourceAlarms">
            <soap:operation soapAction="getResourceAlarms" style="document"/>
            <wsdl:input name="getResourceAlarmsRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="getResourceAlarmsResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="getResourceAlarmsException">
                <soap:fault name="getResourceAlarmsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>

</wsdl:binding>
 

Set Common Operations

The common operations define 3 different set operations:

1. Single entity set (setThing): setting a single instance, all attributes should be set in an atomic way,

2. Multiple entities set, best effort (setThings): set all entities matching a filter,

3. Multiple entities set, atomic (setThingsAtomic): set all entities matching a filter in an atomic way

It is possible to have 2 set directives defined for the same interface, a single instance one and a multiple instances
one. For this reason, it has been decided to use 2 stereotypes: one for single instance set and and one for multiple
instances set, as a given interface might need to support both. Using a single stereotype with an attribute to indicate
single/ multiple or both would have been possible, but it would have implied that the description, extensibility and
support attributes would be shared.

Set Single Instance Common Operation

This common operation is defined by the stereotype tipEntitySet that describes the various attributes used to configure this operation.

The single instance is atomic, all attributes should be set.

The setDataFor<Thing> and AddDataFor<Thing> and RemoveDataFor<Thing> are just placeholders here.

The generator defines a specific structure based on the attributes of the given object type that are settable
(resp. settable and are set-valued (multiplicity , or 1..) for AddData) after object creation.

One or more of the parameters valuesToBeSet, valuesToAdd, valuesToRemove can be provided in the same operation, but at least of those parameters should be present.

The entire modified object is returned.

If supported by the object type in question, an AVC notification is sent when this operation is successful.

This operation is extendable by the user, if needed. It is based on the value of the attribute isExtendable of the tipEntitySet stereotype. The operation is mandatory or not based on the value of the attribute support of the tipEntitySet stereotype.

The following example from the RAM interface shows the XML and WSDL generated for this directive:

 <xsd:element name="setResourceAlarmRequest">
    <xsd:annotation>
      <xsd:documentation> The setResourceAlarm request message XML schema. </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="objectToSet" type="entity:EntityIdentifier" minOccurs="1" maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>object to Set, passed as an Entity Identifier</p>
              <p>This parameter is input parameter</p>
              <p>This parameter has multiplicity 1</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by id</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="valuesToBeSet" type="tns:SetDataForResourceAlarm" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>Xalues to be set, using datatype built by generators. Note that at least one of the
                parameters valuesToBeSet, valuesToAdd and valuesToRemove should be present.</p>
              <p>This parameter is input parameter</p>
              <p>This parameter has multiplicity 0..1</p>
              <p>This parameter is unique</p>
              <p>This parameter is optional</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="valuesToAdd" type="tns:AddDataForResourceAlarm" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>Values to add, using datatype built by generators. Note that at least one of the
                parameters valuesToBeSet, valuesToAdd and valuesToRemove should be present.</p>
              <p>This parameter is input parameter</p>
              <p>This parameter has multiplicity 0..1</p>
              <p>This parameter is unique</p>
              <p>This parameter is optional</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="valuesToRemove" type="tns:RemoveDataForResourceAlarm" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>Values to remove, using datatype built by generators. Note that at least one of the
                parameters valuesToBeSet, valuesToAdd and valuesToRemove should be present.</p>
              <p>This parameter is input parameter</p>
              <p>This parameter has multiplicity 0..1</p>
              <p>This parameter is unique</p>
              <p>This parameter is optional</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="extensionInfo" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation> a generic list of any type of elements. Used for vendor extensions
              or loose element encapsulation from other namespaces. </xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="setResourceAlarmResponse">
    <xsd:annotation>
      <xsd:documentation>
        <p>The setResourceAlarm response message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="modifiedObject" type="tns:ResourceAlarm" minOccurs="1" maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>modified object by value</p>
              <p>This parameter is output parameter</p>
              <p>This parameter has multiplicity 1</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by value</p>
              <p>This parameter is mandatory</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="extensionInfo" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation> a generic list of any type of elements. Used for vendor extensions
              or loose element encapsulation from other namespaces. </xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="setResourceAlarmException">
    <xsd:annotation>
      <xsd:documentation>
        <p>The setResourceAlarm exception message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element name="notInValidState" type="exceptions1:NotInValidState">
          <xsd:annotation>
            <xsd:documentation>
              <p/>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="entityNotFound" type="exceptions1:EntityNotFound">
          <xsd:annotation>
            <xsd:documentation>
              <p/>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="accessDenied" type="exceptions:AccessDenied"/>
        <xsd:element name="communicationLoss" type="exceptions:CommunicationLoss"/>
        <xsd:element name="internalError" type="exceptions:InternalError"/>
        <xsd:element name="invalidInput" type="exceptions:InvalidInput"/>
        <xsd:element name="notImplemented" type="exceptions:NotImplemented"/>
        <xsd:element name="unableToComply" type="exceptions:UnableToComply"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
   
    <wsdl:message name="setResourceAlarmRequest">
        <wsdl:documentation>
            <p>The setResourceAlarm request message.</p>
        </wsdl:documentation>
        <wsdl:part
            name="body"
            element="tns:setResourceAlarmRequest" />
    </wsdl:message>
    <wsdl:message name="setResourceAlarmResponse">
        <wsdl:documentation>
            <p>The setResourceAlarm response message.</p>
        </wsdl:documentation>
        <wsdl:part
          name="body"
          element="tns:setResourceAlarmResponse" />
    </wsdl:message>
        <wsdl:message name="setResourceAlarmException">
        <wsdl:documentation>
            <p>The setResourceAlarm exception message.</p>
        </wsdl:documentation>
        <wsdl:part
          name="body"
          element="tns:setResourceAlarmException" />
        </wsdl:message>
     

the operation within a portType:

<wsdl:portType name="ResourceAlarmInterface">
  <wsdl:operation name="setResourceAlarm">
            <soap:operation soapAction="setResourceAlarm" style="document"/>
            <wsdl:input name="setResourceAlarmRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="setResourceAlarmResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="setResourceAlarmException">
                <soap:fault name="setResourceAlarmException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
</wsdl:portType>
      

and the binding of a portType:

 <!-- Binding - Concrete Service Interface deployment SOAP/HTTP -->
    <wsdl:binding name="ResourceAlarmInterfaceSoapHttpBinding" type="tns:ResourceAlarmInterface">
        <wsdl:documentation>
            <p>Web Service (SOAP/HTTP) profile binding definitions.</p>
        </wsdl:documentation>
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
 <wsdl:operation name="setResourceAlarm">
            <soap:operation soapAction="setResourceAlarm" style="document"/>
            <wsdl:input name="setResourceAlarmRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="setResourceAlarmResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="setResourceAlarmException">
                <soap:fault name="setResourceAlarmException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>

</wsdl:binding>
 

Set Multiple Instances Common Operation

This common operation is defined by the stereotype  tipEntitySetMultiple that describes the various attributes used to configure this operation.

SetThings Common Operation

setThings will be generated if the value of the attribute ‘’isAtomic’’ of the  tipEntitySetMultiple stereotype is false.

Best effort only applies at the entire object level, i.e., either all the request attributes for an given object are set or not.

The setDataFor<Thing> and AddDataFor<Thing> are just placeholders here. The generator will define a specific structure based on the attributes of the given object type that are settable (resp. settable and are set-valued (multiplicity , or 1..) for AddData) after object creation. One or more of the parameters valuesToBeSet, valuesToAdd, valuesToRemove can be provided in the same operation, but at least of those parameters should be present. There is only a single combination of valuesToBeSet, valuesToAdd and valuestoRemove with only 1 single value per attribute. This value will be set/added/removed in all object instances selected by the filter.

If supported by the object type in question, several AVC notifications are sent when this operation is successful.

Filter type is defined in the Common Model. It can be either a template filter or a choice of template or query filter. Please refer to Filtering for more details. Support of the template filter is mandatory.

Only the objects successfully modified are returned.

This operation is extendable by the user, if needed. It is based on the value of the attribute ‘’isExtendable’’ of the tipEntitySetMultiple stereotype. The operation is mandatory or not based on the value of the attribute ‘’support’’ of the tipEntitySetMuliple stereotype.

The following example from the RAM interface shows the XML and WSDL generated for this directive:

 <xsd:element name="setResourceAlarmsRequest">
    <xsd:annotation>
      <xsd:documentation>
        <p>The setResourceAlarms request message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="iterator:CommonRequest">
          <xsd:sequence>
            <xsd:element name="filter" type="tns:ResourceAlarmFilterChoice" minOccurs="0"
              maxOccurs="1">
              <xsd:annotation>
                <xsd:documentation>
                  <p>Template or XPATH filter</p>
                  <p>This parameter is input parameter</p>
                  <p>This parameter has multiplicity 1</p>
                  <p>This parameter is unique</p>
                  <p>This parameter is mandatory</p>
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="valuesToBeSet" type="tns:SetDataForResourceAlarm" minOccurs="0"
              maxOccurs="1">
              <xsd:annotation>
                <xsd:documentation>
                  <p>Values to be set, using datatype built by generators. Note that at least one of
                    the parameters valuesToBeSet, valuesToAdd and valuesToRemove should be
                    present.</p>
                  <p>This parameter is input parameter</p>
                  <p>This parameter has multiplicity 0..1</p>
                  <p>This parameter is unique</p>
                  <p>This parameter is optional</p>
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="valuesToAdd" type="tns:AddDataForResourceAlarm" minOccurs="0"
              maxOccurs="1">
              <xsd:annotation>
                <xsd:documentation>
                  <p>Values to add, using datatype built by generators. Note that at least one of
                    the parameters valuesToBeSet, valuesToAdd and valuesToRemove should be
                    present.</p>
                  <p>This parameter is input parameter</p>
                  <p>This parameter has multiplicity 0..1</p>
                  <p>This parameter is unique</p>
                  <p>This parameter is optional</p>
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="valuesToRemove" type="tns:AddDataForResourceAlarm" minOccurs="0"
              maxOccurs="1">
              <xsd:annotation>
                <xsd:documentation>
                  <p>Values to remove, using datatype built by generators. Note that at least one of
                    the parameters valuesToBeSet, valuesToAdd and valuesToRemove should be
                    present.</p>
                  <p>This parameter is input parameter</p>
                  <p>This parameter has multiplicity 0..1</p>
                  <p>This parameter is unique</p>
                  <p>This parameter is optional</p>
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="extensionInfo" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation> a generic list of any type of elements. Used for vendor
                  extensions or loose element encapsulation from other namespaces.
                </xsd:documentation>
              </xsd:annotation>
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:any namespace="##any" processContents="lax" minOccurs="0"
                    maxOccurs="unbounded"/>
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="setResourceAlarmsResponse">
    <xsd:annotation>
      <xsd:documentation>
        <p>The setResourceAlarms response message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="modifiedObjects" type="tns:ResourceAlarmResultWithIterator" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>modified alarms by value.</p>
              <p>This parameter is output parameter</p>
              <p>This parameter has multiplicity 0..*</p>
              <p>This parameter is ordered</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by value</p>
              <p>This parameter is bulk potential</p>
              <p>This parameter is optional</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="failedIds" type="entity:ArrayOfEntityIdentifier" minOccurs="0"
          maxOccurs="1">
          <xsd:annotation>
            <xsd:documentation>
              <p>failed alarms that could not be set (by id)</p>
              <p>This parameter is output parameter</p>
              <p>This parameter has multiplicity 0..*</p>
              <p>This parameter is unique</p>
              <p>This parameter is passed by id</p>
              <p>This parameter is optional</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="extensionInfo" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation> a generic list of any type of elements. Used for vendor extensions
              or loose element encapsulation from other namespaces. </xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
   
  <xsd:element name="setResourceAlarmsException">
    <xsd:annotation>
      <xsd:documentation>
        <p>The setResourceAlarms exception message XML schema.</p>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element name="filterNotSupported" type="exceptions1:FilterNotSupported"/>
        <xsd:element name="accessDenied" type="exceptions:AccessDenied"/>
        <xsd:element name="communicationLoss" type="exceptions:CommunicationLoss"/>
        <xsd:element name="internalError" type="exceptions:InternalError"/>
        <xsd:element name="invalidInput" type="exceptions:InvalidInput"/>
        <xsd:element name="notImplemented" type="exceptions:NotImplemented"/>
        <xsd:element name="unableToComply" type="exceptions:UnableToComply"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
   
  <wsdl:message name="setResourceAlarmsRequest">
        <wsdl:documentation>
            <p>The setResourceAlarms request message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:setResourceAlarmsRequest"/>
    </wsdl:message>
    <wsdl:message name="setResourceAlarmsResponse">
        <wsdl:documentation>
            <p>The setResourceAlarms response message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:setResourceAlarmsResponse"/>
    </wsdl:message>
    <wsdl:message name="setResourceAlarmsException">
        <wsdl:documentation>
            <p>The setResourceAlarms exception message.</p>
        </wsdl:documentation>
        <wsdl:part name="body" element="tns:setResourceAlarmsException"/>
    </wsdl:message>
    

the operation within a portType:

<wsdl:portType name="ResourceAlarmInterface">
         <wsdl:operation name="setResourceAlarms">
            <soap:operation soapAction="setResourceAlarms" style="document"/>
            <wsdl:input name="setResourceAlarmsRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="setResourceAlarmsResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="setResourceAlarmsException">
                <soap:fault name="setResourceAlarmsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
</wsdl:portType>
   

and the binding of a portType:

 <!-- Binding - Concrete Service Interface deployment SOAP/HTTP -->
    <wsdl:binding name="ResourceAlarmInterfaceSoapHttpBinding" type="tns:ResourceAlarmInterface">
        <wsdl:documentation>
            <p>Web Service (SOAP/HTTP) profile binding definitions.</p>
        </wsdl:documentation>
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
 <wsdl:operation name="setResourceAlarms">
            <soap:operation soapAction="setResourceAlarms" style="document"/>
            <wsdl:input name="setResourceAlarmsRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="setResourceAlarmsResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="setResourceAlarmsException">
                <soap:fault name="setResourceAlarmsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>

</wsdl:binding>
 

SetThingsAtomic Common Operation

setThingsAtomic will be generated if the value of the attribute ‘’isAtomic’’ of the  tipEntitySetMultiple stereotype is true.

Note that setThingsAtomic is not yet implemented in JOSIF V1.1. Refer to mantis bug 505. This will be fixed in JOSIF V1.2