Page tree
Skip to end of metadata
Go to start of metadata

Applies to:

SAP Netweaver Systems accessed via internet or intranet.

Summary

As of SAP Webdispatcher version 7.2 it is possible to connect to multiple SAP and non-SAP systems, using only one Webdispatcher. Using this functionality can decrease the number of Webdispatchers that has to be managed, as well the number of ports in the landscape that should be opened.
For each system you want to connect to the webdispatcher, an host name alias has to be created which is pointing to the webdispatcher host.
For example:
Your webdispatcher is running on host webdisp.domain.com, ERP system is running on erpsys.domain.com, SAP Portal is running on portal.domain.com
For the erpsys.domain.com and portal.domain.com, you have to create an alias (via hosts file or DNS), which is pointing to webdisp.domain.com

Installation

The webdispatcher can be installed using sapinst, or just by executing sapwebdisp -bootstrap.
On Windows systems I would recommend to perform the installation via sapinst, since the service will be created automatically.
After the installation has been finished, the webdispatcher can be configured to "serve" multiple SAP or non-SAP systems.

Configuration

In this example, the following configuration has been used:

PIP - SAP PI 7.0 ABAP+Java
Message server http port: 8100
Hostname sappi.demo.com

CE2 - SAP CE7.2 Java only
Message server http port 8141
Hostname sapce.demo.com

WD2 - SAP Webdispatcher 7.2
Hostname webdisp.demo.com
ICM http port: 4444

Add the following parameters to the webdispatcher profile:

wdisp/system_0 = SID=PIP, MSHOST=sappi.demo.com, MSPORT=8100
wdisp/system_1 = SID=CE2, MSHOST=sapce.demo.com, MSPORT=8141
icm/HTTP/mod_0 = PREFIX=/,FILE=/sapmnt/WD2/profile/icm_filter.txt

Create the file icm_filter.txt with the following contents:

 if %{HTTP_HOST} regimatch wd_sappi.demo.com*
SetHeader x-sap-webdisp-target-sid PIP [break]

if %{HTTP_HOST} regimatch wd_sapce.demo.com*
SetHeader x-sap-webdisp-target-sid CE2 [break]

Restart and test

The webdispatcher has to be restarted in order to activate the changes. After the restart has been executed, you can test the newly implemented functionality.
Execute your url's:

http://wd_sappi.demo.com:4444 -> request goes to PIP
http://wd_sapce.demo.com:4444 -> request goes to CE2

For each system that has been added, a separate entry will be created in the webdispatcher management console.

Related content

For the related content of this functionality, please have a look at: http://help.sap.com/saphelp_nwce72/helpdata/en/03/afe24bfeb7419b9172ffb6e7636926/frameset.htm

