Additional Blogs by SAP
Showing results for 
Search instead for 
Did you mean: 
Former Member

Web services are often called with a technical user, which means that the actual user is not known in the backend system. However, the end users will still want to see the replies in their own language. In an SAP environment this is typically done based on the logon language of the user, but that does not neessarily work for anonymous users.

I have seen several questions here on SCN on how to call web services on a NetWeaver Application Server ABAP (NWA ABAP) in a specific language. There are several workarounds, like using different technical users or web service configurations for different languages. Below I will discuss the direct approach.

When looking at how the NWAS ABAP determines the language to use for calls via a browser [1], the HTTP headers play a role when logging in over the internet. Since web services and SOAP both make use of the HTTP protocol for their communication, this can be used for web service calls as well.

The HTTP/1.1 protocol documents the use of the Accept-Language header field [2] to allow the client to let the server know the languages it prefers/accepts (including an order of preference). For testing purposes, I have called a web service with soapUI [3], sending the Accept-Language HTTP header as well. You can set HTTP header fields on the level of a specific service call in soapUI, as shown below.

You can set multiple languages to indicate your preference. In the example below, the NWAS ABAP will reply in Dutch if available, otherwise in US English if available and finally in English (the prefix) to indicate English without further preference.

Accept-Language: nl, en-us;

Please rate or like this blog or reply to this blog, it is the only way for me to know whether this is useful to anyone. I'm looking forward to your feedback!




1 Comment