Skip to Content
Author's profile photo Former Member

PI.SFSF Integration.DOC – How to Model Successfactors SOAP and ODATA Entities using Eclipse Juno Tool.

Document Objective

Objective of this document is to providing information about “How to Model SFSF SOAP and ODATA Entities using Eclipse Juno Tool”.

Modelling consist mainly two activities:-

1. Generating automated XSDs for Entities

2. Generate Queries/Resource Path for data extractions.

Eclipse Version: Juno

SFSF BizX Entity Used for Demo : CompoundEmployee

This document provides an example of all the steps required in Juno. This is divided into following three steps :-

1. Installation of Juno.

2. Configuration of Juno.

3. Implementation of scenario in Juno.

Step I. Juno Installation. : – Install Juno from Below URL

http://www.eclipse.org/downloads/packages/release/juno/sr2

http://www.eclipse.org/downloads/packages/eclipse-classic-422/junosr2

Juno0.1.PNG

Step II. Juno Configuration.

Run Eclipse.exe.

Once Eclipse Juno is installed, Open Eclipse Juno.

Then Choose Help  and Install New Software.

Juno0.2.png

Choose Add.

Juno0.3.PNG

In the Add Repository window, specify the relevant details according to the description given in the table below.

URL: https://tools.hana.ondemand.com/juno

Juno0.4.PNG

Choose OK.

A list of plug-ins available for installation are populated in the table below.

Select SAP HANA Cloud Integration Tools and choose Next.

Juno0.5.PNG

Accept the license agreement and choose Finish. Eclipse SDK prompts for a restart.

Choose OK in the Software Updates window.

Step III. Configuration of Eclipse Juno : – Modelling:


1. Auto XSD Generation for Mapping – The SFQL when modeled using the operations modeler generates an XSD file which can be used mapping purposes.

2. Auto Query/Resource Path genaretion for Communication Channel. – It generated SFQL which can be further used in SFSF Communication Channel.

Creating a New Integration Flow and Project. Choose Integration Flow. Commonly known as “IFlows”.

  Juno1.PNG

Juno2.PNG

Dummy IFlow will be created.

Juno3.png

Focus on Target Channel Arrow and Double Click.

Juno4.PNG

Channel Properties will be Open.

Choose AdapterType as Successfactors

Message Protocol as SOAP ( Note : For OData choose OData Message Protocol).

Juno5.PNG

Fill the neccessry information.

Eg. Address of SFSF DataCenter . In our case it is API5.

Company ID

User

Password

( Ask above information from SFSF Configuration Expert ).

Juno6.PNG

Juno7.PNG

From a big list of entities , Choose relevent entity to your interface.

Juno8.PNG

In our case It is CompoundEmployee.

Juno9.PNG

Select Field/tags to be partt of SFQL and XSD.

Based on your selection a XSD and query will be generated.

Juno10.PNG

Juno11.PNG

Juno12.PNG

Juno13.PNG

Below is the UseCase of genearted SFQL and XSD :-

SFQL

Juno15.png

XSD :

Juno16.png

Refer below SAP URLs for more information :-

Installation and
  Configuration Juno

http://help.sap.com/saphelp_nw-connectivity-addon100/helpdata/en/a5/940acc528043ccb90d9267e8e13f1e/frameset.htm

Creating a New Integration Flow and Project

http://help.sap.com/saphelp_nw-connectivity-addon100/helpdata/en/25/86a07e53614dbe9ac26c15f7702639/content.htm

Modelling

http://help.sap.com/saphelp_nw-connectivity-addon100/helpdata/en/89/8362021924433d8d7f2f231c436ee5/content.htm

