cancel
Showing results for 
Search instead for 
Did you mean: 

Web dispatcher HTTPS w/ EXTSRV

Former Member
0 Kudos

Hello community,

I have a simple scenario where the Web Dispatcher should forward incoming HTTP/HTTPS call to a HTTPS endpoint on external system.

I have tried to setup the demo scenario just by defining the system as follows:

wdisp/system_0 = SID=EXT, EXTSRV=https://www.google.com, SRCSRV=*:443

Now when I connect to the web dispatcher via HTTPS/443 I get 500 Dispatching Error:

Error:-26
Version:7400
Component:HTTP_ROUTE
Date/Time:Wed Oct 28 14:55:54 2015
Module:http_route.c
Line:3448
Server:wdf-ci-disp_WD1_00
Error Tag:{0000009d}
Detail:no valid destination server available for '!ALL' rc=4

I have read that HTTPS to external systems was not possible in earlier Kernels so we did an upgrade and not the Kernel is 740, Patch Number 42 and the issue still persists.

The complete profile is as follows:


SAPSYSTEMNAME = WD1
SAPGLOBALHOST = webdispatcher
SAPSYSTEM = 00
INSTANCE_NAME = W00
DIR_CT_RUN = $(DIR_EXE_ROOT)\$(OS_UNICODE)\NTAMD64
DIR_EXECUTABLE = $(DIR_CT_RUN)
DIR_PROFILE = \\webdispatcher\sapmnt\WD1\SYS\profile
_PF = $(DIR_PROFILE)\WD1_W00_wdf-ci-disp
SETENV_00 = PATH=$(DIR_EXECUTABLE);%PATH%
_WD = $(DIR_EXECUTABLE)\sapwebdisp$(FT_EXE)
Start_Program_00 = local $(_WD) pf=$(_PF)
ssl/ssl_lib = $(DIR_EXECUTABLE)$(DIR_SEP)$(FT_DLL_PREFIX)sapcrypto$(FT_DLL)
sec/libsapsecu = $(ssl/ssl_lib)
ssf/ssfapi_lib = $(ssl/ssl_lib)
DIR_INSTANCE = C:\usr\sap\WD1\W00
SETENV_01 = SECUDIR=$(DIR_INSTANCE)/sec


icm/server_port_0 = PROT=HTTP,PORT=81$$
icm/server_port_1 = PROT=HTTP,PORT=8200
icm/server_port_2 = PROT=HTTPS,PORT=443
icm/HTTP/admin_0 = PREFIX=/sap/admin,DOCROOT=$(DIR_DATA)$(DIR_SEP)icmandir,AUTHFILE=$(icm/authfile),PORT=81$$,443


wdisp/system_0 = SID=EXT, EXTSRV=https://www.google.com, SRCSRV=*:443

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

is/HTTP/show_detailed_errors = true
icm/HTTP/logging_0 = PREFIX=/, LOGFILE=access_log-%y-%m, MAXSIZEKB=10000, SWITCHTF=day, LOGFORMAT=SAPSMD

wdisp/HTTP/max_pooled_con = 500
wdisp/HTTPS/max_pooled_con = 500

ssl/server_pse = C:\usr\sap\WD1\W00\sec\SAPSSLS.pse
ssl/client_pse = C:\usr\sap\WD1\W00\sec\SAPSSLC.pse

Hoping for some advice,

Best regards,

Ilja.

Accepted Solutions (0)

Answers (1)

Answers (1)

cris_hansen
Advisor
Advisor
0 Kudos

Hello Ilja,

What is the content of the web dispatcher trace file?

Can it access the SAP system?

Regards,

Cris

Former Member
0 Kudos

Hello Cristiano,

I see the following entries in Web Dispatcher:

[Thr 8996] Wed Oct 28 16:32:36 2015

[Thr 8996] *** ERROR => no valid destination server available for '!J2EE' rc=13 {00020005} [http_route.c 3448]

