December 14, 2013

EAI JSON Converter


Siebel does not provide any out of the box functionality to convert Siebel data into JSON string or vice versa. Developers end up with string manipulations or giving up on integration. I have created custom EAI JSON Converter business service which uses Java capabilities and Siebel-Java integration EAI Java Business Service to produce fully compliant JSON strings and convert the external JSON into Siebel Property Sets.

The service built on the lines of methods of EAI XML Converter which converts Property set to XML Doc and XML Doc to property set.
Methods available in EAI JSON Converter are:

  1. JSONToPropSet
  2. PropSetToJSON


Input data to this service is sent to EAIJSONConvert java class using Siebel API(Siebel.jar) which converts the data in required format using GSON 2.2.4 Java API . The Gson library was originally developed for internal purposes of Google, and Version 1.0 was later released on May 22, 2008 under the terms of Apache License 2.0. The latest version, 2.2.4, is used for the service.

How to set up:

1. Download and place java files in the CLASSES folder of Siebel Client the binaries 
Files:
EAIJsonConverter.class
gson-2.2.4.jar
Siebel.jar

2. Download the sif file for EAI JSON Converter from github
3. Update the cfg file to include gson-2.2.4.jar file. My cfg file look like:
[JAVA]
DLL = C:\Program Files\java\jre6\bin\client\jvm.dll
CLASSPATH = C:\Siebel\8.1\Tools_1\CLASSES\Siebel.jar;C:\Siebel\8.1\Tools_1\CLASSES\SiebelJI_enu.jar;C:\Siebel\8.1\Tools_1\CLASSES\gson-2.2.4.jar;C:\Siebel\8.1\Tools_1\CLASSES\.
VMOPTIONS = -Xrs -Djava.compiler=NONE -Djms.log=C:\logs\

4. Simulate the service

How to use:

Service can simply be used in place of EAI XML converter to convert the Siebel message into JSON or convert back JSON to property set.




Please feel free to use comments for any questions or to post any difficulty faced in using the service.

Hope it helps.

-Jim