Assigned Tags

      32 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Murali Krishna V
      Murali Krishna V

      waiting for this and got it šŸ™‚

      \thanks for sharing Prabhat.

      ll start and follow your blog may be i ll trouble you with some questions šŸ™‚

      BR,

      Murali

      Author's profile photo Former Member
      Former Member

      Hi Prabath,

      I just tried to generate an XSD, but not able to..

      when I try to connect SF system through the communication channel its giving an error as

      " Failed to Connect to Success Factors system, reason [HTTP transport error: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]"

      do we need to install or deploy any SSL certificates on Juno? if yes can you guide how to do this.

      Thanks and Regards,

      Murali.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Nope nothing required. Check from some different network .

      May be you trying from Office network where firewall blocks something. but for sure no certificates at all required.

      Author's profile photo Former Member
      Former Member

      Hi, I'm trying to do a ESR modeler to OData using the Eclipse Kepler and when I try to connect show me this message

      Failed to Connect to OData system, reason [javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,83413]

      Message: Byte inválido 2 da sequência UTF-8 do byte 2.]

      When I use de SOAP protocol, this works fine.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      odata.PNG

      Author's profile photo Former Member
      Former Member

      Hi Prabhat,

      I have a scenario using where I have to query successfactors and get the response back to the source. It is a web services to SFSF interface. How can build the queryRequest to pass the query to SF adapter? I'm unable to get the queryRequest XSD for SFAPI compound employee. I had gone through the ODATA example - https://blogs.sap.com/2014/10/01/pisfsf-integrationdoc-sfsf-odata-dynamic-query-filter-clause-at-runtime/

      Thanks

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      above screenshot is for Odata. Hope this will help.

      Author's profile photo Former Member
      Former Member

      Hi Prabhat.

      Thanks for your answer.

      Actually, our instance have special character of Brazil like "ã". We have the same problem with the SFSF Adapter in PI and the correction will be available in a correction package on next friday.

      I think the problem is the same, when the library try to do the escape os the special character.

      With whom can I open a ticket to this issue?

      If you need more information please contact me ramancio@grupohcc.com

      thanks.

      Author's profile photo Leonardo Rodrigues Lemos
      Leonardo Rodrigues Lemos

      ODATA ERROR SFSF.pngHow you solve this Problem ? I'm facing the same error

      Author's profile photo Former Member
      Former Member

      Hi Prabhat,

      A custom portlet is created in SuccessFactor using OData. I'm unable to find this custom portlet in Entity list of OData.

      If you know something do let me know.

      Thanks.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Check if it there with name Cust_MDFPortletname

      Author's profile photo Bhavesh Kantilal
      Bhavesh Kantilal

      Hello,

      I am trying to generate the XSD for a Synchronous Operation: Eg: User Upsert.

      The Model Operation in this case only generates the XSD Structure for the Request to be sent from PI / HCI to SuccessFactors. There is no response structure that is created in the XSD.

      Questions

      1. How is the Response Structure to be generated? ( Note: I have selected Synchronous as the Call Type )

      2. I noticed that the XSD Structred Generated by the Model Generator is not the same as the call that goes to SucessFactors. I noticed in the SuccessFactors Logs, that the XML is not the same as well.

      How does the SuccessFactors adapter convert the request XML into the SuccessFactos XML format? Is there some documentation / rules on this?

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      1. For OData Synchronous Upsert Interface - There is a Standard ( SAP Given External definition) which can be used for this .

      CONNECTIVITY ADD ON 1.0 -> http://sap.com/xi/XI/OData ->External Defination -> SynchronousResponse

      But it will give u HTTP COde back , 200 is success, all other is failure.

      2. No documentation, they do it internally.

      Author's profile photo Former Member
      Former Member

      Hi Prabhat,

      I modelled my receiver channel for entity "JobApplication$301" and got my XSD generated.When I used this XSD to update the fields in SuccessFactors , I observed that the instead of "JobApplication$301" I am getting "JobApplication_301" , which is mismatching with the actual name of template in SuccessFactors and giving me an error saying

      <ns2:errorMessage>Entity type name 'jobapplication' doesn't allow sub entity!</ns2:errorMessage>

      below is the XSD generated for the same from Eclipse Juno tool.

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

      <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

      <xs:element name="updateJobApplication_301">

      <xs:complexType>

      <xs:sequence>

      <xs:element minOccurs="1" maxOccurs="unbounded" name="JobApplication_301">

      <xs:complexType>

      <xs:sequence>

      I tried replacing the "_" with "$" in generated XSD but in that case SAP PI is not importing the updated XSD as "$" is not a valid character for XSD definition. I cant do this change in mapping also as this is the part of XSD definition.

      What can I do here?  Can you please help me.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Gourav, I think you should raise it with SAP to understand the working of recruiting entities.

      Author's profile photo Parag Jain
      Parag Jain

      In "Conifgure Filter Conditions", you have hard coded to person_id = 12; can this be dynamic and based on the request payload ? Can you explain with some screenshots on how to refer to the payload

      Regards,

      Parag.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Yes SFSF Adapter Supports dyanmic query

      For this you need to create a Sync Interafce in PI.

      Use the Receiver Communication Channel with dyanamicValue as checked.

      Then Request Payload will contain the filter / where clause . it will go and append the query written in Receiver Channel and finally response data will come in Sync message response.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      http://scn.sap.com/docs/DOC-58470

      look for above link

      Author's profile photo Former Member
      Former Member

      Hi Prabhat,

      Can you list detailed steps below please for data I am taking from ERP via SOAP to HCI and HCI to ERP via SF Adapter to update into any object.

      1. HCI to SF, connector configured and XSD generated in eclipse.

      2. ERP RFC created to send data in table.

      Not able to proceed from here.

      Alim

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      What is the Challenge ??

      Author's profile photo Former Member
      Former Member

      How can generate a request payload for SFAPI?

      Author's profile photo Nimrod Gisis
      Nimrod Gisis

      Keep up the good work my firend.

      Author's profile photo Amulya Lewis
      Amulya Lewis

      Very nice blog Prabhat! well done.

      I was searching for the information around building the xsd for LMS Odata API and thus I reached here.

      This blog covers Bizx SOAP & Odata API's.However I want to use the Sucessfactors adapter with REST message protocol and this adapter doesn't have option for "Model Operation" to get the XSD.

      Wanted to know if you have explored the LMS OData API integration with SAP PO?

      Thanks and Regards,
      Amulya

      Author's profile photo Sidharth Mehta
      Sidharth Mehta


      How to resolve this issue??

      Author's profile photo Rashmi Joshi
      Rashmi Joshi

      HiĀ Sidharth Mehta,

       

      I am also getting same error. can you please share your solution?

       

      BR,

      Rashmi

      Author's profile photo MICHELE CASALE
      MICHELE CASALE

      Create an integration project and not directly an integration flow.

      I solved in this way

      Author's profile photo Bhavana C
      Bhavana C

      Hello Prabhat,

      I just followed the steps to model operations for OData, installed Juno tool and SAP HANA Could Integration Tools.

      While I am trying to connect to OData service from eclipse tool, I am getting error saying that "Failed to Connect to OData system, reason [peer not authenticated]". But I am able to connect from browser with user/pwd. Could you please help to resolve the issue ?

      If I select "Enable Proxy Communication" while connecting to OData service, it is giving a different error now as "Failed to Connect to OData system, reason [Connection to http://xxxxxx:30003 refused]"

      Author's profile photo Kavita Bora
      Kavita Bora

      Hello All,

       

      I have followed the steps mentioned in the blog and am not able to see the fields with in Compound Employee where as for other Entities the fields are visible. Can you please let me know if I am missing something?

       

      Regards,

      Kavita

       

      Author's profile photo Sai Chand Dhanekula
      Sai Chand Dhanekula

      Hi,

      I am having the same issue , when I select the compound employee entity , I cannot see the fields.

      Where as for other entities I am able to see the fields. Let me know if you resolved it?

      Thanks,

      Sai

       

      Author's profile photo Eason Ling
      Eason Ling

      2641467 - OData Error when trying to connect PO/PI system to SuccessFactors

      Author's profile photo Jonathan Ma
      Jonathan Ma

      Can you write a blog on PI adapter to odata on Fiori gateway? I haven't found any blog and it isn't straight forward to me. Thanks.

      Author's profile photo Jonathan Ma
      Jonathan Ma

      Also, the procedure only works on cloud integration ... that is what it looks like anyways.