Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Other Methods

ApplyOperations

This operation allows for applying changes to the model in a particular branch. The list of operations is applied in the order in which they are provided (meaning that a creation operation of e.g. a module must precede the creation of module elements within it) and there can only be a single operation per element, otherwise this request will fail.

This request is executed atomically; either all operations succeed or the whole request is rejected.

Expand
titleParameters
ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
operationsthe list of operations to apply.required

The list of operations must contain OperationEntry  elements with exactly one child element according to the type of element (ProjectOperation, PackageOperation, GlobalOperation, ModuleOperation, or ModuleElementOperation) that is being changed in that OperationEntry

A ModuleElementOperation  can either be a Create , Update , or Delete  operation. In the case of Update , you need to be aware that the element is updated with the exact request data; optional elements that are omitted will be cleared instead of using their prior value as fallback. If the name of the OriginalKey  and the name determined by the ModuleElement  element differ then the element will be renamed, with "Update References" behavior enabled (this cannot be disabled).

The OriginalKey  may take a specialized type depending on the type of element. In particular, all elements with a compound key require a dedicated type: attributes (AttributeKey), relations (RelationKey) and static instances (StaticInstanceKey). These types of key need an explicit xsi:type  specification, where xsi  is the XML Schema Instance namespace that needs to be declared in the SOAP envelope element (please refer to the example below).

Similarly, the ModuleElement  element always needs an explicit xsi:type  specification, as the ModuleElement  element is of the abstract ModuleElement  complex type. Hence, a concrete subtype needs to be given using xsi:type . Please be aware that the specified type name must include the namespace alias of the management service, which is ns  in the example below (per the xmlns:ns  declaration on the SOAP envelope element).

Expand
titleExample Messages
Code Block
languagexml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:ApplyOperations>
         <ns:repository>TestRepository</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:operations>
            <ns:Operations>
               <ns:OperationEntry>
                  <ns:ModuleElementOperation Type="Create" GenerateLayout="false">
                     <ns:Project>ExampleProject</ns:Project>
                     <ns:Module Name="MainModule" ModuleType="Interaction"/>
                     <ns:OriginalKey xsi:type="ns:AttributeKey" Entity="MyEntity" Name="MyAttribute" ModuleElementType="Attribute"/>
                     <ns:ModuleElement xsi:type="ns:Attribute"
                        Entity="MyEntity" Name="MyAttribute"
                        DataType="String" MultiValued="false" Askable="false"
                        ActsAsReference="false"></ns:ModuleElement>
                  </ns:ModuleElementOperation>
               </ns:OperationEntry>
            </ns:Operations>
         </ns:operations>
      </ns:ApplyOperations>
   </soapenv:Body>
</soapenv:Envelope>
Code Block
languagexml
titleResponse
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ApplyOperationsResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0"/>
   </s:Body>
</s:Envelope>

EvaluateExpression

GetCurrentIdentity

...