sap-tutorials / Tutorials

Tutorials on sap.com
https://developers.sap.com/tutorial-navigator.html
Creative Commons Attribution 4.0 International
720 stars 773 forks source link

Create a Basic Flow with a SOAP Endpoint #4782

Closed masahiroo closed 4 years ago

masahiroo commented 4 years ago

Tutorial URL: https://developers.sap.com/tutorials/cp-integration-create-basic-flow.html

Please specify the step you are referring to: Step 8: Trigger the integration flow

When I hit send button in Postman, I get the error "unauthorized_userBad credentials". I'm using my trial tenant and my i-number as the user. Also I'm not sure how to assign ESBMessaging.send role to the user.

Best Regards, Masahiro Obata

Skantheri commented 4 years ago

Tutorial URL: https://developers.sap.com/tutorials/cp-integration-create-basic-flow.html

Please specify the step you are referring to: Step 8: Trigger the integration flow

When I hit send button in Postman, I get the error "unauthorized_userBad credentials". I'm using my trial tenant and my i-number as the user. Also I'm not sure how to assign ESBMessaging.send role to the user.

Best Regards, Masahiro Obata

Agree they need to clarify the user id password. But it should be similar to what is mentioned in this tutorial. https://developers.sap.com/tutorials/cp-starter-integration-cpi-onboard-subscribe.html

lalit74u commented 4 years ago

as suggested by Skantheri, authorization issue at Postman can be fixed by maintaining Service instance and Service key , created in your trial account.

However we get error at step 8 - Could not convert socket to TLS;

@author_of _tutorial - Please advise

fegutieri commented 4 years ago

not convert socket to TLS;

Same problem here! Still trying to find out what's happening with this TLS error

jonkerpeter commented 4 years ago

I had the same problem/error. I found on the internet that the Google certificate has to be uploaded in the key store. But after I have done that I am getting another error: "javax.mail.AuthenticationFailedException: No authentication mechanisms supported by both server and client" I have tried 2 way authentication in google with a special password for the CPI trial account, but it didn't change the error message. I like these tutorials, but I think they should be tested better so users don't come across these errors. Also I see that this issue didn't receive no updatee from SAP since a long time. Please assist I am sure that Skantheri and I are not the onbly ones with this issue.

gauthamkrishna-sap commented 4 years ago

Hello @jonkerpeter

Thank you for the feedback. I am currently trying to replicate this error but unable to. Request you to please give us a little more time to figure this out and update the tutorials.

Thanks & Best Regards, Gautham

ASRHARDING commented 4 years ago

I have also had problems with this tutorial. I suspect because I only have a trial "P" user account, not like the SAP employee "I" user account illustrated in the tutorial, I don't have the ability to set the ESBMessaging.send role and this is why Postman send doesn't even register on the message monitor. Using Integration client id and secret at least registers on the message monitor, it has the ESBMessaging.send role, but fails when it tries to send to the Receiver.

Please see the attached document that lists my anonymized configuration and the results of a few experiments. Hopefully this help you find a solution to our problem.

Kind regards, Andrew T01089 - Step 8 - Postman Error.pdf

jonkerpeter commented 4 years ago

I found the reasonS for the error:

  1. you need to use teh google app password if you connect to your gmail account and not your own credentials. see: https://devanswers.co/create-application-specific-password-gmail/
  2. the settings in the mail adapter should be different and use SMTPS and NOT STARTTLS and also plain user instead of encrypted
  3. add the server certificates (in my case 2) from google to the key store.

Then it works

SettingsMailAdapterConnection

Furthermore you need to create a technical service user by creating a service plan and generate service key and secret. These are the credentials to use in your postman and/or soapui client. See for this :

https://help.sap.com/doc/b496863d5ed7473e8cc81862d4606ba3/Cloud/en-US/CPI_CF_OnboardingGuide.pdf

or

