cancel
Showing results for 
Search instead for 
Did you mean: 

WebDispatcher on Port 80

Former Member
0 Kudos

I'm building a prototype and have a problem with getting webdispatcher to work on port 80.

If I set

icm/server_port_1 = PROT=HTTP,PORT=8090

then all works, but if I only change this to

icm/server_port_1 = PROT=HTTP,PORT=80

and restart the web dispatcher, then it won't work.

Is this a know restriction, or am I doing something wrong?

Thanks in advance

Tony

Accepted Solutions (1)

Accepted Solutions (1)

former_member227283
Active Contributor
0 Kudos

Hi tony,

If you have to bind port 80 or port 443 on webdipatcher then you have to change the parameter as follows :-

Current Parameter

icm/server_port_1 = PROT=HTTP,PORT=80

Paramter should be as below

icm/server_port_1 = PROT=HTTP,PORT=80,TIMEOUT=45,EXTBIND=1

as well go to your kernal directory i.e /sapmt/<SID>/exe

and search for the file

icmbnd

and change the value chmod and chown of file as below

chown root:sapsys icmbnd
chmod 4750 icmbnd

Above step should resolve your problem.

If problem still exits then paste the contain of log file webdisp.log

check the below link which will help you to understand the concept of port which is < 1024

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/3f047b75d431cbe10000000a42189d/content.htm

Thanks

Anil

Edited by: Anil Bhandary on Nov 16, 2009 8:45 AM

Former Member
0 Kudos

Firstly I like to thank everyone for their help so far.

I checked using "netstat -nap --tcp" but could not see anything on port 80.

As you will notice this is a 710 Web Dispatcher and in the exe directory there isn't an "icmbnd" but there is and "icmbnd.new". I chown'ed and chmod'ed that as if it was icmbnd but it didn't correct the problem.

Here is the work/dev_webdisp.log

Does anyone have any more suggestions?

-


trc file: "dev_webdisp", trc level: 1, release: "710"

-


sysno 00

sid WDB

systemid 390 (AMD/Intel x86_64 with Linux)

relno 7100

patchlevel 0

patchno 65

intno 20020600

make multithreaded, ASCII, 64 bit, optimized

profile /usr/sap/WDB/SYS/profile/WDB_W00_oclwd1

pid 3709

[Thr 47730344888144] Mon Nov 16 19:19:51 2009

[Thr 47730344888144] *** WARNING => The maximum number of sockets supported on this host is 1019.

This is less than the number of sockets configured in parameter icm/max_sockets (8192) [icxxrout_mt. 3073]

[Thr 47730344888144] started security log to file dev_icm_sec

[Thr 47730344888144] SigISetDefaultAction : default handling for signal SIGCHLD

[Thr 47730344888144] SAP Web Dispatcher running on: oclwd1.ocluk.com

[Thr 47730344888144] MtxInit: 30001 0 2

[Thr 47730344888144] IcmInit: listening to admin port: 65000

[Thr 47730344888144] MPI: dynamic quotas disabled.

[Thr 47730344888144] MPI init: pipes=4000 buffers=1279 reserved=383 quota=10%

[Thr 47730344888144] IcrCoreInitSessionTable: Session table initialized

[Thr 1116793152] HttpExtractArchive: files from archive /usr/sap/WDB/SYS/exe/nuc/linuxx86_64/wdispadmin.SAR in directory /u

sr/sap/WDB/W00/data/icmandir are up to date

[Thr 1116793152] HttpSubHandlerAdd: Added handler HttpAdminHandler(slot=0, flags=4101) for /sap/admin, active: 1

[Thr 1116793152] HttpSubHandlerAdd: Added handler HttpModHandler(slot=1, flags=12293) for /, active: 1

[Thr 1116793152] CsiInit(): Initializing the Content Scan Interface

[Thr 1116793152] AMD/Intel x86_64 with Linux (mt,ascii,SAP_CHAR/size_t/void* = 8/64/64)

[Thr 1116793152] CsiInit(): CSA_LIB = "/usr/sap/WDB/SYS/exe/nuc/linuxx86_64/libsapcsa.so"