[Thr 8996] *** WARNING => redirect failed request to foreign destination '!ALL' [http_route.c 3472]

[Thr 8996] *** WARNING => original destination was '!J2EE' [http_route.c 3475]

[Thr 8996] *** ERROR => no valid destination server available for '!ALL' rc=4 {00020005} [http_route.c 3448]

[Thr 8996] *** WARNING => redirect failed request to foreign destination '!ALL' [http_route.c 3472]

[Thr 8996] *** WARNING => original destination was '!ALL' [http_route.c 3475]

[Thr 8996] *** ERROR => no valid destination server available for '!ALL' rc=4 {00020005} [http_route.c 3448]

This might be interesting as well( 10.30.4.23 9999/ecfs  is the actual server I'm trying to route to):

[Thr 3392] IcmGetSchedule: found slot 2

[Thr 3392] IcrScheduleFunc entered

[Thr 3392] ICR: Querying SAP system #0 (EXT:)

[Thr 3392] ICR: reading server info from string 000000000C050D90

[Thr 3392] ICR read response: data_len=67

[Thr 3392] IcrIHandleHTTPClientRequest dest=':' URL='/msgserver/text/logon?version=1.2' -> 0

[Thr 3392] ICR: server info version= '1.2'

[Thr 3392] ICR parse: <sap-server-name> = 'SAP_WDISP_EXTSRV_0'

[Thr 3392] line = 'J2EES 10.30.4.23 9999/ecfs LB=100'

[Thr 3392] ICR parse: <protocol-type> = 'J2EES'

[Thr 3392] ICR parse: <host> = '10.30.4.23'

[Thr 3392] ICR parse: <port> = '9999/ecfs'

[Thr 3392] ICR parse: <description> name='LB' val='100'

[Thr 3392] ICR parse: LB=100

[Thr 3392] IcrIAddPortTableEntry 9999/ecfs/1/-1/8

[Thr 3392] line = ''

[Thr 3392] ICR: server capacity=100 (ABAP=-1 JAVA=100 op=2)

[Thr 3392] IcrIAddPortTableEntry 9999/ecfs/1/-1/8

[Thr 3392] adding additional RAW port for HTTPS service 9999/ecfs

[Thr 3392] IcrIAddPortTableEntry 9999/ecfs/2/-1/8

[Thr 3392] ICR: new pseudo group '!J2EES'

[Thr 3392] ICR: group '!J2EES' -> add server 'SAP_WDISP_EXTSRV_0'

[Thr 3392] ICR parse: <sap-server-name> = ''

[Thr 3392] ICR: IcrINeedUpdateServer -> 0

[Thr 3392] ICR: IcrINeedUpdateServerConnPool(new=0, changed=0, removed=0) -> 0

[Thr 3392] ICR: IcrUpdateServer: leave 'SAP_WDISP_EXTSRV_0' unchanged.

[Thr 3392] ICR: IcrIUpdateServerPool( 00000000181A9C90 0000000010430080 ) -> 0

[Thr 3392] RGL '!J2EES'

[Thr 3392]   RGL-EL 00000000104332B0

[Thr 3392] RGL '!ALL'

[Thr 3392]   RGL-EL 00000000104332B0

[Thr 3392] ICR: IcrISortedInsertGroupElem( 000000000C0647F8 'SAP_WDISP_EXTSRV_0' ) pos=0

[Thr 3392] ICR: IcrISortedInsertGroupElem( 000000000C064888 'SAP_WDISP_EXTSRV_0' ) pos=0

Thanks again,

Ilja.

Former Member
0 Kudos

Hi Cristiano,

The target system is not an SAP system - just a URL which is defined as EXT system in a profile.

Kind regards,

Ilja.

cris_hansen
Advisor
Advisor
0 Kudos

Hello Ilja,

Could you check the SAP Help and see whether the configuration is ok?

From similar cases, be sure that is/HTTP/default_root_hdl = abap is not set.

Regards,

Cris