https://blogs.sap.com/2019/10/18/technical-service-user-cloud-platform-integration-for-inbound-communication/

All of this is missing in the tutorial and should be added.

And to ASRHARDING Don't use cloudplatformintegration.sap@gmail.com as the email address but your own email address with the generated app password from google (for gmail accounts). Use it for from and to (sender and receiver) in the processing

ASRHARDING commented 4 years ago

Thanks for the advice jonkerpeter. I tried all you suggested, but unfortunately with the same results :( I suspect that the Roles tile in Process Integration Monitor tab seems to be broken on my account, and doesn't have the ESBMessaging.send role has something to do with it. Can you access the Roles tile? If yes, is the ESBMessaging.send role in it? Thanks, Andrew

jonkerpeter commented 4 years ago

@ASRHARDING. You do not need the role tile and you do not need to add the ESBMessage send role to your user. You need the Client ID and client secret that you got when generating a service plan as user password in postman. For the user credentials of the mailserver (gmail) you need to add them in the Manage Security/Security Material tile. In there you use your user for gmail and the app password that you generated at google.

gauthamkrishna-sap commented 4 years ago

Dear All, You need to the ESBMessage send role as well. Also, please try to execute this scenario on our new integration suite trial on the CF environment. Best Regards, Gautham

ASRHARDING commented 4 years ago

Hi jonkerpeter So far I haven't found a way to add the ESBMessage.send role to my user id. I have setup gmailSender with my Gmail userid and App password, then sent From / To as my Gmail userid. I have setup service plan with Client ID and Client Secret as described in https://developers.sap.com/tutorials/cp-starter-integration-cpi-onboard-subscribe.html

I have tried the Client ID and Client Secret used for generating the service plan as user id and password in Postman, but was getting an error between End and Receiver. That was until this morning, bizarrely this morning retrying it again it worked.

They need to update this tutorial to fully explain how to get it to work for a trial user, including:

Thanks for your help jonkerpeter, now I can continue with the rest of the tutorials in the Mission.

Kind regards, Andrew

ASRHARDING commented 4 years ago

Hi gauthamkrishna

I have rebuilt my trial environment to use the new "integration suite" and the results are exactly the same. There appears to be no way that you can get the gmail port 587 settings to work, only the gmail port 465 with app password worked.

As a trial user I have found no way to assign my user id with the ESBmessaging.send role, so have had to use the Client ID & Client Secret instead to get the flow to work.

A link to help information on how to setup source email addresses for different email providers would be very helpful here. I tried to do the same with hotmail, but still failed after trying many different ways of contacting the smtp service, and was unable to set an app password for hotmail.

When you try out these tutorials have you used a trial account that is not a full SAP user id?

Kind regards, Andrew

ASRHARDING commented 4 years ago

Hi jonkerpeter

Having played around with different emails in the From: field on the Process tab it appears to server no purpose at all. The sender is always the email address you've set up in the user credential you've set up in the Security Material tile.

Kind regards, Andrew

ASRHARDING commented 4 years ago

I have figured out a solution to assigning ESBMessing.send role to your user id.

Follow the steps given at the end of this tutorial issue - https://github.com/SAPDocuments/Tutorials/issues/5519.

Kind regards, Andrew

MichaelCzcz commented 4 years ago

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.

If you still have questions, feel free to reopen the issue.

ASRHARDING commented 4 years ago

Depends what you mean by being resolved.

The tutorial instructions have not been changed so anyone else who tries to do the tutorial will run into the same difficulties.

At the very least you could incorporate what has been discovered by people attempting this tutorial, and listed in this problem thread, into the tutorial to make it easier for other people attempting this tutorial. For instance Step 4 still illustrates an ixxxxxx user (International SAP Employee user ID) which would have a SAP email address, not gmail, so makes no sense to set as the mailSender. Advice on using other email sources such as Hotmail, Office365, etc., as the mailSender would be even better - or at least a link that gives more information on how to configure different email sources.