cancel
Showing results for 
Search instead for 
Did you mean: 

ECC and Salesforce Integration Using SAP PI

sriram_devarapalli
Participant
0 Kudos

Hi Experts,

I need to integrate salesforce and ECC using SAP PI.

for this requirement i exposed a WSDL from Soap sender aggrement and gave it to Salesforce.
I even tested it via SoapUI with PI user credentials which worked.
Now salesforce is not able to call the Webservice, since it is asking PI user and password.
Salesforce is not able to call the WSDL since when they generate the Class files on the provided WSDL, they could not find any place to pass userid and password.

They have only Cert_Name_X, Cert_Client_X,Cert_Password_X. We tried to send the data in that, but it is giving error that the provided certificate is not in salesforce.

Can any one guide how we integrate Salesforce and ECC with PI.

Thanks,

Sriram.

Accepted Solutions (1)

Accepted Solutions (1)

sriram_devarapalli
Participant
0 Kudos

Hi  Team,

Thanks for the responses.

Finally we sent the data using HTTP instead of SOAP with user authentication, it worked.

Thanks & Regards,
Sriram D.

Former Member
0 Kudos

Hi Sriram,

You can work out the Salesforce to SAP PI using the SOAP adapter. You can use the option in sender soap adapter for HTTPs communication with Client Certificate authorization( Http Security Level).

If you are using SAP Webdispatcher then you need to check whether it handles SOAP calls. I had earlier faced issues with SAP Webdispatcher when we went with Apache Webdispatcher and it worked.

Regards

Ravijeet

Answers (4)

Answers (4)

sriram_devarapalli
Participant
0 Kudos

Hi Experts,

Thanks for the response.

Do you know how do salesforce call PI Wsdl without passing the userid and password?

When the WSDL  is generated in PI and sent to Salesforce, they have generated some class files on that and found that there are only 3 fields which are below. So we are not aware how to pass the userid and password.

  

        public String clientCertName_x;
        public String clientCert_x;
        public String clientCertPasswd_x;

The salesforce is not able to call the PI with the provided credentials at all.

Do we need to use only SessionID and Token to call PI from salesforce?

Does any one have the same issue?

 

Thanks & Regards,
Sriram D,

anupam_ghosh2
Active Contributor
0 Kudos

Hi Sriram,

                Please kindly ignore my earlier response. The blog actually refers to the scenario when SAP-PI is accessing SFDC as webservice. Your's is the opposite scenario. Thus I dont think the blog and the links at the end of it will be of much help in your case. Apologies for not understanding your requirement properly. The bold letters you have typed shows you were not at all happy with my response. Sorry once again.

Regards

Anupam

sriram_devarapalli
Participant
0 Kudos

Hi  Anupam,

Thanks for the response.

The font is in that color, not in Bold(if req, copy and check)

I m very sorry, if you have been hurt.

In your integration did salesforce call the WSDL which is generated from PI.

The salesforce is not able to call the PI with the provided credentials at all.

Do we need to use only SessionID and Token to call PI from salesforce?

Does any one have the same issue?

 

Thanks & Regards,
Sriram D.

anupam_ghosh2
Active Contributor
0 Kudos

Hi Sriram,

                   In our scenario PI was sending SOAP request to Salesforce and getting a response back. Before sending any request PI has to create session with Salesforce. While creating a session PI needs to login to salesforce with a specific user credential (username/password). Here WSDL is generated by salesforce and PI uses it in making SOAP calls. After session is established, in each subsequent SOAP request PI has to mention the session ID created in first step. Then only Salesforce provides a SOAP response. Hope this clarifies the method of integration. In your case you are trying to make the opposite, PI is offering itself as web service to Salesforce. In your case also there must be a method to authenticate the requests made by Salesforce to SAP-PI.

Regards

Anupam

sriram_devarapalli
Participant
0 Kudos

Hi  Anupam,

Thanks for the response.

The Scenario is Salesforce is sending the SalesOrder creation data and ECC creates and return the SO Number.

In my case Salesforce is not able to call the PI Webservice by passing the PI Credentials, since we are not able to see how to pass the Credentials.

We are only having the following 3 fields,

        public String clientCertName_x;
        public String clientCert_x;
        public String clientCertPasswd_x;


Do we need to use Certificates for this Integration? if so what is the way to get the certificates?

What type of Certificates, we need to use.


  

Thanks & Regards,
Sriram D.

anupam_ghosh2
Active Contributor
0 Kudos

Hi Sriram,

               How Salesforce is sending its requests? I mean details of channel u are using.

Did you import the Salesforce WSDL in SOAPUI and try to login to SAP-PI?

Islogging to SAP-PI is working correctly from  SOAP UI? While you login are you able to see username/ password field in SOAPUI?

Regards

Anupam

sriram_devarapalli
Participant
0 Kudos

Hi  Anupam,

Thanks for the response.

I have created a Soap Channel and gave the WSDL from Sender Agreement, when i test this using Soap-UI by giving the User-ID and Password, it is success.

Did you import the Salesforce WSDL in SOAPUI and try to login to SAP-PI?

Salesforce has not provided any WSDL for me, do i need the WSDL from Salesforce?

Islogging to SAP-PI is working correctly from  SOAP UI? While you login are you able to see username/ password field in SOAPUI?

In the data type created for the sender, there is no UserId and Password field, so i could not find any userid and password fields in SOAP Message,  I give the UserId and Password in runtime in SOAPUI tool.

Do we need to add the USERID and Password in Data type as soap header?

Thanks & Regards,
Sriram D.

anupam_ghosh2
Active Contributor
0 Kudos

Hi Sriram,

                There was a mistake in my question. You need to import wsdl from SAP-PI into SOAPUI tool and test. Salesforce WSDL is not required in your case. When you import the PI WSDL into SOAP UI there will be service names offered by SAP-PI. One of them should be login service.

In the login service  are you seeing username/password field?

Regards

Anupam

sriram_devarapalli
Participant
0 Kudos

Hi  Anupam,

Thanks for the response.

When I import the WSDL, it prompted for userid and password, I entered there.

Before executing in SOAPUI, we enter the userid and password in soap input request in Authorization section or menu. hope you are asking it.

Thanks & Regards,
Sriram D.

sriram_devarapalli
Participant
0 Kudos

 

Hi Michal / Anupam,

Thanks for the response.

Do you know how do salesforce call PI Wsdl without passing the userid and password?

When the WSDL  is generated in PI and sent to Salesforce, they have generated some class files on that and found that there are only 3 fileds which are below. So we are not aware how to pass the userid and password.

 

        public String clientCertName_x;
        public String clientCert_x;
        public String clientCertPasswd_x;

The salesforce is not able to call the PI at all.

They are not able call the provided WSDL from PI using PI credentials.

Does any one had this problem?

Thanks & Regards,
Sriram D,

anupam_ghosh2
Active Contributor
0 Kudos

Hi Sriram,

                 have you downloaded the WSDL in XML format to check if the fields SFDC team is searching for is present or not? The WSDL needs to be modified manually sometimes to make it show the fields properly. In the blog mentioned by Michal , please go through references1 and 2. In one of them you will find author is showing the need to modify the WSDL.

regards

Anupam

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>Can any one guide how we integrate Salesforce and ECC with PI.


have you seen this blog and it's important references at the end ?

http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/06/02/troubleshooting-sap-pi-and-salesf...

Regards,

Michal Krawczyk