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
Step II. Juno Configuration.
Run Eclipse.exe.
Once Eclipse Juno is installed, Open Eclipse Juno.
Then Choose Help and Install New Software.
Choose Add.
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
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.
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”.
Dummy IFlow will be created.
Focus on Target Channel Arrow and Double Click.
Channel Properties will be Open.
Choose AdapterType as Successfactors
Message Protocol as SOAP ( Note : For OData choose OData Message Protocol).
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 ).
From a big list of entities , Choose relevent entity to your interface.
In our case It is CompoundEmployee.
Select Field/tags to be partt of SFQL and XSD.
Based on your selection a XSD and query will be generated.
Below is the UseCase of genearted SFQL and XSD :-
SFQL
XSD :
Refer below SAP URLs for more information :-
Installation and |
|
Creating a New Integration Flow and Project |
|
Modelling |
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
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.
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.
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.
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
above screenshot is for Odata. Hope this will help.
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.
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.
Check if it there with name Cust_MDFPortletname
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?
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.
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.
Hi Gourav, I think you should raise it with SAP to understand the working of recruiting entities.
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.
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.
http://scn.sap.com/docs/DOC-58470
look for above link
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
What is the Challenge ??
How can generate a request payload for SFAPI?
Keep up the good work my firend.
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
How to resolve this issue??
HiĀ Sidharth Mehta,
I am also getting same error. can you please share your solution?
BR,
Rashmi
Create an integration project and not directly an integration flow.
I solved in this way
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]"
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
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
2641467 - OData Error when trying to connect PO/PI system to SuccessFactors
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.
Also, the procedure only works on cloud integration ... that is what it looks like anyways.