[Thr 1116793152] HttpSubHandlerAdd: Added handler HttpAuthHandler(slot=2, flags=12293) for /, active: 1

[Thr 1116793152] HttpSubHandlerAdd: Added handler HttpWebDispHandler(slot=3, flags=28677) for /, active: 1

[Thr 1116793152] =================================================

[Thr 1116793152] = SSL Initialization on AMD/Intel x86_64 with Linux

[Thr 1116793152] = (710_REL,Oct 23 2007,mt,ascii,SAP_UC/size_t/void* = 8/64/64)

[Thr 1116793152] *** ERROR => DlLoadLib: dlopen()= /usr/sap/WDB/SYS/exe/nuc/linuxx86_64/libsapcrypto.so: cannot open shared

object file: No such file or directory -> DLENOACCESS (0,Success) [dlux_mt.c 314]

[Thr 1116793152] *** ERROR => secudessl_LoadLibrary(): Unable to load "/usr/sap/WDB/SYS/exe/nuc/linuxx86_64/libsapcrypto.so

" [ssslsecu_mt. 387]

[Thr 1116793152] *** ERROR => Loading of SSL library failed -- NO SSL available!

[Thr 1116793152] =================================================

[Thr 1116793152]

[Thr 1116793152] <<- ERROR: SapSSLInit(read_profile=1)==SSSLERR_LIB_NOT_FOUND

[Thr 1116793152] *** ERROR => IcmServInitSSL: SapSSLInit (rc=-1): SSSLERR_LIB_NOT_FOUND [icxxserv_mt. 249]

[Thr 1116793152] *** WARNING => Could not start service 8100 for protocol HTTPS on host "oclwd1.ocluk.com"(on all adapters)

[icxxrout_mt. 4084]

[Thr 1116793152] *** ERROR => IcmBndVersionCheck: Could not access file /usr/sap/WDB/SYS/exe/nuc/linuxx86_64/icmbnd: No suc

h file or directory [icxxextbnd_m 1310]

[Thr 1116793152] *** ERROR => ExecIRunPrg: execve "/usr/sap/WDB/SYS/exe/nuc/linuxx86_64/icmbnd" failed (2: No such file or

directory) [execuxi_mt.c 765]

[Thr 1116793152] Mon Nov 16 19:19:52 2009

[Thr 1116793152] *** ERROR => IcmStartIcmBnd: "/usr/sap/WDB/SYS/exe/nuc/linuxx86_64/icmbnd" failed with rc: 127 - inspect "

dev_icmbnd" [icxxextbnd_m 1080]

[Thr 1116793152] *** WARNING => Could not start service 80 for protocol HTTP on host "oclwd1.ocluk.com"(on all adapters) [i

cxxrout_mt. 4084]

[Thr 47730344888144] SigISetDefaultAction : default handling for signal SIGCHLD

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 0

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 1

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 2

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 3

[Thr 1100085568] *** ERROR => IcmConnClientRqCreate: No service for protocol HTTP started [icxxconn_mt. 2602]

[Thr 1100085568] *** ERROR => IcmConnClientRqCreate() failed (rc=-1) [icrxx_mt.c 5808]

[Thr 1100085568] *** ERROR => Could not connect to SAP Message Server at oclbw7.ocluk.com. URL=/msgserver/text/logon?versio

n=1.2 [icrxx_mt.c 3126]

[Thr 1100085568] *** ERROR => rc=-1, HTTP response code: 0 [icrxx_mt.c 3127]

[Thr 1100085568] *** ERROR => see also SAP note 552286 [icrxx_mt.c 3128]

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 4

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 5

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 6

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 7

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 8

[Thr 47730344888144] IcmCreateWorkerThreads: created worker thread 9

[Thr 1116793152] IcmWatchDogThread: watchdog started

[Thr 1102727488] Mon Nov 16 19:20:17 2009

[Thr 1102727488] *** ERROR => IcmConnClientRqCreate: No service for protocol HTTP started [icxxconn_mt. 2602]

