In last two posts we learned how to set and get a property in property set (Siebel Message). In this post we will learn how to Set and Get an element value in XML Hierarchy. If you don’t quite know the difference between XML Hierarchy and Siebel Message then I recommend going through this post first.
Our workflow for this example will look something like this.
![]()
In this workflow first step will be same as previous workflow using PRM ANI Utility Service to create an empty property set. I have used “Account (PRM ANI)” vanilla IO to generate Siebel Message for this example so I am not going to provide the details of first step.
Create 4 new process properties for this workflow.
| Property Name | Type |
| XMLHierarchy | Hierarchy |
| SMessage | Hierarchy |
| Location | String |
| AccountName | String |
Step 2 details:Convert to XML
| Name | Type | Business Service Name | Business Service Method |
| Convert to XML | Business Service | EAI Integration Object to XML Hierarchy Converter | IntObjHierToXMLHier |
Input Arguments:
| Input Argument | Type | Property Name |
| SiebelMessage | Process Property | SMessage |
Output Arguments:
| Property Name | Type | Output Argument |
| XMLHierarchy | Output Argument | XMLHierarchy |
Step 3 details: Set Element Value
| Name | Type | Business Service Name | Business Service Method |
| Set Element Value | Business Service | Workflow Utilities | Echo |
Input Arguments:
| Input Argument | Type | Value | Property Name |
| XMLHierarchy | Process Property | XMLHierarchy | |
| XMLHierarchy.SiebelMessage.Account.Account.Account.Location.<Value> | Literal | India | |
| XMLHierarchy.SiebelMessage.Account.Account.Account.Name.<Value> | Literal | TestAccount |
The only difference between setting a property and setting an element value is that you need to suffix <Value> at the end of the dot notation string.
Output Arguments:
| Property Name | Type | Output Argument |
| XMLHierarchy | Output Argument | XMLHierarchy |
Step 4 details: Get Element Value
| Name | Type | Business Service Name | Business Service Method |
| Get Element Value | Business Service | Workflow Utilities | Echo |
Input Arguments:
| Input Argument | Type | Property Name |
| XMLHierarchy | Process Property | XMLHierarchy |
Output Arguments:
| Property Name | Type | Output Argument |
| Location | Output Argument | XMLHierarchy.SiebelMessage.Account.Account.Account.Location.<Value> |
| AccountName | Output Argument | XMLHierarchy.SiebelMessage.Account.Account.Account.Name.<Value> |
Same do notation just used in output arguments to get the value. That’s it
You must have noticed that I used different IO for this example that is because using Quote IO I reached the most dreaded limitation
of Echo method i.e only 75 Characters are allowed in input and output argument values. Don’t despair there is a workaround for this limitation also which we are going to discuss in next post of this series.



(6 votes, average: 3.33 out of 5)





Excellent articles about using this business service. Keep it up your good postings
Hi Neel,
when we try to set the value we are using the following value as input
“XMLHierarchy.SiebelMessage.Account.Account.Account.Location.”
Can you please tell me why we are not using ListOf….. ??
Thanks
Piyush
Piyush,
Since the above hierarchy is in xml hierarchy we do not give ListOf.
If ur setting value in IOHierarchy then we use this notation
Hi Neel,
Since XMLHierarchy is a Process Property of type Hierarchy then will it be possible to watch the string hierarchy XMLHierarchy.SiebelMessage.Account.Account.Account.Location. in a watch window when we simulate the WF ? This is similar to what I am talking about when you explained making of string in doing SetProperty of ECHO menthod.
If NO can you please tell us how can we make those strings if not through watch window.
Thanks
In both my examples SiebelMessage and XMLHierarchy has been process property of type hierarchy.
Now can you ask your question again
My question is since both are process property of type hierarchy then is my assumption true that we will be able to see the complete hierarchy in watch window like the way it was for Siebel Message ? Since Siebel Message and XML Hierarchy are different will I get the below string
XMLHierarchy.SiebelMessage.Account.Account.Account.Location.
hierarchy in watch window? OR I need to do something else if I need to build a different dtring for my requirement
Yes you will able to watch both the hierarchy’s in watch window but the string that will be constructed will be different.
As in siebel message name field is used to construct the string but in case of XMLHierarchy value in the field called XMLHierarchy is used.
For example in an IC field you name field has value Account Name and your XML Tag field has value AccntName.
Then in watch window you will see Account Name in case of siebel message and in case of XMLHierarchy you will see AccntName
to know difference in more details you can read the following post
http://siebelunleashed.com/difference-siebel-message-io-xml-hierarchy/