cancel
Showing results for 
Search instead for 
Did you mean: 

One Web Dispatcher, Multi Systems with URL Prefixes

Former Member
0 Kudos

Hi,

I have:

  - 1 Web Dispatcher 7.20 (hostname: saprouter, IP: 1.1.1.1)

  - 2 SAP systems (1 ABAP: hostname: sap01, SID: AAA; 1 ABAP+Java: hostname: sap02, SID: BBB)

I want to use URL Prefixes to distinguish between system AAA & BBB

Some important parameters in profile file sapwebdisp.pfl:

icm/server_port_0 = PROT=HTTP,PORT=80

wdisp/system_conflict_resolution = 1

wdisp/allow_multiple_matching_systems = true

wdisp/system_0 = SID=AAA,MSHOST=sap01.zyx.com,MSPORT=8100,SRCSRV=*:80,SRCURL=/AAA/

wdisp/system_1 = SID=BBB,MSHOST=sap02.zyx.com,MSPORT=8100,SRCSRV=*:80,SRCURL=/BBB/

wdisp/system_2 = SID=BBB,MSHOST=sap02.zyx.com,MSPORT=8100,SRCSRV=*:80,SRCURL=/BBB_JAVA/

But when I connect to ABAP ITS of system of AAA, ABAP ITS and Java part of BBB via http://1.1.1.1/AAA/sap/bc/gui/sap/its/webgui?sap-client=800, http://1.1.1.1/BBB/sap/bc/gui/sap/its/webgui?sap-client=800, http://1.1.1.1/BBB_JAVA/irj/portal, system shows error "500 Internal Server Error ... Detail:    No target SAP system for request"

Someone advise me?

Regards,

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Toan,

I think you miss understood the parameter SRCURL.

SRCURL stands for source URL which means the http request can be routed based on the prefix of original URL  but doesn't mean the webdispatcher could modify the original URL with that parameter.

Cheers,
Denny

Answers (4)

Answers (4)

Former Member
0 Kudos

Solved.

Use parameter wdisp/system_x with SID=EXT

Regards

0 Kudos

Dear Toan Do   

Can you explain on how you managed to reach the non-SAP server. We are using the same parameter but with no luck. What is the example of your non-SAP system, and does Web dispatcher act like a reverse proxy which allows browser clients to access that non-SAP system from the internet

This is our profile

Thank you for your Answer.

We have tried what is suggested the SAP Help but it seems that we still have issues in trying to connect to outside servers. What we want to do is use the SAP Webdispatcher to Access our production SAP - which it is successfully doing using port 8443 and a redirect. We want to use port 8444 to direct us to another server(Lotus Inotes) in our case. Referenced below is the profile we are using. Can anyone assist us how to get connected to our non-SAP system.

unique instance number

SAPSYSTEM = 88

# add default directory settings

DIR_EXECUTABLE = .

DIR_INSTANCE = .

# Accessibility of Message Servers

rdisp/mshost = 10.2.16.25

ms/http_port = 8188

# SAP Web Dispatcher Parameter

wdisp/system_2 = SID=EXT, EXTSRV=https://10.2.16.87:443, SRCSRV=10.2.3.26:8444

wdisp/auto_refresh = 25

wdisp/max_servers = 100

wdisp/shm_attach_mode = 6

wdisp/ssl_encrypt = 0

wdisp/add_client_protocol_header = true

ssl/server_pse = /usr/sap/webdisp/sec/SAPSSLSN.pse

ssl/ssl_lib = /usr/sap/webdisp/secudir/linux-x86_64-glibc2.3/libsapcrypto.so

#wdisp/server_info_location = /usr/sap/webdisp/info.icr

# configuration for default scenario (medium size)

icm/max_conn      = 500

icm/max_sockets   = 1024

icm/req_queue_len = 500

icm/min_threads   = 10

icm/max_threads   = 50

mpi/total_size_MB = 80

#maximum number of concurrent connections to one server

wdisp/HTTP/max_pooled_con = 500

wdisp/HTTPS/max_pooled_con = 500

# SAP Web Dispatcher Ports

icm/server_port_0 = PROT=HTTPS,PORT=8443,TIMEOUT=180, PROCTIMEOUT=3600

icm/server_port_1 = PROT=HTTP,PORT=0