[Thr 1102727488] *** ERROR => IcmConnClientRqCreate() failed (rc=-1) [icrxx_mt.c 5808]

[Thr 1102727488] *** ERROR => Could not connect to SAP Message Server at oclbw7.ocluk.com. URL=/msgserver/text/logon?versio

n=1.2 [icrxx_mt.c 3126]

[Thr 1102727488] *** ERROR => rc=-1, HTTP response code: 0 [icrxx_mt.c 3127]

[Thr 1102727488] *** ERROR => see also SAP note 552286 [icrxx_mt.c 3128]

..... rest of file truncated because of size...

Former Member
0 Kudos

Hi Tony,

As suggested in the error, have you checked Note 552286? It contains a lot of debugging procedures. If so, what was the result?

Best Regards,

Matt

prashb
Participant
0 Kudos

Hi Chuckie,

according log you attached, there many errors:

  • ERROR => IcmStartIcmBnd: "/usr/sap/WDB/SYS/exe/nuc/linuxx86_64/icmbnd" failed with rc: 127 - inspect " dev_icmbnd" [icxxextbnd_m 1080] [Thr 1116793152] *** WARNING => Could not start service 80 for protocol HTTP on host "oclwd1.ocluk.com"(on all adapters)

Above error says icmbnd, is not accessible, please check the permission in the kernel directory, as root please run /sapmnt/SID/exe/saproot.sh SID where SID is the webdispatcher SID.

      • ERROR => IcmConnClientRqCreate: No service for protocol HTTP started [icxxconn_mt. 2602] [Thr 1100085568] *** ERROR => IcmConnClientRqCreate() failed (rc=-1) [icrxx_mt.c 5808] [Thr 1100085568] *** ERROR => Could not connect to SAP Message Server at oclbw7.ocluk.com. URL=/msgserver/text/logon?versio n=1.2 [icrxx_mt.c 3126] [Thr 1100085568] *** ERROR => rc=-1, HTTP response code: 0 [icrxx_mt.c 3127] [Thr 1100085568] *** ERROR => see also SAP note 552286

Above error shows the webdispatcher is not able to connect SAP backend message server, please check the you have used proper message server http port of the SAP backend system, and you are able to connect to the message server with the following command:(to rule out the firewall issue): telnet sapbackedhost msserverhttpport. msserverhttpport can be found in dev_ms file in the work directory of backend SAP host. Also i see errors related to SSL, looks like you have enabled ssl parameter in your webdispatcher instance profile, please remove those if you are https url is no the requirement.. Also you should have activated sicf services as per the oss note: Note 552286 - Troubleshooting for the SAP Web Dispatcher. This note detailed information to make your webdispatcher to work.

you need only following in the profiles, for webd to work: with http protocol URL: SAPSYSTEMNAME = SID SAPSYSTEM = NUMBER(xx) INSTANCE_NAME = Wxx DIR_CT_RUN = $(DIR_EXE_ROOT)/run DIR_EXECUTABLE = $(DIR_CT_RUN) #----

  1. Accesssability of Message Server


  1. Configuration for medium scenario
#----
  1. SAP Web Dispatcher Ports
rdisp/mshost = oclbw7.ocluk.com(backend sap host) ms/http_port = sapmshttpport #----
#----
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 #----
#----
icm/server_port_0 = PROT=HTTP,PORT=80,TIMEOUT=1800, PROCTIMEOUT=3600, HOST=oclwd1.ocluk.com, EXTBIND=1 icm/keep_alive_timeout = 1800

Regards

Prashanth

Edited by: Prashanth Bidare on Nov 16, 2009 10:33 PM

alen_mikulic
Participant
0 Kudos

Hi Chuckie,

Pls undertake the tasks the below.

1. maximum number of sockets supported on this host is 1019 to a value higher than the default.

  • See Note 715400 which describes the kernel parameter settings.

2. The ssl has been enabled as per logs so I would first make it to work with http and then deal with https once it works with port 80.

3. Also check connection to the message server host names "oclwd1.ocluk.com" is possible through ping and telnet.