12 Comments

  1. Former Member

    Hi Mark,

    we got problem when trying install SAP Webdispatcher 7.2 (new release). when we first configuration by execute :

    sapwebdisp.exe --bootstrap

    Hostname of Message Server (rdisp/mshost): sapdev HTTP Port of Message Server (ms/http_port): 8100 Checking connection to message server...OK Unique Instance NumberforSAP Web Dispatcher (SAPSYSTEM): 60 HTTP port numberforSAP Web Dispatcher: 4444 Create configurationfors(mall), m(edium), l(arge) system (default: medium): Profile"sapwebdisp.pfl"generated Authentication file"icmauth.txt"generated Web Administration user is"icmadm"with password"WB6Fs3Gy"Restart sapwebdisp with profile: sapwebdisp.pfl sapwebdisp started withnewpid 2496 Web administration accessible with"http://theresia:4444/sap/wdisp/admin"  SAP Web Dispatcher bootstrap ended (rc=0) <--- shutdown immediatebut, when try to start again

    sapwebdisp.exe pf=sapwebdisp.pfl, we got this error message

    D:\WD72>rslgwr1(16): I cannot get addr of SCSA. SysLog:iE1120110127165348000249600000IC : 0 :SCSA 4096 rslgwr1(16): I cannot get addr of SCSA. SysLog:mIM120110127165348000249600000IC : 0 :SAP Web Dispatcher&theresia&2496& IcmInitStartupicxxrout1914   *** SAP Web Dispatcher shutdown completed (pid: 2496) *** SysLog:mIM220110127165348000249600000IC : 0 :SAP Web Dispatcher&theresia&2496& IcmMainShutdowicxxrout829

    can you help me?

    thanks

    regards

    ghochi

  2. Hello,

    I have followed your procedure above and it all works perfectly. The problem I now have is that I am using crm_ui_start to logon to the two crm systems. The configuration above gets me to both systems logon screens, but I then get no further. I enter my logon credentials and nothing happens. I see in the web dispatcher admin that it sees both systems and their app servers.

    The URL that I use to contact each system is:

    http://wd_cq3.<name>.com:8080/sap/crm_logon (crm_logon being an alias to crm_ui_start)

    http://wd_ci3.<name>.com:8080/sap/crm_logon

    My profile has:

    wdisp/system_0 = SID=CQ3, MSHOST=sapcq3d1.<name>.com, MSPORT=8100

    wdisp/system_1 = SID=CI3, MSHOST=sapci3d1.<name>.com, MSPORT=8900

    icm/HTTP/mod_0 = PREFIX/,FILE=E:\Source\WEBDISPATCHER\CI3100\icm_filter.txt

    Contents of icm_filter.txt:

    if %{HTTP_HOST} regimatch wd_cq3*

    SetHeader x-sap-webdisp-target-sid CQ3 [break]

    if %{HTTP_HOST} regimatch wd_ci3*

    SetHeader x-sap-webdisp-target-sid CI3 [break]

     

    Am I missing something here as to why I cannot login to any of these systems?

    Thanks

    Stuart Banner

     

     

     

    1. Hi Stuart,

      I recommend to first get one system running with Web Dispatcher, then add the second one. Also, you could record the HTTP traffic e.g. with Fiddler2, HttpWatch or the developer console built into the browser (F12). This will help us to see what is going wrong.

      Regards,

      Tobias

      1. Tobias,

        Stupid question but how do I copy text into this message?

        I would like to cut and paste my entire profile here so that you can see if I have any glaring mistakes!

        Thanks

        Stuart

      2. Tobias,

        I used Fiddler and got the following:

        Cookies

        !!!WARNING!!! Server hostname contains an underscore and this response sets a cookie. Internet Explorer does not permit cookies to be set on hostnames containing an underscore

        Respose sent 54 btes of Cookie data:

              Set-Cookie: sap-usercontxt=sap=language=EN&sap-client=100; path=/

        The response did not contain a P3P header.

        Cache

        !!!WARNING!!!: IE will only respect a Pragma: no-cache Response Header on a HTTPS response. Using this value on a HTTP response has no effect.

        HTTP/1.1 Cache-Control Header is present: no-cache. This response MUST NOT be reused without successful revalidation with the origin server.

         

        I am going to have my server team change the hostname aliases from wd_cq3/wd_ci3 to wdcq3/wdci3 and see what happens.

        Thanks

        Stuart

         

        1.  

          Hi Stuart,

          The underscore is indeed an invalid character for the hostname. SAP note 611361 has more info about valid hostnames for SAP servers.

          Regards,

          Tobias

  3. Former Member

    Hi Tobias,

    I have managed to get passed the logon screen by using an alias without an underscore. Now my next problem is that the screen I am expecting will not render. Fiddler shows the following:

    GET http://cq3wd.<name>.com:8080/SAP(====)/BC/BSP/SAP/thtml_scripts/events.is HTTP/1.1

    Accept:*/*

    Referer: http://cq3wd.<name>.com:8080/sap/crm_logon/default.htm

    When I click on the first link I get the 500 Internal Server Error with 'No target SAP system for request'

    If this is what is happening, then it looks to me like a stickiness issue with the cookie. It gets passed the initial login and forgets where it supposed to go to render the screen.

    Thanks

    Stuart

    1.  

      Hi Stuart,

      I assume you adjusted your filter rules to the new hostnames. I don't think it is a stickiness issue. Web Dispatcher has to decide for each and every request to which system to forward it. In this case, it seems Web Dispatcher wasn't able to determine the target system.

      You can always raise the Web Dispatcher trace level to 2, then reproduce the issue, and check what is happening in dev_webdisp. Start by searching for the request path (e.g. events.js), then see how WD decided where to send it (or not).

      Regards,

      Tobias

  4. Former Member

    Hi,

    It's really good post!

    But.... is there any way to use one DNS name for webdispatcher without virtual hosts (system1.webdisp.com, system2.webdisp.com etc) ?

    I want to access my systems via webdisp.company.com/SID/.....  where SID is SAP System ID (or any prefix)

    I have made url modification rules for webdispatcher side that removes SID from URL and redirect it to correct system, but I need to configure this prefix in every my system.

    I mean that the default_host in every ABAP system must have /SID/ instead of / path. And JAVA systems must have 'default server root' /SID/irj instead of /irj/

    Can anybody help me? 

     

  5. A S

    Hi,

    How would the Multiple HTTPS urls be handled in this case.

    I am working on a scenario where all the HTTPS URL will be using the same port 44300.

    The SSL termination would take place on the Web dispatcher. The connectivity between Web Dispatcher and backend would be HTTP.

    Can you let me know if such a scenario is possible and if yes then how could it be accomplished.

    The below URL are for the Users accessing the servers through Web Dispatcher

    https://a.b.com:44300
    https://b.b.com:44300
    https://c.b.com:44300
    https://d.b.com:44300

    wdisp/system_0 = SID=CR1, MSHOST=c1.y.com, MSPORT=8100
    wdisp/system_1 = SID=HM1, MSHOST=h1.y.com, MSPORT=8100
    wdisp/system_0 = SID=CR2, MSHOST=c2.y.com, MSPORT=8100
    wdisp/system_1 = SID=HM2, MSHOST=h2.y.com, MSPORT=8100

    icm/HTTP/mod_0 = PREFIX=/,FILE=/sapmnt/WD1/profile/icm_filter.txt

    ####    icm_filter.txt  ####################
    if %{HTTPS_HOST} regimatch "a.b.com"
         SetHeader x-sap-webdisp-target-sid CR1
    if %{HTTPS_HOST} regimatch "b.b.com"
         SetHeader x-sap-webdisp-target-sid HM1
    if %{HTTPS_HOST} regimatch "c.b.com"
         SetHeader x-sap-webdisp-target-sid CR2
    if %{HTTPS_HOST} regimatch "d.b.com"
         SetHeader x-sap-webdisp-target-sid HM2

    My queries are about the below

    1) is the above config possible?

    2) Is HTTPS_HOST a valid check, i know we can use HTTP_HOST in icm_filter rule file. Can HTTPS_HOST too be used?

    3) If webdispatcher is configured for SSL termination , then do i need HTTPS_HOST in the ICM Filter or can i continue with the same HTTP entry that is existing for the HTTP urls

    The result should be

    https://a.b.com:44300 --> http://c1.y.com:8100
    https://b.b.com:44300 --> http://h1.y.com:8100
    https://c.b.com:44300 --> http://c2.y.com:8100
    https://d.b.com:44300 --> http://h2.y.com:8100

    Do let me know if anyone can help with the required info for the above configuration.

    Thanks

    Shaik Arshad

     

     

     

    1. Hi Shaik,

       

      You can use the new sub parameter SRCVHOST for your purpose. Please review SAP Note 2010948. It makes no difference whether you use HTTP or HTTPS.

       

      Best,

      Tobias

  6. Former Member

    We are currently working to consolidate our SAP WebDispatcher landscape to bring all of our Internet facing content under one domain name. We currently have 5 domain names all through separate SAP WebDispatchers.

    Content that exists in underlying SAP system is delivered by iViews on the Enterprise Portal. iViews reference systems in the Enterprise Portal system landscape such as SAP_SRM and SAP_CRM which have an ICM parameter to launch the content from a new domain name.

     

    For example;

    The portal domain name is main.example.com.au, the ICM settings for system SAP_SRM is main3.example.com.au. When a user clicks on an iView pointing to SRM the browser will fetch content from main3.example.com.au. The content is typically delivered within an iframe on the portal

     

    Can someone advise what the best approach is to migrate all of the content to a single domain name.

    Please note that in reviewing our existing WebDispatcher hardening files we are likely to encounter issues with overlapping URL path between systems; for example the path /sap/public/bc/ur/ is valid on both SRM and CRM

     

    In our initial testing we have setup multiple systems on the WebDispatcher and created some URL transformation rules. Our intention was to modify the Enterprise Portal system landscape for SAP_SRM and SAP_CRM ICM Host settings to append a unique string at the start of each URL and then perform action on this URL in the WebDispatcher similar to the below;

     

    1. Configure the SAP_SRM ICM host parameter to main.example.com.au/SuppRelMan <performed on the Enterprise Portal>

    2. Set header x-sap-webdisp-target-sid SRB based in the inspected URL containing SuppRelMan <performed by the SAP WebDispatcher>

    3. Strip /SuppRelMan from the URL (as we are adding SuppRelMan from the ICM config we need to remove it again as it is not a valid path in the SRM system) <performed by the SAP WebDispatcher>

     

    What we have noticed is that only the first URL request launched from the iView contains the appended string, all subsequent requests do not contain the string so they are passed to the Enterprise Portal. As paths such as /sap/public/bc/ur/ are not valid on the Enterprise Portal the request fails. I understand this maybe a portal related question but first thought to seek out guidance if our approach is recomended.

     

    Thanks,

    Mathew Vesely