A logical port is a reference to a service endpoint available at a unique service endpoint URL on the provider system. That is why, you create a logical port based on the service endpoint URL of the respective service endpoint. You can create a logical port in any of the following ways:
Based on the location of the WSDL document (WSDL URL) of the service, which holds the service endpoint of a configured service definition.
The WSDL document of the service contains the service endpoint URLs of all the service endpoints grouped into the service. You can take the WSDL URL of the WSDL document from the details of the service definition (see the Prerequisites below).
Manually, by using the exact location of a particular endpoint (service endpoint URL).
The endpoint URL is available in the WSDL document of a service. It is displayed in the location property of a port as the code excerpt below shows:
Syntax
<service xmlns="http://schemas.xmlsoap.org/wsdl/" name="service name"> <port name="endpoint name" xmlns:bref="http://ip.test/" binding="bref:DefaultService_"> <address xmlns="http://schemas.xmlsoap.org/wsdl/soap/" location="endpoint URL" /> </port> </service>
Note
For every consumer proxy deployed on the application server, by default system creates a logical port. This logical port points to the URL on which the Web service was available when the proxy was generated for that Web service (Normally, this would be a development or a test system, not a productive one). If you want to use this "default" logical port, you have to manually edit by setting the service endpoint URL of the service endpoint that you want the logical port to call.
To create a logical port based on the location of a WSDL document, you need the following information:
The URL to the WSDL document of the service.
You have to use the URL to the WSDL of a configured service definition. It contains the settings of the service definition in the form of policy assertions compliant with the WS-Policy standard. You can copy the WSDL URL from the details about the service definition. It ends with the following parameter: mode=ws_policy.
More information: Managing WSDL Documents.
The name of the service endpoint for which you want to create a logical port.
To create a logical port manually by using the service endpoint URL directly, you have to know the service endpoint URL.
Log on to the SAP NetWeaver Administrator.
Choose
.Alternatively, you can use the quick link /ssadmin as follows:
http://<host>:<port>/nwa/ssadmin
The Single Service Administration screen opens.
Find the consumer proxies that you want to configure. Proceed as follows:
Search for consumer proxies by name (basic)
Choose the Search tab, and then choose Basic.
The basic search mode is enabled if the Advanced switch is displayed on the Add Services window.
In the Find field, enter a consumer proxy name.
You can use an asterisk (*), or a question mark (?), as wildcards in the search string.
In the Search by dropdown menu, select the search method you want to use.
The table below outlines the meaning of each state.
Search Item |
Meaning |
---|---|
WSDL Porttype Name |
This option enables search by the porttype name of the consumer proxy, included in the WSDL document. |
Internal Name |
This option enables search by the internal name with which the consumer proxy is deployed on the system. |
In the State dropdown menu, choose the state of the consumer proxy.
The table below outlines the meaning of each state.
State |
Meaning |
---|---|
Activated/Deployed |
The consumer proxy does not have a callable logical port with runtime configuration settings. |
Configured |
The consumer proxy has a callable logical port with runtime configuration settings. |
Choose Go.
Search for consumer proxies by name (advanced).
Choose the Search tab, and then choose Advanced.
The advanced search mode is enabled if the Basic switch is displayed on the Add Services window.
In the Find, Search by, and State fields, enter the basic search criteria.
Choose a consumer proxy classification from the Select Classification dropdown menu.
Choose a classification from the tables, and then add or remove it using the arrows.
Choose Go.
Browse consumer proxies by classification.
Choose the Browse tab.
From the dropdown menu, select a consumer proxy classification. The system lists all available consumer proxies, which match your search criteria.
The system lists all available consumer proxies that match your search criteria.
Choose the consumer proxy you want to configure, and choose the Configuration tab.
You can create and configure a new logical port or edit an existing one.
Choose the New button.
Choose the source of the endpoint URL that you want to use. The following options are available:
WSDL URL
The system automatically extracts the endpoint URL from the WSDL document of a service.
Choose Import from WSDL URL, and then choose Next.
At the WSDL URL step, enter the path to the WSDL document, and then enter a user name and a password, and then choose Next.
At the Service Endpoint step, choose the name of the endpoint for which you want to create a logical port, and then choose Next.
At the Details step, the Logical PortName and the Web Service EndpointURL fields are automatically populated with the name of the service endpoint, and the service endpoint URL. Proceed as follows:
Choose Set as default if you want to mark the logical port as the default one. In this case, if the consumer application is not designed to call a specific logical port for a service, it calls the logical port marked as default.
Set the necessary runtime configuration settings.
The Configuration Options for LogicalPorts section below explains the runtime settings you can apply for the logical ports.
Choose Save.
Enter Manually
The system uses the exact endpoint URL to create a logical port.
Choose Enter Manually, and then choose Next.
At the Details step, proceed as follows:
Enter a unique name for the logical port.
Choose Set as default if you want to mark the logical port as the default one. In this case, if the consumer application is not designed to call a specific logical port for a service, it calls the logical port marked as default.
In the WS EndpointURL field, enter the endpoint URL.
Set the necessary runtime configuration settings.
The Configuration Options for LogicalPorts section below explains the runtime settings you can apply for the logical ports.
Choose Save.
In the Logical Ports table, choose a logical port, and then choose Edit.
Note
If you want to edit logical port that the system created during the deployment of the consumer proxy, you have to manually edit its current service endpoint URL. You have to provide the URL to a service endpoint in your landscape.
To edit the Web service endpoint URL, choose the Details tab, and then in the WS Endpoint URL field, enter a valid service endpoint URL.
Set the necessary runtime configuration settings.
The Configuration Options for Logical Ports section below explains the runtime settings you can apply for the logical ports.
Choose Save.
On the tabs that open, set the configuration settings that suit your requirements.
Configure Web service Security.
Caution
Currently, it is not possible to configure a consumer proxy to use WS-RM together with Web service SecureConversation (WS-SC). You have to either configure WS-RM, or enable the use of WS-SC for a consumer proxy.
On the Security tab, specify the relevant options.
HTTP Authentication
Option |
Description |
---|---|
User ID/Password (Basic) |
Authentication with user ID and password in HTTP header More Information: Authentication at HTTP Transport Level |
User ID/Password (Digest) |
Username and password based authentication, in which the password is encrypted. More Information: Basic Authentication (User ID and Password) |
X.509 Client Certificate |
Authentication with an X.509 certificate using Secure Sockets Layer (SSL). More Information: Authentication at HTTP Transport Level |
Logon Ticket |
Authentication with SAP authentication assertion ticket in the HTTP header, which authenticates the identity of the user. More Information: Authentication at HTTP Transport Level |
Message Authentication
Option |
Description |
---|---|
User ID/Password (Basic) |
Authentication with a WS-Security Username Token in the security header of the SOAP message. |
User ID/Password (Digest) |
Username and password based authentication, in which the password is encrypted. More Information: Basic Authentication (User ID and Password) |
X.509 Client Certificate |
Authentication with an X.509 certificate using Secure Sockets Layer (SSL). More Information: Authentication at HTTP Transport Level |
SAML Assertion |
Authentication with a signed SAML 1.1 assertion in the message header, which authenticates the identity of the user. |
Configure Transport Settings
On the TransportSettings tab you specify the transport between the provider side and the consumer side. The table below lists the available options and explains their meaning.
Option |
Description |
---|---|
Use 'Connection: KeepAlive' http header |
Enables multiple requests and responses through a single HTTP connection. The provider system keeps the connection alive so that you can use the same connection for multiple request and response cycles. |
Support gzip responses |
Enables the provider side to return compressed responses to the consumer and in this way improves performance. This option is useful when you expect the provider to return responses whose size is several megabytes. Note If you want to set this option, the provider system has to support compressed responses (gzip). End of the note. |
Max wait-time for http response |
Denotes how long the consumer waits for a response from the provider. If you expect huge load on the provider system that would delay the responses to consumers, Increase the default value. |
Issue chunked requests |
Optimizes the method in which the client communicates to the provider the size of it own requests. If the option is selected, the client communicates the size of the message directly in the stream, and does not write it in memory. |
Local transport |
Optimizes the way in which the Web service client communicates with the Web service when both reside on a same system. If the option is selected, the client calls the service directly. The system does not create a dedicated http connection as a communication channel and does not obey any explicitly configured security settings. Instead, to consume the service, the client uses the same credentials and thread, with which you invoked the client. Note You configure Local transport only for Web service clients, which are created for Local transport enabled Web services. End of the note. |
Configure Web service addressing
On the Web ServiceAddressing tab, specify the protocol for Web service Addressing.
Configure stateful communication
On the StateManagement tab, choose the method for session handling. Currently, only HTTP cookies are supported.
Configure Web Service Reliable Messaging
You configure WS-RM on the Messaging tab. The messaging tab appears only for Web service clients created for WS-RM-enabled Web services.
On the Messaging tab, set the relevant options. The table below lists the available options and explains their meaning.
Caution
Currently, it is not possible to configure a consumer proxy to use WSRM together with Web service SecureConversation (WS-SC). You have to either configure WSRM, or enable the use of WS-SC for a consumer proxy.
Option |
Description |
---|---|
RM Protocol |
Sets the protocol for reliable messaging. |
ExponentialBackoff |
Exponential backoff sets an algorithm used by the client when it resends messages. If you choose this option, the retransmission interval increases exponentially after each unsuccessful transmission. |
Retransmission interval |
The interval at which the Web service client will try to resend each message that has not been acknowledged by the Web service. |
Inactivity Timeout |
If the Web service receives no messages within this interval, it considers the sequence terminated due to the lack activity. |
Lifetime of a sequence |
The time period for which a sequence remains active. |
Configure Idempotency
The Idempotency enables Web service operations to safely control multiple requests from Web service clients. Before sending the idempotent operation request to the Web service, the Web service client saves the request on the consumer system under a unique ID. At a later stage, if the provider system does not respond, the consumer system resends the request automatically. The retransmission continues until the Web service client receives a response or until the number of retries expires.
Caution
You configure idempotency settings on the Idempotency tab. The Idempotency tab appears only for Web service clients created for idempotency enabled Web services.
On the Idempotency tab, set the relevant options. The table below lists the available options and explains their meaning.
Option |
Description |
---|---|
Enable idempotency |
Enables idempotency for the particular Web service client. |
Retries count |
Sets the number of retries of an idempotent request. |
Retry interval (in milliseconds) |
The interval at which the Web service client will try to resend the idempotent request for which the Web service has not returned a response. |
Configure service metering settings. More information: Service Metering
In the Data transfer scope screen area, choose the amount of service metering data transferred:
Choose Minimal Data Transfer when you want the consumer application to send only Calling Application Type to the provider.
Choose Basic Data Transfer when you want the consumer application to send Calling Application Type, Calling Component, and Calling Application ID to the provider.
Choose Enhanced Data Transfer when you want the consumer application to send all caller information attributes to the provider.
Caution
Increasing the service metering level may lead to a security risk. When choosing the amount of service metering data you should consider the trustworthiness of the Web service provider:
If you don't have information on where and how the Web service is provided you should choose the Minimal Data Transfer level.
When you are sure that the Web service is provided by a trustworthy party you can increase the service metering level. For example, you can do this for service providers residing in your internal network.
In the Transfer Protocol screen area, choose the protocol you want to use for transfer of service metering data.