4. check these notes

  • RHEL4: Refer to Note 722273.

  • RHEL5: Refer to Note 1048303.

  • SLES9: Refer to Note 797084.

  • SLES10: Refer to Note 958253.

5. Further during the initial startup if you encounter problems run the below.

  • Shared memory segments still exist for a completed SAP Web AS instance or an SAP Web Dispatcher.

Solution: Remove the shared memory by using

"cleanipc <instance number> remove"

  • Incorrect value for the command line parameter -shm_attach_mode.

The value is made up of the following bits:

1: Delete the shared memories of the SAP Web Dispatcher (cleanup)

2: Try to connect to the shared memory (attach)

4: Create a new shared memory (create)

Cheers Sam

Former Member
0 Kudos

Hi Sam,

Please do NOT quote directly from a SAP Note as your own solution! If you are going to directly post the contents of a Note, also reference the Note -- in this case 552286.

Best Regards,

Matt

Former Member
0 Kudos

I will look at that asap but in the mean time here is the profile

As I said this is a prototype so isn't for productive use.

Also I have not configured SSL deliberatly as I will do after HTTP working.

As it works with ports 8xxx then I assume connectivity to back end system is ok

Lastly I think it may be key that this is a 710 WD.

...thanks

SAPSYSTEMNAME = WDB

SAPSYSTEM = 00

INSTANCE_NAME = W00

DIR_CT_RUN = $(DIR_EXE_ROOT)/$(OS_UNICODE)/linuxx86_64

DIR_EXECUTABLE = $(DIR_CT_RUN)

DIR_PROFILE = $(DIR_INSTALL)/profile

PF = $(DIRPROFILE)/WDB_W00_oclwd1

SETENV_00 = DIR_LIBRARY=$(DIR_LIBRARY)

SETENV_01 = LD_LIBRARY_PATH=$(DIR_LIBRARY):%(LD_LIBRARY_PATH)

SETENV_02 = SHLIB_PATH=$(DIR_LIBRARY):%(SHLIB_PATH)

SETENV_03 = LIBPATH=$(DIR_LIBRARY):%(LIBPATH)

#----


  1. Accesssability of Message Server

#----


#Old parameters

#rdisp/mshost = oclwd1

ms/https_port = 8003

#New parameters

rdisp/mshost = oclbw7.ocluk.com

ms/http_port = 8100

#----


  1. Configuration for medium scenario

#----


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

#----


  1. SAP Web Dispatcher Ports

#----


  1. >>>>>> don't use https as the crypto libraries are not installed

#

icm/server_port_0 = PROT=HTTPS,PORT=8100

icm/server_port_1 = PROT=HTTP,PORT=80,TIMEOUT=45,EXTBIND=1

#----


  1. Start webdispatcher

#----


WD = wd.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)

Execute_00 = local rm -f $(_WD)

Execute_01 = local ln -s -f $(DIR_EXECUTABLE)/sapwebdisp$(FT_EXE) $(_WD)

Start_Program_00 = local $(_WD) pf=$(_PF)

alen_mikulic
Participant
0 Kudos

Hi Matt,

Point taken.

Chuckie,

Pls try changing only the settings below from the and update.

icm/server_port_0 = PROT=HTTP,PORT=80,HOST=oclbw7.ocluk.com,EXTBIND=1

icm/server_port_1 = PROT=HTTP,PORT=50000,HOST=oclbw7.ocluk.com

icm/server_port_2 = PROT=HTTPS,PORT=8003,HOST=oclbw7.ocluk.com,EXTBIND=1

Cheers Sam

Answers (4)

Answers (4)

Former Member
0 Kudos

Thanks every for the great help.

former_member227283
Active Contributor
0 Kudos

Hi,

If your are not going to use HTTPS , then change the parameter as below

first of check what is you message server http port of portal system

Is the instance no :- 00 right of portal .

If yes , then

ms/http_port = 8100

is right

#-----------------------------------------------------------------------
# Accesssability of Message Server
#-----------------------------------------------------------------------
rdisp/mshost = oclbw7.ocluk.com
ms/http_port = 8100
#-----------------------------------------------------------------------
# SAP Web Dispatcher Ports
#-----------------------------------------------------------------------
icm/server_port_0 = PROT=HTTP,PORT=80,TIMEOUT=45,EXTBIND=1
#-----------------------------------------------------------------------