52 comments :

  1. Can you send me the complete detail about EAI Json Converter business service like how u r creating it and what are the steps?

    ReplyDelete
    Replies
    1. EAI JSON Converter is the based on EAI Java Business Service, please follow the steps mention above to download the code and try implementing. If you face any specific issue you can post it here.

      Delete
  2. When I import this Business Service, I cant find any method and arguments linked to this Business Service in Siebel Tools

    ReplyDelete
  3. Hi Jim. I cant see any method and input arguments when I import the Business Service in Siebel Tools. Please help.

    ReplyDelete
    Replies
    1. 1.JSONToPropSet
      2.PropSetToJSON

      justvuse these methods and pass the json as value of property set. Look for twitter integration post on home page , it has script on how to use it.

      make sure u have java configured properly

      Delete
    2. HI Jim,

      I am getting the following error when I try to invoke this business service within a workflow:


      ObjMgrBusServiceLog InvokeMethod 4 0000000252fd1b5c:0 2014-02-14 16:48:20 Begin: Business Service 'EAI JSON Converter' invoke method: 'PropSetToJSON' at b5d5b00

      JVMInit JVMInitInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 JVM subsystem is not found, JVM will be initialized based on the machine configuration, such as Windows registry.

      JVMInit JVMInitInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 JVM classpath is empty.

      JVMInit JVMInitInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 JVM will be initialized with following parameters:

      JVMInit JVMInitInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 JVM dll path = 'C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll'

      JVMInit JVMInitInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 VM options:

      JVMInit JVMInitInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 -Xmx100m

      GenericLog GenericInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 JVM total VMOptions are 2

      GenericLog GenericInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 JVM VMOptions for index 0 are -Xmx100m

      GenericLog GenericInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 JVM VMOptions for index 1 are vfprintf

      EAITransport EAITransportDebug 4 0000000252fd1b5c:0 2014-02-14 16:48:20 Property Set Initialization Begin

      EAITransport EAITransportDebug 4 0000000252fd1b5c:0 2014-02-14 16:48:20 Init : com/siebel/data/SiebelPropertySet -- JVM Exception:java.lang.NoClassDefFoundError: com/siebel/data/SiebelPropertySet

      ObjMgrBusServiceLog Error 1 0000000252fd1b5c:0 2014-02-14 16:48:20 (javabsvc.cpp (181)) SBL-EAI-05010: Class name incorrect or does not extend SiebelBusinessService : com/siebel/data/SiebelPropertySet -- JVM Exception:java.lang.NoClassDefFoundError: com/siebel/data/SiebelPropertySet

      ObjMgrBusServiceLog InvokeMethod 4 0000000252fd1b5c:0 2014-02-14 16:48:20 Business Service 'EAI JSON Converter' invoke method 'PropSetToJSON' Execute Time: 0.055 seconds.

      ObjMgrBusServiceLog InvokeMethod 4 0000000252fd1b5c:0 2014-02-14 16:48:20 End: Business Service 'EAI JSON Converter' invoke method: 'PropSetToJSON' at b5d5b00

      ObjMgrLog Error 1 0000000252fd1b5c:0 2014-02-14 16:48:20 (stepexec.cpp (1585)) SBL-BPR-00162: Error invoking service 'EAI JSON Converter', method 'PropSetToJSON' at step 'Convert'.

      PrcExec PropSet 4 0000000252fd1b5c:0 2014-02-14 16:48:20 Setting runtime value of property 'Namespace: 'USER' Name: 'Error Code' Datatype: 'String'' to:

      PrcExec PropSet 4 0000000252fd1b5c:0 2014-02-14 16:48:20 (SBL-BPR-00162)--(SBL-EAI-05010)

      PrcExec PropSet 4 0000000252fd1b5c:0 2014-02-14 16:48:20 Setting runtime value of property 'Namespace: 'USER' Name: 'Error Message' Datatype: 'String'' to:

      PrcExec PropSet 4 0000000252fd1b5c:0 2014-02-14 16:48:20 Error invoking service 'EAI JSON Converter', method 'PropSetToJSON' at step 'Convert'.(SBL-BPR-00162)
      --
      Class name incorrect or does not extend SiebelBusinessService : com/siebel/data/SiebelPropertySet -- JVM Exception:java.lang.NoClassDefFoundError: com/siebel/data/SiebelPropertySet(SBL-EAI-05010)

      StpExec End 4 0000000252fd1b5c:0 2014-02-14 16:48:20 Stopping step instance of 'Convert' with an 'Error' status.



      Seems like it is not able to find the class. Following are the exect steps that I have followed so far

      1. Downloaded the following files from GitHub:
      a) EAIJSONConverter.class
      b) EAIJSONConverter.java
      c) gson-2.2.4.jar
      d) Siebel.jar


      2. Placed all the files in the following folder:
      C:\Siebel\8.1\Tools_1\CLASSES


      3. Created the exact above workflow and passed the "SiebelMessage" (which is an output of the EAI Siebel Adapter step) to the "EAI JSON Convert" step. I have a added the follwoing Method and Input Arguments to this step:

      MethodName: PropSetToJSON

      Input Argument: myJSON
      Type: Input/Output
      DataType: Hierarchy
      Storage Type: Hierarchy

      Delete
  4. You haven't setup the cfg correctly.

    JVMInit JVMInitInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 JVM will be initialized with following parameters:
    JVMInit JVMInitInfo 3 0000000252fd1b5c:0 2014-02-14 16:48:20 JVM dll path = 'C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll'

    error is pointing to your default jre7, which is not compatible with Siebel. Please update you path to the jvm.dll to jvm 6 it is also provided by Siebel and exists in C:\siebel\8.1\Tools_1\jdk\jre

    hope it helps.

    ReplyDelete
  5. First of all, well done. This sort of process would make a great addition to the base Siebel product.

    In looking at your Java code, the one issue I have is with the JSONtoPropSet method. If someone uses the business service in a workflow, the Input PropertySet passed will not contain a value (i.e Input.GetValue). Your code assumes they pass the json string in via the property value of the Input (ie propertyset.SetValue(json)). Whereas a workflow calling the method would pass the data as an argument using Inputs.SetProperty("JSON",json);

    To call your method form a workflow a person would have to build their own business service and then call your business service from theirs. Since you have provided the source I am able to change it to look an input property value of JSON, but thought I would provide you some feed back.

    Again, well done.

    ReplyDelete
    Replies
    1. Kenk thanks for reviewing the code.
      Passing value to the business through a workflow is very much possible. One can send values by passing it to the property of the business service. You must have seen it in EAI XML Converter.

      because of your comment I was actually able to find another issue regarding the passing back the property set, it is possible to get the child property set by accessing it through GetChild(0) however we need the "type" of the property set in case we need to use the workflow. However as a workaround I was able to get the child by trying to get the null type of property set.

      Will create a post for this. thanks again

      Delete
  6. Hi Jim,
    I am trying to convert the JSON response to Siebel Property Set using the above steps.When I am invoking the Business Service,I am passing the (i.e. JSON Response) to argument.I am thrown with error : Missing Param.Does the business service any other mandatory parameters..?Please let me know.

    ReplyDelete
    Replies
    1. Sorry Geek to reply late. is it possible for you to share your json or some structure?

      there is no other paramter apart from the value, make sure that the value passed is a valid json.
      hope it helps.

      Delete
  7. This comment has been removed by the author.

    ReplyDelete
  8. Hi Jim,
    I have removed my previous comment, because it is resolved and did not provide much value here as well.

    Is the siebel.jar file modified? If so it might need a complete regression in the current app? Please let me know if my understanding is right. And if possible can you brief the change made?

    ReplyDelete
    Replies
    1. there are no changes made in siebel.jar
      have a look at the source code on the git hub

      Delete
  9. Hi Jim,

    First of all, many thanks to you for for this great post!!!...I am trying to import the sif of the Business Service but it fails with error as "Error parsing XML at line '6' : 'Invalid tag name'(SBL-DEV-00393)".

    Can you please provide the XML version of the Business Service or the code in text form?

    Thanks
    Harsh

    ReplyDelete
    Replies
    1. Hi Harsh - I am facing the issue and i am not able to import the EAI JSON converter sif into my tools.
      I am also getting the same error as you are getting , can you please tell me how you resolved the issue ?

      Many Thanks in Advance.

      Rishi

      Delete
  10. Hi Jim,

    I am trying to convert JSON Object to Property Set,I have placed the file "EAIJSONConverter.class" and other jar files in CLASSES folder of tools as well as client.I have even made entry of the jar files in the JAVA Section of Client as well

    [JAVA]
    DLL = C:\Program Files\java\jre6\bin\client\jvm.dll
    CLASSPATH = E:\Siebel\8.1\Tools_2\CLASSES\Siebel.jar;E:\Siebel\8.1\Tools_2\CLASSES\SiebelJI_enu.jar;E:\Siebel\8.1\Tools_2\CLASSES\gson-2.2.4.jar;E:\Siebel\8.1\Tools_2\CLASSES\.VMOPTIONS =-Xrs-Djava.compiler=NONE -Djms.log=C:\logs\

    When i run the BS I get error as

    1] Error invoking service 'EAI JSON Converter', method 'JSONToPropSet' at step 'Convert XML'.(SBL-BPR-00162)
    [2] Class name incorrect or does not extend SiebelBusinessService : EAIJSONConverter -- JVM Exception:java.lang.NoClassDefFoundError: EAIJSONConverter(SBL-EAI-05010)

    Can you please suggest what might be wrong here?

    ReplyDelete
    Replies
    1. Have you placed EAIJSONConverter.class file in the Tools classes folder?

      Delete
    2. We are getting similar error in our environment when trying to use the JSON Converter. Placed all required files in the Classes folder of Tools. Help is appreciated. Thanks

      Delete
    3. Hi, are there any updates for this thread? It appears Kayan, Harsh, and I are experiencing the same symptoms.
      1. Downloaded the following files from GitHub:
      a) EAIJSONConverter.class
      b) EAIJSONConverter.java
      c) gson-2.2.4.jar
      d) Siebel.jar
      2. Placed all the files in the following folder:
      ...\Tools\CLASSES
      3) Adding section to tools.cfg
      [JAVA]
      DLL = C:\Siebel\8.2.2.0.0\Tools_1\jdk\jre\bin\client\jvm.dll
      CLASSPATH = C:\Siebel\8.2.2.0.0\Tools_1\CLASSES\Siebel.jar;C:\Siebel\8.2.2.0.0\Tools_1\CLASSES\SiebelJI_enu.jar;C:\Siebel\8.2.2.0.0\Tools_1\CLASSES\gson-2.2.4.jar;C:\Siebel\8.2.2.0.0\Tools_1\CLASSES\
      VMOPTIONS = -Xrs -Djava.compiler=NONE -Djms.log=C:\Siebel\8.2.2.0.0\Tools_1\LOG\

      Errors Returned:
      JVM subsystem is not found, JVM will be initialized based on the machine configuration, such as Windows registry.
      JVM classpath is empty.
      JVM will be initialized with following parameters:
      JVM dll path = 'C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll'
      VM options:
      -Xmx100m
      JVM total VMOptions are 1
      JVM VMOptions for index 0 are -Xmx100m
      SBL-EAI-05010: Class name incorrect or does not extend SiebelBusinessService : com/siebel/data/SiebelPropertySet -- JVM Exception:java.lang.NoClassDefFoundError: com/siebel/data/SiebelPropertySet
      SBL-BPR-00162: Error invoking service 'EAI JSON Converter', method 'PropSetToJSON' at step 'EAI JSON Converter'.

      Someone please help me if you've gotten this to work.

      Thanks!

      Delete
    4. You seems to be having problem with your java setup. It is quite tricky to set it up correctly with siebel, as siebel does not support jre7. From the error I can see siebel is trying to initialize the jre7, which should not be the case.
      Additionally your classpath is incorrect, it should have a period(.) in the end for windows environments.


      please look at http://howtosiebel.blogspot.com.au/2013/11/EAI-Java-Business-Service.html for help.

      hope it helps.

      Delete
  11. Hi Jim,

    I am trying to Convert JSON to Prop Set (Method-JSONToPropSet) using this business service,but the business service returns no output.I tested this by first converting a siebel message to json (Method- PropSetToJSON) and writing the output in a file(.xml format) then I read the same file using EAI File Transport whose output I converted to string using Transcode Business Service (Enconding to String,Source Encoding -UTF16/Des Encoding -UTF-8) this string I fed to the Property of JSON Converter,there is no output returned by this business service.

    ReplyDelete
    Replies
    1. The function works fine the only problem is the hierarchy of the output.This is because of the way it was coded. I initially coded it to suite my json structure, if you will look at the code more closely you will be able to find the reason.
      I recommend you to try it using script, and traverse the output property set of JSONToPropSet method. You will be able to find the output on 2 or 3 GetChild(0) depending on your json structure.

      Delete
  12. Hi Jim,
    First of all many thanks for such wonderful and useful post.
    As per the above post
    1. I have downloaded all the files from github
    2.Added the files under the class folder of tools and client
    3.Made the entry of the Java section into tools.cfg

    But while importing the BS into tools i am getting the error as
    Error parsing XML at line '1' : 'Invalid tag name'(SBL-DEV-00393)

    Can you please let me know what could be the reason for this error and how to resolve it ??

    Many Thanks
    Rishikesh Bhise

    ReplyDelete
  13. Hello Rishi,

    You may fallow the below procedure if you are not able to import the BS.

    1) Hope you have downloaded the .Java file
    2) Generate .Class file using from command prompt or any Java editors (NetBeans ,eClips)
    3) Generate .jar file
    4) Place the files in Server ...\Tools\CLASSES
    5) Create Subsystem in Client application instead entry of Tool.cfg
    Make sure your .dll path should be proper.

    6) Login into Server Tools Create the BS instead import Mention the class name which you have generated at 2 step
    7) Add the BS User Property is @Class
    8) Simulate and Test from Client.

    Regards,
    Gopinath Tanniru

    ReplyDelete
  14. This comment has been removed by the author.

    ReplyDelete
  15. Hi all, I have the same problem with ClassNotFound:
    ...
    GenericLog GenericInfo 3 00000002559d7748:0 2015-07-08 19:22:22 JVM total VMOptions are 6
    GenericLog GenericInfo 3 00000002559d7748:0 2015-07-08 19:22:22 JVM VMOptions for index 0 are -Djava.class.path=d:\Oracle\Tools_2\CLASSES\gson-2.2.4.jar;d:\Oracle\Tools_2\CLASSES\Siebel.jar;d:\Oracle\Tools_2\CLASSES\SiebelJI_enu.jar;d:\Oracle\Tools_2\CLASSES\
    GenericLog GenericInfo 3 00000002559d7748:0 2015-07-08 19:22:22 JVM VMOptions for index 1 are -Xmx100m
    GenericLog GenericInfo 3 00000002559d7748:0 2015-07-08 19:22:22 JVM VMOptions for index 2 are -Xrs
    GenericLog GenericInfo 3 00000002559d7748:0 2015-07-08 19:22:22 JVM VMOptions for index 3 are -Djava.compiler=NONE
    GenericLog GenericInfo 3 00000002559d7748:0 2015-07-08 19:22:22 JVM VMOptions for index 4 are -Djms.log=C:\logs\_96072.txt
    GenericLog GenericInfo 3 00000002559d7748:0 2015-07-08 19:22:22 JVM VMOptions for index 5 are vfprintf
    EAITransport EAITransportDebug 4 00000002559d7748:0 2015-07-08 19:22:22 Finished loading JVM DLL.
    ....
    EAITransport EAITransportDebug 4 00000002559d7748:0 2015-07-08 19:22:23 End Creating instance of java property set
    EAITransport EAITransportDebug 4 00000002559d7748:0 2015-07-08 19:22:23 During Invoke : JVM Exception:java.lang.NullPointerException
    ObjMgrBusServiceLog Error 1 00000002559d7748:0 2015-07-08 19:22:23 (javabsvc.cpp (336)) SBL-EAI-05001: Exception in Java Business Service in stage During Invoke : JVM Exception:java.lang.NullPointerException
    ObjMgrBusServiceLog InvokeMethod 4 00000002559d7748:0 2015-07-08 19:22:23 Business Service 'EAI JSON Converter' invoke method 'JSONToPropSet' Execute Time: 0.573 seconds.
    ObjMgrBusServiceLog InvokeMethod 4 00000002559d7748:0 2015-07-08 19:22:23 End: Business Service 'EAI JSON Converter' invoke method: 'JSONToPropSet' at 1aa39168
    ObjMgrLog Error 1 00000002559d7748:0 2015-07-08 19:22:23 (stepexec.cpp (1586)) SBL-BPR-00162: Error invoking service 'EAI JSON Converter', method 'JSONToPropSet' at step 'JSON'.

    Anybody has ideas? All files are at place...

    ReplyDelete
    Replies
    1. Hi Ivdzhen, Java Business service is not easy to configure. I would suggest you to check the following link to find the root cause of the problem.
      http://howtosiebel.blogspot.com/2013/11/EAI-Java-Business-Service.html
      I have tested this on windows environment, which environment are you using?
      I am working on a way to avoid Java dependency to create JSON, will post it here once complete.

      Delete
    2. Windows, yes.
      I resolved the problem by doing this:

      // output.addChild(JsonObjectToPropertySet(obj,op));
      // #JEN: modified for usage with Siebel Workflow
      JsonObjectToPropertySet(obj,op);
      op.setType("JsonPSOut");
      output.addChild(op);
      // #JEN: end

      So it's fine now.

      Delete
  16. Hi Jim,

    Could you please detail the step to write the JSON to the file? I have configured the JSON process property as String, since the conversion service returns it as string. Somehow, I am not able to set the output in a process property. My logs show that the string has been converted to JSON. It would be great if you can provide the workflow .xml or the details of the step to call the converter and later to write it to a file.

    Many Thanks

    ReplyDelete
    Replies
    1. Hi Anonymous, Please check the type of the property set being returned from business service. Name of the property in workflow should be same the type property set being returned then only you can get the response out.

      Delete
  17. Hi Jim, thanks for this excellent post, now we are able to parse back and forth from JSON.
    Now, to expose it is a Siebel webservice and consume JSON message, do we have post or link for that which i access on and also wanted to know whether Siebel 8.2 is required for REST API integration?

    ReplyDelete
  18. Hi Jim,
    I am trying to convert JSON to Property Set.
    As mentioned in post i have followed all the steps. Copied JAR files to CLASSES directory. the configured JAVA parameters.
    I have created WF to call EAI JSON converter business service. In Workflow at Business Service Step "EAI JSON Converter" properties given below values:
    Business Service Name : EAI JSON Converter
    Method Name: JSONToPropSet

    Input Arguments:
    Input Argument Name : MyJson
    Type : Process Property
    Property Name : JSONMsg //( This contains the output of JSON file received through EAI HTTP Transport in UFT-8 character set)

    Output Arguments :
    Property Name : Input Argument // ( To hold received output XML)
    Type : Output Argument
    Output Argument Name : MyJson

    In Business Service "EAI JSON Converter" i have below configuration.
    Business Service Method: JSONToPropSet
    Method Arguments as below,
    Name : myJSON
    Data Type : Hierarchy
    Type : Input / Output
    Storage Type : Value


    When trying to run WF getting below error:
    ObjMgrBusServiceLog InvokeMethod 4 0000006456c50894:0 2016-02-18 10:48:24 Begin: Business Service 'EAI JSON Converter' invoke method: 'JSONToPropSet' at 1736c918

    EAITransport EAITransportDebug 4 0000006456c50894:0 2016-02-18 10:48:24 Begin Creating instance of java property set

    EAITransport EAITransportDebug 4 0000006456c50894:0 2016-02-18 10:48:24 Begin copying properties and type

    EAITransport EAITransportDebug 4 0000006456c50894:0 2016-02-18 10:48:24 Finished copying properties and type

    EAITransport EAITransportDebug 4 0000006456c50894:0 2016-02-18 10:48:24 Finished copying value

    EAITransport EAITransportDebug 4 0000006456c50894:0 2016-02-18 10:48:24 End Creating instance of java property set

    EAITransport EAITransportDebug 4 0000006456c50894:0 2016-02-18 10:48:24 During Invoke : JVM Exception:java.lang.NullPointerException

    ObjMgrBusServiceLog Error 1 0000006456c50894:0 2016-02-18 10:48:24 (javabsvc.cpp (181)) SBL-EAI-05001: Exception in Java Business Service in stage During Invoke : JVM Exception:java.lang.NullPointerException

    ObjMgrBusServiceLog InvokeMethod 4 0000006456c50894:0 2016-02-18 10:48:24 Business Service 'EAI JSON Converter' invoke method 'JSONToPropSet' Execute Time: 0.134 seconds.

    ObjMgrBusServiceLog InvokeMethod 4 0000006456c50894:0 2016-02-18 10:48:24 End: Business Service 'EAI JSON Converter' invoke method: 'JSONToPropSet' at 1736c918

    ObjMgrSRFLog Warning 2 0000006456c50894:0 2016-02-18 10:48:24 (objdef.cpp (2648)) SBL-DAT-00144: Could not find 'Import Object' named 'Business Service Output Argument Properties'. This object is inactive or nonexistent.

    ObjMgrSRFLog Warning 2 0000006456c50894:0 2016-02-18 10:48:24 (objdef.cpp (2648)) SBL-DAT-00144: Could not find 'Import Object' named 'InputPropertySetEx'. This object is inactive or nonexistent.

    ObjMgrSRFLog Warning 2 0000006456c50894:0 2016-02-18 10:48:24 (objdef.cpp (2648)) SBL-DAT-00144: Could not find 'Import Object' named 'Business Service Input Argument Properties'. This object is inactive or nonexistent.

    ObjMgrSRFLog Warning 2 0000006456c50894:0 2016-02-18 10:48:24 (objdef.cpp (2648)) SBL-DAT-00144: Could not find 'Import Object' named 'OutputPropertySetEx'. This object is inactive or nonexistent.

    ObjMgrSRFLog Warning 2 0000006456c50894:0 2016-02-18 10:48:24 (objdef.cpp (2648)) SBL-DAT-00144: Could not find 'Import Object' named 'Business Service Test'. This object is inactive or nonexistent.

    ReplyDelete
    Replies
    1. Shrikant, pass JSON string as input of the business service not as a process property.

      Delete
    2. Shrikant, Have you solve the problem with NullPointerException? if yes, can you tell me how? I have the same problem. Thanks.

      Delete
    3. Hi Mr Anonymous, The NullPointerExcpetion comes because you might have passed the JSON String as a Set Property to EAI JSON Converter, instead pass as Set Value and then in the .Java code will consume it using using GetValue.

      Note: The above is tested in BS Simulator in application.

      Firstly many thanks to the guy who posted it. Excellent post.

      Delete
  19. This comment has been removed by the author.

    ReplyDelete
  20. Hi All, I have just published ver 2 of EAI JSON Converter here:
    http://howtosiebel.blogspot.com/2016/06/siebel-eai-json-converter-v2-no-java.html
    this version doesn't require Java Integration.

    ReplyDelete
  21. Hi Jim,

    Can we capture a JSON response in the output argument of EAI HTTP Transport , SendReceive Method. (We are doing a GET here).
    I have tried this but the output argument is not able to capture the JSON response.
    What can be done regarding this.

    Regards,
    Joy

    ReplyDelete
  22. HI JIm

    bad class file: Siebel - Copy.jar(com/siebel/data/SiebelPropertySet.class)
    class file has wrong version 50.0, should be 49.0 when we compile with C:\Siebel\8.1\Tools_1\jdk

    ReplyDelete
  23. Hi Vijay, Java business service is not easy to set up. If you are facing difficulties please use escript alternative http://howtosiebel.blogspot.com/2016/06/download-eai-json-converter-v2.html

    ReplyDelete
  24. what if we need to add it into siebel 8.2.2.4, i think we need updated siebel.jar file instead of the above file.

    ReplyDelete
  25. Sounds logical emad. Give it a try.

    ReplyDelete
  26. Hi Jim,

    Thank you for sharing the lovely post. In my project we are working on one such requirement where Siebel will be sending request to some external system on RESTfulAPIs ( whose full support will be coming in IP17 which we cant wait till may/june 2017)

    Is the code in Business service 'EAI JSON Converter' ready to convert any JSON to PS / and vice versa or is it specific to your requirement. ??

    If yes Please share structure of messages it can handle ?

    In case you need my structure I will also try to share.

    Regards,
    Sombir Sheoran

    ReplyDelete
  27. Hi Jim.
    One questuion.
    Which arguments should i set up for these two methods?
    JSONToPropSet (obj in/out)?
    PropSetToJSON (myJSON in/out)?

    Thank you for your attention

    ReplyDelete
  28. Hi Jim.
    One questuion.
    Which arguments should i set up for these two methods?
    JSONToPropSet (obj in/out)?
    PropSetToJSON (myJSON in/out)?

    Thank you for your attention

    ReplyDelete
  29. Hello.
    I have one question. Which argumets i shoul set up to these methods?
    JSONToPropSet (obj? in/out?)
    PropSetToJSON (myJSON? in/out?)

    ReplyDelete
    Replies
    1. Use any of this arguments - in your case it is not very important, bro!

      Delete
  30. Hi Jim,

    PropSetToJSON is only working for single child and not for multiple childs.
    Can you please let me know if you have different code for that.
    Thanks in Advance

    Sri

    ReplyDelete
  31. Where do you places these files in IP 19 Environment, since its a container based environment

    ReplyDelete
    Replies
    1. I would recommend you to use the eScript based business service instead.

      Delete