When you want to provide a particular service definition with specific runtime settings, you have to create a service endpoint for it. A service endpoint is a runtime representation of a service definition. It holds the runtime configuration settings of the service definition and is available on the provider system at a unique location called service endpoint URL. From the point of view of a Web service client, a service endpoint is the location at which that client can access the service definition with particular runtime settings.
For the same service definition you can create more than one service endpoint, each having different runtime settings. In this way, you can provide the same service definition and “expose“ it with different runtime settings, such as authentication level, to the different Web service clients.
In the SAP NetWeaver Administrator, the endpoints of a service definition are grouped into services. A service definition can have many services holding its service endpoints as shown in the figure below.
Service definition, services and service endpoints
For every individual service that contains one or more service endpoints, the system generates a WSDL document. The WSDL document contains information about the runtime settings of the service endpoints in the service, including the service endpoint URL which denotes the location at which a client can access a service endpoint.
When you want to configure a proxy definition to access a particular service definition, you have to create a logical port for this proxy definition. The logical port contains a reference to the service endpoint it wants to access and has the runtime configuration settings, such as a user name and password, with which it can access the service endpoint.
You can think of a logical port as of the destination to which the Web service client with particular runtime settings sends a call to access a particular service endpoint.
For the same proxy definition you can create more than one logical port, each having different runtime settings and pointing to a different service endpoint. In this way, you can configure the same proxy definition to call different service endpoints of the same service definition.
A logical port can have a reference to only one service endpoint. That is why a logical port can send a call to only one service endpoint. From the provider-side point of view, a service endpoint can be called by more than one logical port.
The figure below shows the communication between a Web service and a Web service client.
Web service and Web service client communication
The logical port LP_ABC of the Web service client has a reference to the service endpoint SE_XYZ of the Web service on the provider system. The logical port is also configured with the necessary credentials required by the authentication level of the service endpoint. When the Web service client makes a call to the Web service, the logical port LP_ABC uses its reference to the service endpoint SE_XYZ and can call the relevant Web service methods because it can properly authenticate to the service endpoint SE_XYZ.