IBM App Connect for Manufacturing XML schema

The item data that is received by the OPC UA nodes output the data in an XML format.

Details

The data for each item is restricted to the following elements.
Element Description Applies To
ContinuationPoint If the string value is not null, specifies that there is more data to read for the history call. You must make call to the OPC-UA-Read node in the recursive way to read all the data. OPC-UA-Read node
Item
  • id: Item ID, which is UUID
  • path: Item path
  • name: Item name
  • OPC-UA-Input node
  • OPC-UA-Read node
  • OPC -UA-Write node
  • OPC-UA-Method-Call node
Items Serves as a parent tag and may contain one or more Item elements. It can also contains all the namespaces.
  • OPC-UA-Read node
  • OPC -UA-Write node
  • OPC-UA-Method-Call node
OldValue Specifies the value of an observable within a subscription, before it receives a new value. OPC-UA-Input node
Source
  • id: Data source ID, which is UUID
  • path: Data source path
  • name: Data source name along with the namespace identifier of the mapped client item
  • OPC-UA-Input node
  • OPC-UA-Read node
  • OPC -UA-Write node
  • OPC-UA-Method-Call node
Success Boolean value true or false depends on the success and failure scenario.
Trigger
  • id: Item ID, which is UUID
  • path: Item path
  • name: Item name
  • instanceid: Unique identity assigned to every instance of data change notification received
  • propagateTime: Represents the timestamp when the message is propagated to the out terminal
  • HighAvailabilityId: Denotes the ApplicationName and Flowname provided by the user.
  • Processing: Denotes the type of application which is being processed. Example, MSG_FLOW for the .msgflow files.
  • ProcessingParameter: A string which can be added by the user in the Add Trigger item prompt which serves as an identifier for that particular trigger item in a message flow file.
OPC-UA-Input node
Triggers Serves as a parent tag and may contain one or more Trigger elements. It can also contains all the namespaces.
Value
  • Subscription Info: Subscription information from the OPC UA Server.
  • Source Time: The source item timestamp.
  • Server Time: The timestamp of the connected OPC UA Server.
  • Client Time: The timestamp of the server where the Toolkit (client) is hosted.
  • Status: The status of a client item from an OPC UA Server.
  • Status Detail: The client item status.
  • TypeAddress: Address of the source item OPC UA Server.
  • TypeName: The data type of the source item.
  • ValueType: The data type of the source item value.
  • IIBType: The data type of the base product. It is either IBM® Integration Bus or IBM App Connect Standard data type.
  • Data: The source item data.
  • OPC-UA-Input node
  • OPC-UA-Read node
  • OPC -UA-Write node
  • OPC-UA-Method-Call node
Note: The output schema for the OPC-UA-Input node has changed.

Example

 OPC-UA-Input node 

