Skip to Content

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

To report this post you need to login first.

24 Comments

You must be Logged on to comment or reply to a post.

  1. Muralikrishna Naik

    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.

    (0) 
    1. Prabhat Sharma 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.

      (0) 
  2. Rodney Amancio

    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.

    (0) 
    1. Sathish Venkataraman

      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

      (0) 
    1. Rodney Amancio

      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.

      (0) 
  3. Aman Mishra

    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.

    (0) 
  4. 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?

    (0) 
    1. Prabhat Sharma 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.

      (0) 
  5. Gaurav Agarwal

    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.

    (0) 
  6. 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.

    (0) 
    1. Prabhat Sharma 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.

      (0) 
        1. Alim Ahmed Momin

          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

          (0) 
  7. 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

    (0) 

Leave a Reply