Tuesday 8 January 2013

Component Interface to Java API



CI to Java Interface


In this example we will see that how a Component Interface developed in PeopleSoft system can be used in other languages. Here, we have showed it for Java API's.

Once the CI development is completed, then first build the API's.




Select the API's to Build.







All the Java API’s will be generated under C:\Deepak\javaprograms\PeopleSoft\Generated\CompIntfc

Once the API's are built, generate the Java Template.






Place this file D91_USERPRFL_CI.java under - C:\Deepak\javaprograms\src

Folder Structure




Set the classpath environment variable to -

C:\PT8.50\web\psjoa\psjoa.jar;C:\pt8.50\class;C:\Deepak\javaprograms\class

Compile the java API’s



Navigate to the folder where all the java api’s are stored.




Compile the java API’s and place all the class files under C:\Deepak\javaprograms\class

Javac –d C:\Deepak\javaprograms\class *.java




Compile the java template

Before compiling, modify the java template to create a package –




javac -d C:\Deepak\javaprograms\class D91_USERPRFL_CI.java

The java template file will be generated under the package DKR_JavaPrograms

Now run the java template file.

C:\Deepak\javaprograms\src>java src.DKR_JavaPrograms.D91_USERPRFL_CI




Enter Application Server Machine Name: 192.168.88.130
Enter Application Server Port Number: 9000
Enter PeopleSoft UserID: PS
Enter PeopleSoft UserID Password: PS

Enter Oprid: PS



And here we get the output.



Compiling and Running in Eclipse

First, create a new project.










Click Apply and OK




Click on Libraries and the psjoa.jar file from PS_HOME/web/psjoa/psjoa.jar




Click Add External JAR’s




Click on Finish.


Build the API’s
 






Now, refresh the project folder.










Now, open the class and copy it into the above modified java template.

The only change is the change in the package.




Now, run this program.







And, here we get the outpu.

5 comments:

  1. Hi, thanks for the details explanation. We have some security concerns sharing PS login to external apps. Is there a way to use a different OPRID? If yes, what roles the user will need, other than giving full access to the CI's used.

    Thanks
    Jag

    ReplyDelete
    Replies
    1. It depends on the transaction you are performing through CI... You need to take care of data level security (row level security) for the user that you will be creating for the integration... Apart from that I don't think so anything else would be required...

      Delete
  2. I have some problem with consuming a PeopleSoft Component Based WSDL , to a third party Java application in a remote machine. Below is the description

    Introduction of assignment :

    I have a soap WSDL from PeopleSoft which is based on PeopleSoft Component Interface.

    This WSDL is supposed to provide the service to generate the case-ID based on valid user form, otherwise return failure message.



    Input takes:

    A form data from user.



    Output is:

    Case Id if user data validation is ok.



    My problem in understanding PeopleSoft WSDL:

    The WSDL I got it does not have implementation of

    Component Interface(which has Service methods definition), it is only providing me the contract, no implementation of service methods.



    My Questions:



    1) Do I need to write the implementation for the Component Interface?

    2) If yes, what will be the implementation contents(High level concept only)?

    3) If no, and implementation of CI is in PeopleSoft code, how can I Instantiate the

    implementation class to call the service method, as I don’t know the implementation class name?

    4) What are the extra custom environment setups needed in this scenarios to make a successful call for the

    service method of PeopleSoft WSDL and get response.

    ReplyDelete
    Replies
    1. Hi Sumita,

      I am sorry for delayed response. I hope you would have resolved the issues by now.

      You don't need any separate implementation for CI. When the third party will consume the WSDL generated in PeopleSoft then depending on that systems language appropriate objects will get created to consume this WSDL.

      Can you open the CI in app designer and see all the methods are available? Also, have you given security to service operation and does the user in anonymous node have access to service operation and ci?

      Delete
  3. Hi Deepak

    I would be very thankful to you if you can reply me back with answer. I am very new in this field and can't move ahead right now. So, any help would be highly appreciated.

    Thanks Bobby

    ReplyDelete