The class provides interface to AML structure in memory as well as means of
communication with Innovator server. Depending of Item's dom internal structure,
as well as its node and nodeList values the instance of this class may
represents one of the following:
Namespace:
Aras.IOM-
Single Innovator Item of an arbitrary ItemType. In this case Item.node!=null,
and inside of Item.dom this node can refer to any XmlNode with localName <Item>.
Notice that in case of Single item the Item.node.OuterXml will look like this
CopyC#
or this<Item />
CopyC#
<Item > <prop1>a</prop1> <prop2>b</prop2> </Item>
-
A collection of Innovator Items, as in a case when more then one Innovator Business Item
being returned by the Server on a single request from client. In this case
Item.nodeList!=null and Item.dom.OuterXml
should comply with one of two following formats:
(1) AML wrapper
CopyC#
or (2) SOAP-Result wrapper<AML> <Item ... /> ... <Item ... /> </AML>
CopyC#
<SOAP-ENV:Envelope xmlns:SOAP-ENV=.../> <SOAP-ENV:Body> <Result> <Item /> ... <Item /> </Result> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
-
Error as in the case when a client request results in error from the Server.
In this case both Item.node and Item.nodeList are set to null, while Item.dom.OuterXml
complies with the folowing format:
CopyC#
<SOAP-ENV:Envelope xmlns:SOAP-ENV=.../> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>...</faultcode> <faultactor>...</faultactor> <detail><...></detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
-
Result to represent an arbitrary text wrapped by <SOAP-ENV> <Result> tags.
Again, both Item.node and Item.nodeList are set to null in this case,
while Item.dom.OuterXml complies with the following format:
CopyC#
<SOAP-ENV:Envelope xmlns:SOAP-ENV=.../> <SOAP-ENV:Body> <Result>[text]</Result> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
-
Logical to represent a set of Innovator Item's property-nodes
wrapped in logical statement by one of three logical tags:
<or>, <and>, or <not> usually used to specify the search criteria for
the action "get". Because in this case one of three logical tags is the root tag for the logical Item.node
its OuterXml may look like this:
CopyC#
<and> <prop1>a</prop1> <prop2>b</prop2> </and>
- get\set\add\remove attributes and\or properties of an item or an error, i.e. modify AML in memory
- send requests to server (instance of the class is interpreted as an AML request; note that server response is also returned in a form of an instance of the class, i.e. response AML is encapsulated as an Item).
Assembly: IOM (in IOM.dll) Version: 11.0.0.6296
Syntax
C# |
---|
public class Item |
Visual Basic (Declaration) |
---|
Public Class Item |
J# |
---|
public class Item |
JScript |
---|
public class Item |
Remarks
- There are two major types of methods in the class: methods that only work with item's AML in memory and methods that communicate with Innovator server, i.e. send request(s) to and get response(s) from the server. All get\set type of methods as well as isXXX(...) (e.g. isError(), isCollection(), etc.) and add\remove methods (e.g. addRelationship(...), removeProperty(...), etc.) belong to the former group. Methods like fetchXXX(...) (e.g. fetchLockStatus()), apply(...), email(...), promote(...), lock\unlockItem(...), etc. belong to the later group. In case method sends a request to the server it must be explicitly mentioned in the method comments.
- If instance of the class is an "error" item, it contains a single <Fault> node that is SOAP Fault element. The SOAP Fault element is used to carry error and/or status information within a SOAP message. If present, the SOAP Fault element MUST appear as a body entry and MUST NOT appear more than once within a Body element. According to SOAP 1.1 specification the Fault element itself must contain a 'faultcode' element and a 'faultstring' element, and optionally 'faultactor' and 'detail' elements.
- In case of multilingual property AML may contain more than one tag for the same property where each tag will have a different value of the attribute xml:lang. Multilingual property tag without xml:lang denotes the property value for the language of the session; so, if the session language is French (language code is 'fr') then the following tags are equivalent: <name>Andre</name> and <name xml:lang='fr'>Andre</name>.
Inheritance Hierarchy
System..::.Object
Aras.IOM..::.Item
Aras.IOM..::.Item