icm/server_port_2 = PROT=HTTPS,PORT=8444,TIMEOUT=180, PROCTIMEOUT=3600

icm/HTTPS/verify_client = 0

#icm/server_port_2 = PROT=HTTPS,PORT=8444,TIMEOUT=180, PROCTIMEOUT=3600

# SAP Web Dispatcher Web Administration

icm/HTTP/admin_0 = PREFIX=/sap/wdisp/admin,DOCROOT=./admin,AUTHFILE=icmauth.txt

icm/HTTP/redirect_0 = PREFIX=/, TO=/sap/bc/gui/sap/its/webgui/!

Former Member
0 Kudos

Hi Toan,

Denny is correct, if you provide an url like http://1.1.1.1/aaa/.../.. your Web Dispatcher will be able to identify that this request should be routed to SID AAA, but the thing here is that system AAA doesn't have the URL prefix AAA on it's URL table. You could try to rewrite the URL after selecting the system, althought I'm not 100% sure that this will work. You can refer to the following link: http://help.sap.com/saphelp_nw73ehp1/helpdata/EN/48/9266f7aa6b17cee10000000a421937/content.htm

Former Member
0 Kudos

Hi Denny & Mauricio,

Thks for pointing out what I misunderstanded.

So now how can we distinguish bet. the same service of 2 SAP systems with the same URL? Example:

Web ITS in AAA & BBB have the same URL:

http://1.1.1.1/sap/bc/gui/sap/its/webgui?sap-client=800

Regards,http://202.78.231.201/AFS/sap/bc/gui/sap/its/webgui?sap-client=781

Former Member
0 Kudos

Hi Toan,

What are you trying to do with one URL prefix for 2 systems? are you trying to enable public internet access to 2 systems?

Probably you could think about webdispatcher cascading setup, i.e. setup 2 additional webdispatchers for AAA and BBB and then use your existing on the top with static load balancing setting.  You could code URL rewrite rules in these 2 additional webdispatchers in which you can prefixes like "aaa" or "bbb".

Another option is to create external aliases in your ABAP systems. e.g.

1) Create external alias /aaa/sap targeting /sap in system AAA

2)  Create external alias /bbb/sap targeting /sap in system BBB

Cheers,
Denny

Former Member
0 Kudos

Hi Denny,

Thanks for your idea; yes, this is for trying to access AAA & BBB via webdisp 1.1.1.1.

Ok, It's better to use other ways like different ports or modification rules (alias).

One more question: how to access an internal non-SAP web server via webdisp server?

Regards,

Former Member
0 Kudos

Hi Toan,

You can create static load balancing text file (which contains server name, port of your non-SAP http server etc.) and then use the following parameters pointing to your own files.

  • wdisp/server_info_location
  • wdisp/url_map_location
  • wdisp/J2EE/group_info_location

Please read more from here:

http://help.sap.com/saphelp_nw04s/helpdata/en/62/5f374ff72c40478fcba2bb4fa79ddf/content.htm

Cheers,
Denny

Former Member
0 Kudos

Hi Denny,

Can you show a simple example?

Regards,

Former Member
0 Kudos

Hi,

If I declare 3 following parameters, then webdisp seems to ignore parameter wdisp/system_x

wdisp/server_info_location

wdisp/group_info_location

wdisp/url_map_location

How to make webdisp to resolve concurrently multiple SAP systems & non-SAP systems (Web servers)?

Regards,

0 Kudos

HI,

You have two options... change the port in SRCSRV to distinct one for each system, or set

wdisp/system_conflict_resolution = 2

Take a look in the documentation

http://help.sap.com/saphelp_nw73/helpdata/en/1b/b0fd8a12344c4ca89b7a1c5d1d7310/frameset.htm

Clebio

Former Member
0 Kudos

Hi Gautam Singh,
I think URI permission only helps permissions (permit or deny), but my situation relates to unable to connect to target SAP system.

Hi Clebio,
For using more ports, I did test, it's ok; but with URL prefixes like this, I'm still stuck.

Keep waiting

REgards,

gautam_singh
Participant
0 Kudos

Hi Toan,

You need to create URI permission table for determining the rules according to which the SAP Web dispatcher should handle incoming URLs. For more details about how to create URI permission table and their corresponding rules, please go through the below mentioned help link:

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/9ac19148c673e8e10000000a42189b/frameset.htm

Thanks

Gautam Singh