cancel
Showing results for 
Search instead for 
Did you mean: 

SAP WebDispatcher with NW7.0 Double-Stack-ABAP/J2EE

Former Member
0 Kudos

Hi folks,

we have an Double Stack NW 7.0 ABAP/J2EE System running, for using ABAP WebDynpros over Portal 6.0. On the portalserver itself the Portal and the Webdynpros are running and working absoultely fine.

While configuring SAP WebDispatcher to bring the Portal to the outside world, we

experienced some problems.

Details:

We use Webdispatcher to decrypt SSL

- HTTPS: Internet -> WebDisp

- HTTP: WebDisp. -> Portal

(this works!)

The external domain is https://portal.my-customer.de

The internal hostname of the portal is portal.mycustomer.de.

Problem:

When using the ABAP-Message Server in the WebDispatcher profile (like recommended I think), the Webdynpros are available but we cannot reach the portal.

- WORKS: https://portal.my-customer.de/sap/bc/webdynpros/sap/zmy_webdynpro

- DOESNOT: https://portal.my-customer.de/irj/portal

rdisp/mshost = portal.mycustomer.de

ms/http_port = 8100

When using the J2EE-Message-Server in the WebDispatcher profile the portal is

available but the webdynpros does not work appropriately, cause they are not reached.

- DOESNOT: https://portal.my-customer.de/sap/bc/webdynpros/sap/zmy_webdynpro

- WORKS: https://portal.my-customer.de/irj/portal

- DOESNOT: WebDynpros in portal are not available and there occurs a http-timeout in the content area with: http://portal.mycustomer.de:8000/sap/bc/webdynpro/sap/zmy_webdynpro cannot be found

Of course this address cannot be retrieved over webdispatcher, it is the "internal"

one, between webdispatcher and portal, not the external one between client and

webdisp.

rdisp/mshost = portal.mycustomer.de

ms/http_port = 8101

So the questions are:

1) Which message server do I have to use? (ABAP/J2EE)

2) How to achieve to reach both stacks?

or

When it is not possible and I have to choose reaching J2EE-Stack (Portal from outside) how can I use the ABAP WebDynpros appropriately inside the portal?

Hopes somebody can bring some light into the darkness.

Best regards

Volker

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

I don't have the solution to your specific problem but here are generic answers to your questions.

>1) Which message server do I have to use? (ABAP/J2EE)

>2) How to achieve to reach both stacks?

For a double stack system, the ABAP ICM is supposed to be used as a reverse proxy for the JAVA stack. So You should use the ABAP message server.

The redirection is done with this rule :

All URLs beginning with /sap are interpreted by the ABAP stack.

All other URLS are transmitted to the JAVA stack.

Is your system a real double stack system ? Are you able to stop the J2EE instance from transaction SMICM ?

I'm surprised because, usually, a portal system is a single Java stack system.

Regards,

Olivier

Former Member
0 Kudos

Hi Olivier,

thanks for your answer,

regarding the messageserver to use and the "redirect"-rules that's what I thought too,

unfortunately it does not work like this with our system and I cannot find the explanation.

For your question, yes it is a "real" Doule-Stack installation and I can restart it from smicm.

So I should change the question to:

3) Why is there a problem with dispatching the J2EE-Requests appropriately, with the result of unavailabilty of the portal?

4) What's the best way to track the cause of the problem?

Thanks in advance,

Best regards,

Volker

Edited by: Volker Ritzau on Aug 5, 2008 4:09 PM

Former Member
0 Kudos

Hi Volker,

>4) What's the best way to track the cause of the problem?

I would increase the trace level of the web dispatcher and look for messages in the dev_webdisp trace file.

Try also to access the web dispatcher administration interface which is usually at

http(s)://webdisp:port/sap/wdisp/admin/default.html

And check the URL Mapping link in "Dispatching Module" menu.

It may give you information.

Regards,

Olivier

Former Member
0 Kudos

Volker,

Check in your ABAP system the profile parameter :

icm/HTTP/j2ee_<xx>

as described here :

http://help.sap.com/saphelp_nw70/helpdata/EN/55/ad103c50a0ad7ee10000000a114084/frameset.htm