There should be file icmbnd in kernal directory.

*** ERROR => IcmBndVersionCheck: Could not access file /usr/sap/WDB/SYS/exe/nuc/linuxx86_64/icmbnd: No suc h file or directory [icxxextbnd_m 1310] [Thr 1116793152] *** ERROR => ExecIRunPrg: execve "/usr/sap/WDB/SYS/exe/nuc/linuxx86_64/icmbnd" failed (2: No such file or directory) [execuxi_mt.c 765] [Thr 1116793152] Mon Nov 16 19:19:52 2009 [Thr 1116793152]

make a copy of file icmbnd.new to icmbnd

change the chown and chmod of file icmbnd as suggested earlier

after making above all changes restart your webdispatcher , if still you are getting error then paste the log dev_icm and dev_webdisp in forum.

Thanks

Anil

Former Member
0 Kudos

Thanks to both of you for your suggestions i will get to try them later today.

In the mean time

1) I have seen the host= extension help on systems before where there were multiple systems on the same box, but thought I had tried here - but can't promise I did, so will do today.

2) As this is a 710 system I belive icmbnd.new is supposed to be there, also as ports above port 80 are working copying to icmbnd and chown/chmod seems like a get a round. I would in the first istance like to make it work without a get around, BUT if all else fails I am happy with a get around. I have a feeling that there is another executible directory somewhere that I seen during the install.

Regarding the question on checking if the ms/http+port was correct --- I believe so as it works fine if I use a port that isn't <2000 - i.e. I have tested with 8000 and ti works fine.

Will come back later today with the results of the tests.

Thanks

Former Member
0 Kudos

I found note 421359 which has this text in it

"The program icmbnd is delivered under icmbnd.new as of Release 7.10. This prevents an icmbnd program that belongs to the root user from being overwritten regularly by an icmbnd program without root authorizations when you apply patches. When you install the 7.10 Kernel for the first time, you must copy icmbnd.new to icmbnd once and, as described above, it must have the required (root) authorizations."

This was a suggestion made earlier but I thought was a work-a-round.

I will test this asap

former_member227283
Active Contributor
0 Kudos

Hi ,

Pls paste the contain of instance profile in forum.

Thanks

Anil

Former Member
0 Kudos

Hi Tony,

may be you want to check if this 80 port no in use!

Ideally there are no restriction to use port no and moreover there is no default port no also

You can check if port no 80 in use in windows environment using below command line netstat command

netstat -o -n -a | findstr 0.0:80

For more information, please refer to below SAP Link

http://help.sap.com/saphelp_nw70/helpdata/en/b2/032a3c2ffdc62fe10000000a114084/frameset.htm

Regards

Sekhar

Edited by: sekhar on Nov 15, 2009 4:23 PM

Former Member
0 Kudos

This is a linux system (rel 5)

I treied

netstat | grep 80

but couldn't find anything on that port.

I agree that it has to be in use.

Any other suggestions?

alen_mikulic
Participant
0 Kudos

Hi Chuckie,

Pls use the below minimum details for the web dispatcher to work.

http://help.sap.com/saphelp_nw70/helpdata/en/b2/032a3c2ffdc62fe10000000a114084/frameset.htm

If you can send the web dispatcher config file with actual names masked then it would be easier to assist.

Also let me know if this system is a virtual system/ if any other application has taken up that port.

Further kill off any existing webdispatcher commands which may have not been deleted or killed as this may still be in memory.

Cheers Sam

Former Member
0 Kudos

Hi Tony,

In linux port 80 is being used for different reason that's port 80 => HTTP (Web server)

so use below command to find all that ports that are currently in use

netstat -nap --tcp

allows you to look for all open ports

nmap fuser

so probably if you get any process that's using port no 80, please go ahead to kill that process and then use port 80 with your profile and see...if that helps.....

Ideally, I am giving above workaround to isolate the problem and for your understanding only.

Regards

Sekhar