The purpose of this blog is to describe the use of Transcode Business service and how to use it while working with Siebel Workflow process.
I was developing a Siebel workflow process and as usual I was developing on my local. The purpose of my Siebel workflow process was get an XML message as a string data and log the incoming XML into a table and then process the XML to insert an
I tested this on my local client using Siebel Tools and it worked perfectly fine. But when I checked in and started to test using the Siebel Business Service Simulator it started to behave strangely. The XML input message to the workflow was being logged into the table but the step XML to PropSet (EAI XML Converter) did not like the input message. The input <value> was assigned to a property set which had the data type set as String. And was throwing errors like
Fatal Error in XML Parser at line 1, column 2: Expected an element name
XML conversion error, creating a dump file containing source XML document
After much research I realized that the EAI XML Converter didn’t like the string and expected an input in Binary encoded format. But if I change the input property set to binary it wouldn’t log the input XML into the table as that expected in String format. So I needed something that could convert the data into one way or the other. This is where Transcode Business Service came into picture. So I introduced a Business service “Transcode Service” with method “Convert “ as another step in the Workflow process just before the XML Converter and final workflow process looked like in the below snapshot.
The input arguments for Transcode Business Service were <value>, ConversionMode and TargetEncoding. The method used was “Convert”. These were set as in the snapshot below
This Transcode business service converted the input argument IncomingXML from String to UTF-8 binary coded format for the use of EAI XML Converter.
Hope this blog helps out people who are performing similar steps and using EAI XML Converter. Leave a comment.
Related posts(Auto Generated):





September 16th, 2008 at 4:47 pm
I believe the IncomingXML is a PP of type hierarchy?
Can you share the input to this IncomingXML?
Also, what should be the PP of the output of the transcode?
September 16th, 2008 at 5:10 pm
Hi Deepak,
The IncomingXML PP is of type String over here. The reason I have it this way is because I need to log this incoming XML to a table. If it were Hierarchy I wouldn’t be able to do this. XML to PropSet expected an input in a different encoding. this is the reason I used transcode.
There is only one output argument for Transcode. I dinnt have any output argument mentioned and it replaced input with the output. But if you are specific about this you could have PP for this to be binary and test.
Let me know how it goes.
Sridhar
March 15th, 2009 at 6:38 am
Thanks for sharing Shridhar.
April 29th, 2009 at 5:32 am
Hi Sridhar,
Thanks for sharing a valuable information.. was looking over y we really needed this step.. nd your post helped me to understand better.. Thanks again.
May 1st, 2009 at 6:05 pm
you are welcome.
May 28th, 2009 at 5:32 am
How to find exinsting workflow process, when i click on Submit button on Sales Order
July 10th, 2009 at 9:54 am
Let me know how you are storing the IncomingXML using the siebel operation.
August 6th, 2009 at 5:35 am
Hi Sridhar, thanks for this blog.
I’m working on Siebel 7.8 and using the Transcode BS for converting Input XML from UTF 8 to UTF 16 format. Though the Transcode BS step executes fine, in the O/P I see that the XML still shows the message with UTF8. As a result the EAI XML Convertor step fails when transforming from XML to IntObj. Any help please? The I/p arguments to the transcode BS step is exactly what you have shown in this blog.
Before call to Transcode BS: …
After call to Transcode BS: ….
August 6th, 2009 at 5:27 pm
Hi Nikhil,
you should try conversion mode to EncodingToEncoding.
Check Siebel Global deployment guide for valid conversion modes.
Try and let us know.
Regards,
Sridhar
August 7th, 2009 at 8:44 am
Hi Sridhar,
I did try EncodingToEncoding, but I believe transcode BS will only change the message format to binary and the encoding to UTF-16 logically, but the XML header is not updated to UTF-16. It still remains as UTF-8 only.
I need the encoding=UTF-16 to appear in the header section of the XML. Wanted to know if Transcode BS can actually do that?
Regards,
Nikhil Kabadi
August 7th, 2009 at 8:02 pm
You said the transcode BS will only change the message format to binary. So how about if you use Two transcode BS change it to binary first and then to UTF-8.
I dont know if header section will get changed by doing this. Worst case scenario, you can write custom BS to replace UTF-8 to UTF-16.
Let me know.
Regards,
Sridhar
August 14th, 2009 at 9:55 am
One more thing I need to point out for Transcode service, that the header containing UTF-8 or UTF-16 , doesn’t changes automatically by the business service. You have to explicitly change the header by using any xml manipulation method.
August 14th, 2009 at 5:18 pm
Thanks for your input Vivek.
January 15th, 2010 at 5:29 am
hi
i am having a requirement where in i need to trigger the external application to fetch data from it. however i need to develop it locally and test it locally. i am able to develop locally using escript however unable to test it. any suggestion
manish kumar
January 18th, 2010 at 8:49 pm
Depends on how you are integrating with the external application. Simplest integration is HTTP GET/POST. This you should be able to test locally.
whereas if you are doing something else which I am not aware I cannot confirm if you can test locally. Thanks.
June 3rd, 2010 at 11:00 am
Hi Sridhar,
I am still getting the same error which I was getting before applying the Transcoder Business Service.
Conversion Mode: StringToEncoding
TargetEncoding: UTF-8
Could you please help me in this?
Thanks,
Amit
June 4th, 2010 at 7:01 pm
Hi Amit,
what is the datatype of the Output Argument of Transcode BS. Check that the Input Argument is String and Output is Binary.
Let me know.
July 29th, 2010 at 9:09 am
Hi Sridhar.. i am using Admin-Business Service - Simulator to test the scenario of Transcode BS.
I am using XML Converter BS to convert a property set to XML Doc then using Transcode Service I am trying to change Encoding. How will I identify that the Output is Binary