<tie:Triggers xmlns="com.ibm.acmfg.TriggerItemEvent/v1.0" xmlns:tie="com.ibm.acmfg.TriggerItemEvent/v1.0" xmlns:tit="com.ibm.acmfg.TriggerItem/v1.0" xmlns:cit="com.ibm.acmfg.ClientItem/v1.0" xmlns:civ="com.ibm.acmfg.ClientItemValue/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tie:Trigger tie:id="c5906524-915c-4f78-be20-3fc9159718cd" tie:name="prosys" tie:path="/Item/prosys" tie:instanceid="d6ab9fe8-9b41-44df-a6f2-7d9fc7eb5966" tie:propagateTime="2021-04-26T10:53:35.443">
        <tie:HighAvailabilityId>934Input/IP934</tie:HighAvailabilityId>
        <tie:Processing>MSG_FLOW</tie:Processing>
        <tie:ProcessingParameter/>
        <tie:Item xmlns="com.ibm.acmfg.ClientItem/v1.0" cit:id="c5906524-915c-4f78-be20-3fc9159718cd" cit:path="/Item/prosys" cit:name="prosys">
            <Source cit:id="dad940be-5b95-4b6f-beca-002d1e29b702" cit:path="/Source/prosys" cit:name="prosys">ns=3;i=1017</Source>
            <Success>true</Success>
            <cit:OldValue xmlns="com.ibm.acmfg.ClientItemValue/v1.0">
                <SubscriptionInfo>OPCUA:1#1.0.0:1</SubscriptionInfo>
                <SourceTime>2021-04-26T10:53:34</SourceTime>
                <ServerTime>2021-04-26T10:53:34.405</ServerTime>
                <ClientTime>2021-04-26T10:53:34.423</ClientTime>
                <Status>Good</Status>
                <StatusDetail>GOOD (0x00000000) &quot;&quot;</StatusDetail>
                <TypeAddress>i=8</TypeAddress>
                <TypeName>Int64</TypeName>
                <ValueType>Long</ValueType>
                <IIBType>java.lang.Long</IIBType>
                <Data>10</Data>
            </cit:OldValue>
            <cit:Value xmlns="com.ibm.acmfg.ClientItemValue/v1.0">
                <SubscriptionInfo>OPCUA:1#2.0.0:1</SubscriptionInfo>
                <SourceTime>2021-04-26T10:53:35</SourceTime>
                <ServerTime>2021-04-26T10:53:35.420</ServerTime>
                <ClientTime>2021-04-26T10:53:35.424</ClientTime>
                <Status>Good</Status>
                <StatusDetail>GOOD (0x00000000) &quot;&quot;</StatusDetail>
                <TypeAddress>i=8</TypeAddress>
                <TypeName>Int64</TypeName>
                <ValueType>Long</ValueType>
                <IIBType>java.lang.Long</IIBType>
                <Data>11</Data>
            </cit:Value>
        </tie:Item>
    </tie:Trigger>
</tie:Triggers>
 OPC-UA-Read node 
<rie:Items xmlns:rie="com.ibm.acmfg.ReadItemEvent/v1.0" xmlns:wie="com.ibm.acmfg.WriteItemEvent/v1.0" xmlns:cit="com.ibm.acmfg.ClientItem/v1.0" xmlns:civ="com.ibm.acmfg.ClientItemValue/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" wie:PropagateTime="2017-10-25T16:25:39.467">
<rie:Item cit:id="e0e18dd8-2552-431d-b9b8-1b72825c2c49" cit:path="/Item/UA1" cit:name="UA1">
<cit:Source cit:id="13ae7f89-567d-4ff4-b1e0-377edb13d9c9" cit:path="/Source/UAlocal" cit:name="UAlocal">ns=2;s=Demo.Dynamic.Scalar.Int16</cit:Source>
<cit:Success>true</cit:Success>
<cit:Value>
<civ:SubscriptionInfo>n/a</civ:SubscriptionInfo>
<civ:SourceTime>2021-04-26T06:17:46.866</civ:SourceTime>
<civ:ServerTime>2021-04-26T06:17:46.880</civ:ServerTime>
<civ:ClientTime>2021-04-26T06:17:46.882</civ:ClientTime>
<civ:Status>Good</civ:Status>
<civ:StatusDetail>GOOD (0x00000000) ""</civ:StatusDetail>
<civ:TypeAddress>i=4</civ:TypeAddress>
<civ:TypeName>Int16</civ:TypeName>
<civ:ValueType>Short</civ:ValueType>
<civ:IIBType>java.lang.Integer</civ:IIBType>
<civ:Data>5573</civ:Data>
</cit:Value>
</rie:Item>
</rie:Items>
 OPC-UA-Write node 
