All About Siebel

Monday, April 28, 2008

Usage of ReadPropSet in EAI XML Read From File

Though I use this method many times, always there is a confusion in retrieving the outputs from this method. If you clearly observe the output arguments of this method, you would find nothing. There starts the confusion..

Today, I am going to explain a thumb rule to retrieve the outputs from method "ReadPropSet" of Business Service "EAI XML Read from File"

"EAI XML Read From File" will be mainly used to read the xml hierarchies, Siebel messages(IO messages) and Property sets. Usage of it's methods is completely depend on the type of message we are going to read..

Here, ReadPropSet is used to read the property sets(Top element of this particular message should be PropertySet)
Example of Property set:





The above image is an example of property set.

Let's see how we can read this message from the file system using a workflow. Consider our workflow consists of only one step excluding start and end(as shown below)



Step Read from File is of type business service and invokes the vanilla business service "EAI XML Read From File" method "ReadPropSet".

Inputs for this step is FileName ==> Location of the file on Filesystem. Now the tough part is how to get the output from this step.

To get the output from this step.. Follow these steps sequentially..

1. Open the property set in any notepad or browser and indentify the name of the tag below the tag <PropertySet>. In this particular example it is Message.
2. Define a process property in workflow with the same name and type as Hierarchy.
3. Define the output arguments of the read step as shown below..



Note: Property Name and Output Argument should be always same.

The above configuration resolves the problem of retrieving the data from the method "ReadPropSet".

1 comment:

Anonymous said...

How do you get Message as the output argument in WF? if you define a process property called Message, it comes in Property Name, but if you choose output argument, nothing pops up as there is no output argument for the method.
Does it mean you are creating a new argument in method as well?