I may be what you need.

Regards,

Olivier

Answers (2)

Answers (2)

Former Member
0 Kudos

We switched to a Apache Reverse Proxy 2.2. There is no problem configuring this one.

Thanks for all replies.

Ps.: I closed this thread before, but it is open again?

Former Member
0 Kudos

Hi Olivier,

thanks again for your replies.

The icm/HTTP/j2ee_0 parameter was set in the ABAP System like it should..

icm/HTTP/j2ee_0 = PREFIX=/, HOST=portal.mycustomer.de, CON=0-500, PORT=50000

The HTTP Trace in the WebDispatcher only gives

the following information:

(when calling portal: https://portal.my-customer.de/irj/portal)

195.1.1.194 - - [07/Aug/2008:13:00:59 +0200] "GET / HTTP/1.1" 307# -

(when calling abap-ping https//portal.my-customer/sap/bc/ping)

195.1.1.194 - - [07/Aug/2008:13:02:06 +0200] "GET /sap/bc/ping HTTP/1.1" 401# 913

The HTTP-Trace in the ABAP-MS doesn't show anything. Should it?

best regards.

Volker

Former Member
0 Kudos

Hi again,

>I would increase the trace level of the web dispatcher and look for messages in the dev_webdisp trace >file.

Did you do that ?

>The HTTP-Trace in the ABAP-MS doesn't show anything. Should it?

Did you activate the ICMAN HTTP trace ? If yes you should get some traces.

Olivier

Former Member
0 Kudos

Ok the ICM logg of the ABAP-Portal shows the following.

I'm not so used to read the logs, but what I see is, that the Request comes to the portal and ist handled the common HTTP-Handlerm, but the J2EE-Handler returns a "empty" request?

Here is a part of the log:

The Request Starts, the Cache Handler is calles, the J2EE Handler is called, return of Empty-HTTP but I cannot see a "Failure".

Thanks for having a look,

Best regards,

Volker



[Thr 3860] REQUEST:
    Type: ACCEPT CONNECTION    Index = 107
[Thr 3860] CONNECTION (id=1/233):
    used: 1, type: 1, role: 1, stateful: 0
    NI_HDL: 29, protocol: HTTP(1)
    local host:  195.1.1.182:8000 ()
    remote host: 195.1.1.181:29010 ()
    status: NOP
    connect time: 07.08.2008 16:11:39
    MPI request:        <0>      MPI response:        <0>
    request_buf_size:   0        response_buf_size:   0
    request_buf_used:   0        response_buf_used:   0
    request_buf_offset: 0        response_buf_offset: 0
[Thr 7548] SiSelNSelect: start select (timeout=-1)
[Thr 3860] MPI:3 create pipe 0000000003790660 1
[Thr 3860] MPI<53>3#1 Open( ANONYMOUS 3 1 ) -> 3
[Thr 3860] MPI<53>3#2 Open( ANONYMOUS 3 0 ) -> 3
[Thr 3860] MPI:1 create pipe 0000000003790360 1
[Thr 3860] MPI<54>1#1 Open( ANONYMOUS 1 0 ) -> 1
[Thr 3860] MPI<54>1#2 Open( ANONYMOUS 1 1 ) -> 1
[Thr 3860] IcmPlCheckRetVal: Next status: READ_REQUEST(1)
[Thr 3860] IcmReadFromConn(id=1/233): request new MPI (0/0)
[Thr 3860] MPI<53>3#3 GetOutbuf -1 187210 65536 (0) -> 0000000003917280 0
[Thr 3860] NiIRead: hdl 29 received data (rcd=434,pac=1,RAW_IO)
[Thr 3860] IcmReadFromConn(id=1/233): read 434 bytes(timeout 500)
[Thr 3860] Address    Offset  IcmReadFromConn received
[Thr 3860] ------------------------------------------------------------------------
[Thr 3860] 00000000039172C8  000000  47455420 2f69726a 2f706f72 74616c2f |GET /irj/portal/|
[Thr 3860] 00000000039172D8  000016  696e6465 782e6874 6d6c2048 5454502f |index.html HTTP/|
[Thr 3860] 00000000039172E8  000032  312e300d 0a616363 6570743a 20696d61 |1.0..accept: ima|
[Thr 3860] 00000000039172F8  000048  67652f67 69662c20 696d6167 652f782d |ge/gif, image/x-|
[Thr 3860] 0000000003917308  000064  78626974 6d61702c 20696d61 67652f6a |xbitmap, image/j|
[Thr 3860] 0000000003917318  000080  7065672c 20696d61 67652f70 6a706567 |peg, image/pjpeg|
[Thr 3860] 0000000003917328  000096  2c206170 706c6963 6174696f 6e2f782d |, application/x-|
[Thr 3860] 0000000003917338  000112  73686f63 6b776176 652d666c 6173682c |shockwave-flash,|
[Thr 3860] 0000000003917348  000128  20617070 6c696361 74696f6e 2f766e64 | application/vnd|
[Thr 3860] 0000000003917358  000144  2e6d732d 65786365 6c2c2061 70706c69 |.ms-excel, appli|
[Thr 3860] 0000000003917368  000160  63617469 6f6e2f76 6e642e6d 732d706f |cation/vnd.ms-po|
[Thr 3860] 0000000003917378  000176  77657270 6f696e74 2c206170 706c6963 |werpoint, applic|
[Thr 3860] 0000000003917388  000192  6174696f 6e2f6d73 776f7264 2c202a2f |ation/msword, */|
[Thr 3860] 0000000003917398  000208  2a0d0a61 63636570 742d6c61 6e677561 |*..accept-langua|
[Thr 3860] 00000000039173A8  000224  67653a20 64650d0a 75736572 2d616765 |ge: de..user-age|
[Thr 3860] 00000000039173B8  000240  6e743a20 4d6f7a69 6c6c612f 342e3020 |nt: Mozilla/4.0 |
[Thr 3860] 00000000039173C8  000256  28636f6d 70617469 626c653b 204d5349 |(compatible; MSI|
[Thr 3860] 00000000039173D8  000272  4520362e 303b2057 696e646f 7773204e |E 6.0; Windows N|
[Thr 3860] 00000000039173E8  000288  5420352e 313b2053 56313b20 496e666f |T 5.1; SV1; Info|
[Thr 3860] 00000000039173F8  000304  50617468 2e313b20 2e4e4554 20434c52 |Path.1; .NET CLR|
[Thr 3860] 0000000003917408  000320  20322e30 2e353037 32373b20 2e4e4554 | 2.0.50727; .NET|
[Thr 3860] 0000000003917418  000336  20434c52 20312e31 2e343332 32290d0a | CLR 1.1.4322)..|
[Thr 3860] 0000000003917428  000352  686f7374 3a20706f 7274616c 2e61746c |host: portal.my|
[Thr 3860] 0000000003917438  000368  61732d77 65796861 7573656e 2e64650d |customer.de.|
[Thr 3860] 0000000003917448  000384  0a636f6e 6e656374 696f6e3a 204b6565 |.connection: Kee|
[Thr 3860] 0000000003917458  000400  702d416c 6976650d 0a636c69 656e7470 |p-Alive..clientp|
[Thr 3860] 0000000003917468  000416  726f746f 636f6c3a 20687474 70730d0a |rotocol: https..|
[Thr 3860] 0000000003917478  000432  0d0a                                |..              |
[Thr 3860] ------------------------------------------------------------------------
[Thr 3860] PlugInHandleNetData: role: 1, status: 1, content-length: 0/0
		buf_len: 434, buf_offset: 0, buf_status: 0
[Thr 3860] HttpParseRequestHeader: no content length set
[Thr 3860] HttpParseRequestHeader: no transfer-encoding set
[Thr 3860] HttpParseRequestHeader: Version: 1000
[Thr 3860] HttpParseRequestHeader: Keep-Alive: 1
[Thr 3860] HttpParseRequestHeader: no server port set
[Thr 3860] HttpRewriteRequestHeader: perform actions: 0
[Thr 3860] HttpSrvHdlRequest: method: 1; path: /irj/portal/index.html
[Thr 3860] Handler 3: HttpAuthHandler matches url: /irj/portal/index.html, port: 80
[Thr 3860] Handler 4: HttpCacheHandler matches url: /irj/portal/index.html, port: 80
[Thr 3860] Handler 2: HttpSAPR3Handler matches url: /irj/portal/index.html, port: 80
[Thr 3860] Handler 0: HttpJ2EEHandler matches url: /irj/portal/index.html, port: 80
[Thr 3860] HttpSubHandlerCall: Call Handler: HttpAuthHandler, task=1, header_len=434
[Thr 3860] HttpSubHandlerItDeactivate: handler 0: HttpAuthHandler
[Thr 3860] HttpSubHandlerCall: Call Handler: HttpCacheHandler, task=1, header_len=434
[Thr 3860] HttpCacheHandler: 1 434 000000000088BE80 0000000000000000
[Thr 3860] ISC: Cache Lookup. 1. try: browser independent.
[Thr 3860] ISC: hashed querystr = 9e6a '&*&'
[Thr 3860] HttpCacheMakeObjectKey() -> '/irj/portal/index.html&&&GZ=0&A6E90000&' (39) rc=0
[Thr 3860] MTX_LOCK 1628 0000000000C71940
[Thr 3860] MTX_UNLOCK 1759 0000000000C71940
[Thr 3860] IctCmOpen#195 R '/irj/portal/index.html&&&GZ=0&A6E90000&'.-1 (- ???) 13119456 1 -> 0000000000000000 -1 rc=20
[Thr 3860] MTX_LOCK 1628 0000000000C717F0
[Thr 3860] MTX_UNLOCK 1759 0000000000C717F0
[Thr 3860] IctCmOpen#257 R '/irj/portal/index.html&&&GZ=0&A6E90000&'.-1 (- ???) 13119456 1 -> 0000000000000000 -1 rc=20
[Thr 3860] ISC: Cache Lookup. 2. try: browser specific key.
[Thr 3860] ISC: hashed querystr = 26b66ec1 '&Mozilla/4.0 (compatible; MSIE 6.0;&'
[Thr 3860] HttpCacheMakeObjectKey() -> '/irj/portal/index.html&&&GZ=0&1CE66B62&' (39) rc=0
[Thr 3860] MTX_LOCK 1628 0000000000C71940
[Thr 3860] MTX_UNLOCK 1759 0000000000C71940
[Thr 3860] IctCmOpen#196 R '/irj/portal/index.html&&&GZ=0&1CE66B62&'.-1 (- ???) 13119456 1 -> 0000000000000000 -1 rc=20
[Thr 3860] MTX_LOCK 1628 0000000000C717F0
[Thr 3860] MTX_UNLOCK 1759 0000000000C717F0
[Thr 3860] IctCmOpen#258 R '/irj/portal/index.html&&&GZ=0&1CE66B62&'.-1 (- ???) 13119456 1 -> 0000000000000000 -1 rc=20
[Thr 3860] HttpCacheHandler: cache miss.
[Thr 3860] HttpSubHandlerItDeactivate: handler 1: HttpCacheHandler
[Thr 3860] HttpSubHandlerCall: Call Handler: HttpSAPR3Handler, task=1, header_len=434
[Thr 3860] HttpSAPR3Handler: url_tab_init: 1, force_dest: 0
[Thr 3860] ICT: IctLookupPathTable() -> 20
[Thr 3860] HttpSAPR3Handler: j2ee_active: 1, j2ee_conf: 1, dest: 2
[Thr 3860] HttpSubHandlerItDeactivate: handler 2: HttpSAPR3Handler
[Thr 3860] HttpSubHandlerCall: Call Handler: HttpJ2EEHandler, task=1, header_len=434
[Thr 3860] HttpJ2EEHandler called: task=1
[Thr 3860] IcmIConnPoolAllocEntry: no unused entry for pool 0000000000C29CF0 found (reuse conn: 1)
[Thr 3860] IcmIConnPoolAllocEntry: try to create new entry for pool 0000000000C29CF0
[Thr 3860] IcmConnPoolAllocSlot: allocated entry 0000000008D118D0[0] of pool 0000000000C29CF0
[Thr 3860] NiHsLGetNodeAddr: found hostname 'portal.mycustomer.de' in cache
[Thr 3860] NiIGetNodeAddr: hostname 'portal.mycustomer.de' = addr 195.1.1.182
[Thr 3860] NiIGetServNo: servicename '50000' = port C3.50/50000
[Thr 3860] NiICreateHandle: hdl 30 state NI_INITIAL
[Thr 3860] NiIInitSocket: set default settings for new hdl 30 / sock 7816 (I4; ST)
[Thr 3860] NiIBlockMode: set blockmode for hdl 30 FALSE
[Thr 3860] NiIConnectSocket: hdl 30 is connecting to 195.1.1.182:50000 (timeout=5000)
[Thr 3860] SiPeekPendConn: connection of sock 7816 established
[Thr 3860] NiICheckPendConnection: connection of hdl 30 to 195.1.1.182:50000 established
[Thr 3860] NiIConnect: hdl 30 took local address 195.1.1.182:3024
[Thr 3860] NiIConnect: state of hdl 30 NI_CONNECTED
[Thr 3860] NiILocalCheck: matched local address: 195.1.1.182 (up)
[Thr 3860] IcmConnPoolConnect: Connection to host: portal.mycustomer.de, service: 50000 established (nihdl=30)
[Thr 3860] IcmConnPoolNewEntry: created new entry 0000000008D118D0[0] for pool 0000000000C29CF0 (nihdl=30, ssl=0000000000000000)
[Thr 3860] HttpJ2EEHandler: server triggered
[Thr 3860]    Pool Entry 0000000008D118D0:
[Thr 3860]    NI: 30, SSL: 0000000000000000, allocated: 1, inuse: 1, desc: 0000000000C28BA0
local host:  195.1.1.182:3024
remote host: 195.1.1.182:50000
[Thr 3860] HttpJ2EEHandler: status: 6
[Thr 3860] MPI<53>3#4 GetOutbuf -1 197250 65536 (0) -> 00000000039272C0 0
[Thr 3860] HttpJ2EEDumpReqHeader:
eye1: deadbeef, version: 1, client ip: 195.1.1.181, protocol: 1, guid: 1/233,
length: 434, type: 0, trace: 3, status: 6, eye2: deadbeef
[Thr 3860] Address    Offset  Send to AppServer via net:
[Thr 3860] ------------------------------------------------------------------------
[Thr 3860] 0000000003927308  000000  deadbeef 00000001 c30101b5 00000001 |................|
[Thr 3860] 0000000003927318  000016  00000001 000000e9 000001b2 00030600 |................|
[Thr 3860] 0000000003927328  000032  00000000 deadbeef                   |........        |
[Thr 3860] ------------------------------------------------------------------------
[Thr 3860] NiIWrite: hdl 30 sent data (wrt=40,pac=1,RAW_IO)
[Thr 3860] IcmFlushBuf: NiRawWrite (40 bytes) wrote 40, rc=0
[Thr 3860] MPI<53>3#5 DiscardOutbuf l2 0 0 197250 0 0 -> 00000000039272A0 0
[Thr 3860] Address    Offset  Send to AppServer via net:

Former Member
0 Kudos

Hi,

For me your log shows that the web dispatcher and the Abap ICM do correctly their jobs :

The request is transmitted to the portal which does not respond correcly.

Seems a portal problem for me.

I don't use the portal but, there is maybe some EP configuration to tell the portal that there is a reverse proxy in front of it ?

Regards,

Olivier

michael_mulvey
Employee
Employee
0 Kudos

Hi,

I agree with the statement above. The following entry in the dev_webdisp shows that the correct information was relayed by the webdisp:-

[Thr 3860] IcmConnPoolConnect: Connection to host: portal.mycustomer.de, service: 50000 established (nihdl=30)

So I am assuming that the problem is with the portal. Can you try to connect direct to the portal server using the following URL

http://portal.mycustomer.de:50000/irj/portal

Do you get a response ???

Michael