<wie:Items xmlns:wie="com.ibm.acmfg.WriteItemEvent/v1.0" xmlns:cit="com.ibm.acmfg.ClientItem/v1.0" xmlns:civ="com.ibm.acmfg.ClientItemValue/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" wie:PropagateTime="2017-10-25T16:25:39.467">
<wie:Item cit:id="42ee881f-c8ce-43c3-a04b-d1824e079e32" cit:path="/Item/str" cit:name="str">
<cit:Source cit:id="dad940be-5b95-4b6f-beca-002d1e29b702" cit:path="/Source/prosys" cit:name="prosys">ns=5;s=String</cit:Source>
<cit:Success>true</cit:Success>
<cit:Value>
<civ:SubscriptionInfo>n/a</civ:SubscriptionInfo>
<civ:SourceTime>2021-04-26T11:31:31.054</civ:SourceTime>
<civ:ServerTime>2021-04-26T11:31:31.054</civ:ServerTime>
<civ:ClientTime>2021-04-26T11:31:31.054</civ:ClientTime>
<civ:Status>Good</civ:Status>
<civ:StatusDetail>GOOD (0x00000000) ""</civ:StatusDetail>
<civ:TypeAddress/>
<civ:TypeName/>
<civ:ValueType>String</civ:ValueType>
<civ:IIBType>java.lang.String</civ:IIBType>
<civ:Data>WriteTest</civ:Data>
</cit:Value>
</wie:Item>
</wie:Items>
 OPC-UA-Method-Call node 
<rie:Items xmlns:rie="com.ibm.acmfg.ReadItemEvent/v1.0" xmlns:wie="com.ibm.acmfg.WriteItemEvent/v1.0" xmlns:cit="com.ibm.acmfg.ClientItem/v1.0" xmlns:civ="com.ibm.acmfg.ClientItemValue/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" wie:PropagateTime="2017-10-25T16:25:39.467">
<rie:Item cit:id="1b6fd954-06b0-4b65-96a0-7605e0538689" cit:path="/Item/pro_method" cit:name="pro_method">
<cit:Source cit:id="dad940be-5b95-4b6f-beca-002d1e29b702" cit:path="/Source/prosys" cit:name="prosys">ns=6;s=MyDevice</cit:Source>
<cit:Success>true</cit:Success>
<cit:Value>
<civ:SubscriptionInfo>n/a</civ:SubscriptionInfo>
<civ:SourceTime>2021-04-26T11:38:02.649</civ:SourceTime>
<civ:ServerTime>2021-04-26T11:38:02.649</civ:ServerTime>
<civ:ClientTime>2021-04-26T11:38:02.649</civ:ClientTime>
<civ:Status>Good</civ:Status>
<civ:StatusDetail>GOOD (0x00000000) ""</civ:StatusDetail>
<civ:TypeAddress>i=11</civ:TypeAddress>
<civ:TypeName>Double</civ:TypeName>
<civ:ValueType>Double</civ:ValueType>
<civ:IIBType>java.math.BigDecimal</civ:IIBType>
<civ:Data>1.0</civ:Data>
</cit:Value>
</rie:Item>
</rie:Items>
The example shows, that the client item data has the following namespace identifiers:
  • com.ibm.acmfg.TriggerItemEvent/v1.0
  • com.ibm.acmfg.TriggerItem/v1.0
  • com.ibm.acmfg.ClientItemValue/v1.0
  • com.ibm.acmfg.WriteItemEvent/v1.0
  • com.ibm.acmfg.ClientItem/v1.0
  • com.ibm.acmfg.ReadItemEvent/v1.0

To perform a transformation on this data, it must be addressed with its namespace.

The following code shows an example of the ESQL statement to address the namespace:
DECLARE NS1 NAMESPACE 'com.ibm.acmfg.ClientItem/v1.0';
To check the XML schema definition file (XSD), see the ACMfg_Schemas folder in the following folder:
  • Windows platformC:\Program Files\IBM\ACMfg\2.0.0.8\runtime\amd64_nt_4\setup
  • UNIX platformLinux platform/opt/IBM/ACMfg-2.0.0.8/runtime/amd64_linux_2/setup