When it comes to exposing certain functionality from SAP using soap protocol, we can either create an interface in PI or generally expose sap backend RFC/BAPI and let other applications consume it.
However, IMO, i would suggest avoiding PI in user front end scenarios where performance is key. Infact, adding any interface in such time critical interfaces could prolong the execution time and point of failure. Having said so, here i am not going to discuss when to use what, but as the blog’s title suggest i am going to show how we can maintain endpoints in SOMANAGER when we are directly exposing applications from SAP backend system.
So, consider a scenario where you have multiple WSDLs in your landscape and you have to generate endpoints for each of them. Generally, these endpoints are not transportable because of obvious reasons, but having said so instead of creating endpoints manually in each environment we could actually bundle service definitions under one integration scenario and do a mass generation of endpoints – I believe, it’s much more simpler than maintaining it one by one 😉
In this blog, I will show how to accomplish that in 4 simple steps –
1) Creation of profiles under SOAMANAGER:
In profiles configuration, one can define what all security/transport settings are required to be assigned to the endpoints.
So, depending upon the provider’s security settings you can chose different authentication methods. And, once you assign this profile to a service definition (in step 2) by default all the authentication mechanisms defined in a profile will be assigned to the endpoints.
Goto “SOAMANAGER” -> Technical Administration -> Profiles -> Create Profile -> Generic_Profile.
2) Create configuration scenarios:
In this step, you have to select your service definitions for which endpoints need to be generated and assign profile to each one of them under an integration scenario.
Go to “SOAMANAGER” -> Service Administration -> Local Integration Scenario Configuration -> Either create a new scenario or edit the existing one.
Here below, i am editing the existing scenario.
As soon as you do that, a wizard will open where you have to search and select your service definitions.
Once you select that, you have to assign a profile (created in step 1) to each of your service definition and complete the wizard.
3) Pending Task:
In this step, we have to complete the registration and generate endpoints. Goto “SOAMANAGER” -> Service Administration -> Pending Tasks.
Once done, look for your service definition under “web service configuration” and ensure that endpoints are generated properly.
4) Export/Import of Profiles and Configuration Scenarios:
The profiles and configuration scenarios created in one client can be leveraged and transported to another client or higher environments. So, just export these configurations in a xml format and then eventually import the same – Once you import configuration scenario, you have to ensure that profiles are assigned to each of the definitions.