Web dispatcher can't connect msserver
hi, experts,
Our web dispatcher B is in DMZ1, which faces internet directly, and I wanna its msserver is A which is in Core, which only in protection zone.
Now, DMZ1 has allowed Core with port 8111, but when start web dispatcher, it says error in dev_webdisp, following is details:
[Thr 1] Mon Sep 19 11:35:06 2011
[Thr 1] Profile configuration error detected, use temporary corrected setup
[Thr 1] Shared Pool 10: ipc/shm_psize_10 = 19880000 (too small)
[Thr 1] Shared Pool 10: (smaller than min requirement 150848560)
[Thr 1] started security log to file dev_icm_sec
[Thr 1] SAP Web Dispatcher running on: dga114
[Thr 1] MtxInit: 30001 0 2
[Thr 1] IcmInit: listening to admin port: 65000
[Thr 1] WLM Tag 'CWI/ICM' successfully set for this process
[Thr 1] IcrCoreInitSessionTable: Session table initialized
[Thr 515] *** WARNING => HttpPlugInInit: Parameter icm/HTTPS/trust_client_with_issuer or icm/HTTPS/trust_client_with_subject not set
=> do not trust any intermediary
X.509 cert data will be removed from header [http_plgrt_m 730]
[Thr 515] HttpExtractArchive: files from archive /usr/sap/CWI/SYS/exe/run/wdispadmin.SAR in directory /usr/sap/CWI/W05/data/icmanroo
t are up to date
[Thr 515] HttpSubHandlerAdd: Added handler HttpAdminHandler(slot=0, flags=4101) for /sap/admin:0
[Thr 515] CsiInit(): Initializing the Content Scan Interface
[Thr 515] IBM RS/6000 with AIX (mt,unicode,SAP_CHAR/size_t/void* = 16/64/64)
[Thr 515] CsiInit(): CSA_LIB = "/usr/sap/CWI/SYS/exe/run/libsapcsa.o"
[Thr 515] HttpSubHandlerAdd: Added handler HttpAuthHandler(slot=1, flags=12293) for /:0
[Thr 515] HttpSubHandlerAdd: Added handler HttpWebDispHandler(slot=2, flags=28677) for /:0
[Thr 515] Started service 8005 for protocol HTTP on host "dga114"(on all adapters) (processing timeout=60, keep_alive_timeout=30)
[Thr 1] IcmCreateWorkerThreads: created worker thread 0
[Thr 1] IcmCreateWorkerThreads: created worker thread 1
[Thr 1] IcmCreateWorkerThreads: created worker thread 2
[Thr 1] IcmCreateWorkerThreads: created worker thread 3
[Thr 1] IcmCreateWorkerThreads: created worker thread 4
[Thr 1] IcmCreateWorkerThreads: created worker thread 5
[Thr 1] IcmCreateWorkerThreads: created worker thread 6
[Thr 1] IcmCreateWorkerThreads: created worker thread 7
[Thr 1] IcmCreateWorkerThreads: created worker thread 8
[Thr 1] IcmCreateWorkerThreads: created worker thread 9
[Thr 3343] IcmWatchDogThread: watchdog started
[Thr 773] *** ERROR => NiPConnect2: SiPeekPendConn failed for hdl 4 / sock 12
(SI_ECONN_REFUSE/79; I4; ST; 10.180.225.107:8111) [nixxi.cpp 2845]
[Thr 773] *** ERROR => Connection request from (-1/65535/0) to host: dga107, service: 8111 failed (NIECONN_REFUSED) [icxx
conn_mt.c 2759]
[Thr 773] *** ERROR => IcmConnClientRqCreate() failed (rc=-8) [icrxx_mt.c 5284]
[Thr 773] *** ERROR => Could not connect to SAP Message Server at dga107. URL=/msgserver/text/logon?version=1.2 [icrxx_mt.c 2634]
[Thr 773] *** ERROR => rc=-1, HTTP response code: 0 [icrxx_mt.c 2635]
[Thr 773] *** ERROR => see also OSS note 552286 [icrxx_mt.c 2636]
Do you have any suggestion to solve such problem?
and in DMZ1, may I telnet Core 8111?
Thanks a lot!
BestRegards,
Lily
hi,Srihari,
We check the connection what you mentioned.DMZ1 is OK for Core and Port 8111.We open 8111 in Core as telnet port too. I try to use such command:
dga114:cwiadm 9> sapwebdisp -bootstrap
SAP Web Dispatcher Bootstrap
============================
This bootstrap will perform the following steps:
1. create profile file "sapwebdisp.pfl"for SAP Web Dispatcher (if not already existing)
2. create user for web based administration in file "icmauth.txt"(if not already exisiting)
3. start SAP Web Dispatcher with the created profile
After the bootstrap you can use the web based administration
Generating Profile "sapwebdisp.pfl"
Hostname of Message Server (rdisp/mshost): dga107
HTTP Port of Message Server (ms/http_port): 8111
Checking connection to message server...
ERROR: Illegal data received (no HTTP?) -
please check that 8111 is really the HTTP port of the Message Server
and I think the parameter doesn't matter about this problem, does it?
Thanks for your reply.
Best Regards,
Lily
Similar Messages
-
Web Dispatcher does not connect to J2EE..
Hi,
The web dispatcher is not connecting to the J2EE anymore. This was working fine until i installed the SSL certificate on the J2EE engine. The dev_webdisp log file shows messages as below
[Thr 4880] Tue Aug 28 14:56:48 2007
[Thr 4880] *** ERROR => NiBufIConnect: non-buffered connect pending after 5000ms (hdl 8;205.178.189.131:56000) [nibuf.cpp 4603]
[Thr 4880] *** ERROR => Connection request to host: cpcep2.pnrw.org, service: 56000 failed (NIECONN_REFUSED) [icxxpool.c 1948]
i am able to telnet from the webdispatcher to the portal on port 56000.
Portal is on EP7 SP12
any idea why this might have occured ? and how to get the connection back ?
Thanks in advance!!Check out the following links...it deals with setting up Web Dispathcer with SSL
http://help.sap.com/saphelp_nw70/helpdata/en/d8/a922d7f45f11d5996e00508b5d5211/frameset.htm
This link points to the SSL Paramters to be configured in the profile file.
http://help.sap.com/saphelp_nw70/helpdata/en/d8/a922d7f45f11d5996e00508b5d5211/frameset.htm
-Abhishek -
Java 7 Update 25 Client App Downloaded From Web Start Can't Connect Out
Since Java 7 update 25, I have an issue where my client Java application, downloaded with Java Web Start, can no longer connect to a remote server. (The client uses remote EJB to connect various servers). The issue I believe is that the client application is being blocked by security features of this Java update.
A very quick (random?) fix around the problem is to show the Java console. If the Java console is enabled to be shown, the client application can connect fine.
Although showing the Java console is a quick fix, it's not one we particularly want to keep asking customers to do. I understand we may need to define the Codebase and Permissions in the manifest file as described here: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/no_redeploy.html..
I have defined the Codebase and Permissions in the manifest of the client jar's we build ourselves. I believe this has worked as we no longer see "Missing Codebase manifest attribute for...." in the console for our own jar's. However, the application still cannot connect out. I'm stumbling around somewhat on this issue and trying various things in an attempt to get this to work. Assuming i'm on the right lines and the problem is some jars missing the Codebase and Permissions in their manifests, my question is, should I and how can I modify the manifest of 3rd party jars to include this information? For example, the client app requires many JBoss and EJB client jars - do I need to somehow modify the manifest of all of these jars to include the codebase and permissions?
It goes without saying that all the jars are signed - the application would not start at all if there was a problem here. So the application starts with it's login box - but it simply cannot connect out to the servers.
If anybody can offer any help on this issue i'd be most grateful. As a quick fix, is there a way to get this to work via adjusting Control Panel settings (other than showing the console)? I have played with a lot but not stumbled on a way to get this to work other than showing the console, although ideally i'd like to be able to get this to work without having to do any tweaks to clients Java control panel.We're also seeing this. The 7u25 update completely derailed a trial program we were conducting, because no one could log in to our application via WebStart once they upgraded Java.
Our login code crashes because SwingUtilities.isEventDispatchThread() throws an NPE.
We tried theskad81's fix but it didn't work for us. We worked around the issue by hosting u21 on our site and pointing our WebStart page there instead of at Oracle's update site.
*** ORACLE: PLEASE FIX THIS ISSUE USING APPLE'S FIX (mentioned in an earlier post - see above) ***
Slightly edited stack trace:
javax.security.auth.login.LoginException: java.lang.NullPointerException
at sun.awt.SunToolkit.getSystemEventQueueImplPP(Unknown Source)
at sun.awt.SunToolkit.getSystemEventQueueImplPP(Unknown Source)
at sun.awt.SunToolkit.getSystemEventQueueImpl(Unknown Source)
at java.awt.Toolkit.getEventQueue(Unknown Source)
at java.awt.EventQueue.isDispatchThread(Unknown Source)
at javax.swing.SwingUtilities.isEventDispatchThread(Unknown Source)
at com.abc.ConsoleAuthUI.handle(ConsoleAuthUI.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at com.sun.proxy.$Proxy1.handle(Unknown Source)
at com.abc.ms.rmi.MsLogin$1.handle(MsLogin.java:100)
at javax.security.auth.login.LoginContext$SecureCallbackHandler$1.run(Unknown Source)
at javax.security.auth.login.LoginContext$SecureCallbackHandler$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext$SecureCallbackHandler.handle(Unknown Source)
at com.abc.ms.auth.abcLoginModule.login(abcLoginModule.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at javax.security.auth.login.LoginContext.invoke(Unknown Source)
at javax.security.auth.login.LoginContext.access$000(Unknown Source)
at javax.security.auth.login.LoginContext$4.run(Unknown Source)
at javax.security.auth.login.LoginContext$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(Unknown Source)
at javax.security.auth.login.LoginContext.login(Unknown Source)
at com.abc.ms.rmi.MsLogin.authenticate(MsLogin.java:111)
at com.abc.ms.rmi.MsLogin.login(MsLogin.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at javax.security.auth.login.LoginContext.invoke(Unknown Source)
at javax.security.auth.login.LoginContext.access$000(Unknown Source)
at javax.security.auth.login.LoginContext$4.run(Unknown Source)
at javax.security.auth.login.LoginContext$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(Unknown Source)
at javax.security.auth.login.LoginContext.login(Unknown Source)
at com.abc.ms.rmi.MsLogin.authenticate(MsLogin.java:111)
at com.abc.ms.rmi.MsLogin.login(MsLogin.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at com.sun.proxy.$Proxy0.login(Unknown Source)
at com.abc.abc.ui.console.Main.attemptLogin(Main.java:488)
at com.abc.abc.ui.console.LoginDialog$7.run(LoginDialog.java:182)
at com.abc.util.GrayTimer$GrayTimerTaskWrapper.run(GrayTimer.java:84)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source) -
4150L - Works on web, but can not connect via VPN or Remote Desktop
Recently purchased a 4150L and installed the latest firmware. We have been able to access all public websites without any problems. But, when we try and access our customers computers via VPN (various types) or Remote Desktop, we can't connect. We can sign-in to VPN, but when we try and access the computer, it says "can't connect". Exact same message with Remote Desktop. We are able to connet when use a Verizon phone as a hotspot and from every other internet service that we have tried (i.e. hotels, starbucks, etc.) It appears it is an issue with the 4150L.
Verizon Tech Support has been no help!
All ideas are appreciated!
Thanks,
SkipSkip,
VPN traffic should be allowed through on the MiFi 4510L by default. I know I do not have any issues with mine on either the Cisco IPSec or Cisco SSL VPN Clients.
If Verizon DNS is interferring then perhaps you could try to connect to your VPN via a direct IP Address instead of a URL. Not sure what VPN client you have but there should be a No DNS option to connect if you know the correct IP. You could also try switching your DNS to one of the free ones such as the one offered by Google or any of the others.
VPN's carry alot of overhead on existing connections in my experience. Its not untypical to have a 3G connection cut in half when a VPN is applied. Try running a speed test to make sure your connection is atleast 1 MB on download before initiating a connection. If the performance of the MiFi is too poor in that area it may never be stable enough to support a connection. Feel free to post some Speedtest.net averages so we can see what you are working with.
Something to note about the MiFi 4510L is that it is on the SIM card network. That means that NAT is always going to be an issue and block your users from providing a truely public IP Address. Directly remoting to them through any means will be nearly impossible. -
Web Start - Can't Connect To App Modules
Has anyone had the problem of on being able to connect to their application modules deployed to Ora AS 10g when using web start? We can successfully use the tester on our local and deployed configurations for the app modules. We can also successfully run our JClient application locally and use our app modules deployed on the app server (and locally). We recently upgraded our containers from jdev 9.0.5.2 level to 10.1.2 level. Here is the stack trace I get:
JBO-30003: The application pool (net.nighthawk.talon.model.bc.portal.PortalModuleAS) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.ApplicationModuleCreateException, msg=JBO-25222: Unable to create application module.
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1743)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2576)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:406)
at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1370)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1328)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1300)
at net.nighthawk.talon.jclientview.login.utility.LoginUtils.CreatePortalAppModule(LoginUtils.java:308)
at net.nighthawk.talon.jclientview.login.utility.LoginUtils.LoadBackgroundImage(LoginUtils.java:222)
at net.nighthawk.talon.jclientview.TalonDashBoard.jbInit(TalonDashBoard.java:148)
at net.nighthawk.talon.jclientview.TalonDashBoard.<init>(TalonDashBoard.java:128)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.nighthawk.talon.jclientview.ObjectInstanceCreator.CreateObjectInstance(ObjectInstanceCreator.java:41)
at net.nighthawk.talon.jclientview.Talon.main(Talon.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
## Detail 0 ##
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.ApplicationModuleCreateException, msg=JBO-25222: Unable to create application module.
at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:532)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:1830)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1711)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2576)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:406)
at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1370)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1328)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1300)
at net.nighthawk.talon.jclientview.login.utility.LoginUtils.CreatePortalAppModule(LoginUtils.java:308)
at net.nighthawk.talon.jclientview.login.utility.LoginUtils.LoadBackgroundImage(LoginUtils.java:222)
at net.nighthawk.talon.jclientview.TalonDashBoard.jbInit(TalonDashBoard.java:148)
at net.nighthawk.talon.jclientview.TalonDashBoard.<init>(TalonDashBoard.java:128)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.nighthawk.talon.jclientview.ObjectInstanceCreator.CreateObjectInstance(ObjectInstanceCreator.java:41)
at net.nighthawk.talon.jclientview.Talon.main(Talon.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
## Detail 0 ##
oracle.jbo.ApplicationModuleCreateException: JBO-25222: Unable to create application module.
at oracle.jbo.client.remote.ejb.AbstractApplicationModuleHomeImpl.createRemoteEJBApplicationModuleProxy(AbstractApplicationModuleHomeImpl.java:75)
at oracle.jbo.client.ejb.ApplicationModuleHomeImpl.create(ApplicationModuleHomeImpl.java:63)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:140)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:81)
at oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:2184)
at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:523)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:1830)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1711)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2576)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:406)
at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1370)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1328)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1300)
at net.nighthawk.talon.jclientview.login.utility.LoginUtils.CreatePortalAppModule(LoginUtils.java:308)
at net.nighthawk.talon.jclientview.login.utility.LoginUtils.LoadBackgroundImage(LoginUtils.java:222)
at net.nighthawk.talon.jclientview.TalonDashBoard.jbInit(TalonDashBoard.java:148)
at net.nighthawk.talon.jclientview.TalonDashBoard.<init>(TalonDashBoard.java:128)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.nighthawk.talon.jclientview.ObjectInstanceCreator.CreateObjectInstance(ObjectInstanceCreator.java:41)
at net.nighthawk.talon.jclientview.Talon.main(Talon.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
## Detail 0 ##
java.lang.NullPointerException
at oracle.jbo.client.remote.ejb.ApplicationModuleProxy.createClientAdapter(ApplicationModuleProxy.java:181)
at oracle.jbo.client.remote.ejb.ApplicationModuleProxy.doCreate(ApplicationModuleProxy.java:135)
at oracle.jbo.client.remote.ejb.ApplicationModuleProxy.create(ApplicationModuleProxy.java:59)
at oracle.jbo.client.remote.ejb.AbstractApplicationModuleHomeImpl.createRemoteEJBApplicationModuleProxy(AbstractApplicationModuleHomeImpl.java:44)
at oracle.jbo.client.ejb.ApplicationModuleHomeImpl.create(ApplicationModuleHomeImpl.java:63)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:140)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:81)
at oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:2184)
at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:523)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:1830)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1711)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2576)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:406)
at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1370)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1328)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1300)
at net.nighthawk.talon.jclientview.login.utility.LoginUtils.CreatePortalAppModule(LoginUtils.java:308)
at net.nighthawk.talon.jclientview.login.utility.LoginUtils.LoadBackgroundImage(LoginUtils.java:222)
at net.nighthawk.talon.jclientview.TalonDashBoard.jbInit(TalonDashBoard.java:148)
at net.nighthawk.talon.jclientview.TalonDashBoard.<init>(TalonDashBoard.java:128)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.nighthawk.talon.jclientview.ObjectInstanceCreator.CreateObjectInstance(ObjectInstanceCreator.java:41)
at net.nighthawk.talon.jclientview.Talon.main(Talon.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)Hi,
Did you have a look at
http://www.oracle.com/technology/products/jdev/collateral/papers/10g/adfjclientbcwebstart.pdf
If you are deploying your BC modules as EJB then this document also contains information of how to test this deployment within the BC tester.
Frank -
Deactivate Portal server node from Web dispatcher, but still keep online
We want to deactivate a Portal server node from the Web dispatcher. We also need to connect directly to the specific node.
We configured the Server Node using Config Tool --> Server_ID####### --> Debug --> Debuggable --> Restricted Load Balancing. The node is not available to the Web dispatcher, However we are unable to explicitly connect to that node. We get the error message in the browser:
503 Service Unavailable
SAP WebAS engine is starting...
If this state does not change within a few minutes,
please contact your system administrator.
Check the recommendations in SAP Notes: 943498, 764417
Message: Dispatcher running but no server connected!
I have also read through the Web dispatcher online Help. They mention creating groups but they all seem to pertain to ABAP groups using SMLG. Our Web dispatcher is used in a strictly J2EE environment.
There must be a Profile setting or some config to restrict specified nodes... Let me know if you have found out?
Thank You,
Jon SellsHi PR,
Yes I understand that the Web Dispatchers Job ends at that point. That's why I want to stop the requests at the Web dispatcher by not allowing those nodes to be available.
Here is the situation. We have 3 Windows Servers with 10 Server Nodes spread accros them.
Host A - 2 Server Nodes, Central instance (Message Server) and SQL Server DB.
Host B - 4 Server Nodes.
Host C - 4 Server Nodes.
The Going Live Analysis suggested we move the DB off of the CI. We cannot do that at this time. What we can do is shut down the 2 nodes on Host A. Instead of shutting them down, we would rather remove them from the WD group. that way, our users never connect to the 2 nodes on the CI but Basis can still use them for Administration and those 2 nodes on the CI are never used for production purposes. Those nodes will just be used for monitoring and maintenance or even emergency purposes.
Right now our process to remove the 2 nodes from the Web dispatcher is to connect to the Admin page for Web Dispatcher --> Monitor Server Groups --> Right Click on the Host and select Deactivate. We have to do this whenever the Message Server is retarted. The million dollar question: How can that be set via a startup parameter?
Thanks
Jon Sells
Here is an example of how you can connect to a specific node:
https://<Host_name>.domain.local/b2b/b2b/init.do;sapj2ee_irj=7501753 -
SAP Web dispatcher not forwarding incoming HTTP portal sessions.
Hello,
We are using an EP6 Portal from which Abap Web dynpros are launched. The incoming http sessions were accessing our backend ECC6 SAP system through the sap server message . The http sessions were badly dispatched between the two abap servers. We have been advised by SAP to use the sap web dispatcher instead.
The sap web dispatcher has been correctly installed and configured (on the central abap instance ).
I have carefully read the SAP help section concerning the server selection using the sap web dispatcher :
http://help.sap.com/saphelp_nw04s/helpdata/en/5f/7a343cd46acc68e10000000a114084/frameset.htm
All our settings seem to be OK :
The incoming HTTP requests are forwarded to abap servers only.
*In transaction SICF, all the services under the tree
sap/public/icf_info have been assigned to the same logon group .
The capacity of the two servers included in the logon
group " is the same :
server40 LB=12
server60 LB=12
In the Web interface, capacity equal "1" for the two servers.
wdisp/load_balancing_strategy= weighted_round_robin
In the SAP web interface, the prefered server is ALWAYS the same :
Status of Server Group "LOADIS"
Loadbalancing Information
Number of Servers in this group 2
Last used Server
Preferred next Server server40_SPA_10
But it seems that the sap web dispatcher is not used at ALL.
The Load distribution is still based on the SMLG workload as it was the case, before, with the sap message server. The information displayed in the web interface (preferred server) is wrong.
The Preferred next Server is ALWAYS server40_SPA_10 (shown in the web interface), but, in fact, the http sessions are distributed between the two servers server60_SPA_00 and server40_SPA_10 depending on the server quality diplayed in transaction smlg. It was exactly the same behaviour we had before, only with the sap server message .
Any useful help would be highly appreciated.
Best Regards.Hi,
firstly, have you checked note 1094342? What variant do you want to use? Do you terminate a SSL connection on web dispatcher and create a new one between web dispatcher and application server? It looks like the web dispatcher can't verify SSL certificate used by application server. Maybe you've already tried this but you can try to turn off SSL between dispatcher and application server. If this setup works then problem is in SSL connection. You can check what host name is used in SSL certificate and what host name is used by dispatcher. You can use parameter wdisp/ssl_certhost which sets host name which will be used for certificate validation.
Cheers -
Client authentication in PI when SAP Web dispatcher terminates SSL
PI Security Experts,
Here is our design for Third-party Peoplesoft system initiating SOAP Call to PI Web Service created on our PI server.
1) Third-party Peoplesoft Application server initiates a SOAP call.
2) Third-party Network Gateway has a URL server certificate from our gateway and our gateway server has a root certificate from the CA used by third-party gateway. this will be used to establish the SSL tunnel between gateway.
3) SOAP request in our network will be routed through load balancer to SAP web dispatcher.
4) SAP web dispatcher terminates SSL connection
5) We will generate client cert for authentication and pass it onto third-party which they will load onto their PeopleSoft application server. SOAP call initiating from the PeopleSoft server will pass the client cert along with the message (My understanding is that the client cert will not be a part of SOAP message body. Ina other words we are not implementing message-level security. Is that true? How will the client cert be passed? How and where will a client attach the client cert with message?My understanding is that this is a network layer security and client certificate will be authenticated on PI J2ee server at SSL protocol level..Is my understanding correct?)
6) We will also load client certificate generated for client onto J2EE server using Visual Admin and map it to PI user for authentication.
7) SAP web dispatcher terminates SSL and passes the SOAP message to PI (J2EE) along with client cert in a http header variable.
There is some conflicting SAP documents. some say that client cert can't be used for PI authentication if Web Dispatcher terminates SSL connection (http://help.sap.com/saphelp_nw04s/helpdata/en/ea/301e3e6217b40be10000000a114084/frameset.htm). There is some other documents that say that authentication using client cert is possible by having J2EE trusting Web Dispatcher and by passing client cert from Web Dispatcher to J2EE in a httpheader variable (http://help.sap.com/saphelp_erp2005/helpdata/en/ea/301e3e6217b40be10000000a114084/content.htm).
Now if client cert authentication is possible even if Web dispatcher terminates SSL, what cert do we need on J2EE, a cert from Web dispatcher or a client cert that's coming in from the client appication (the one that we created and provided to our third-party)?
If we install a cert from web dispatcher on J2EE then do we need a client cert on Web dispatcher instead of on J2EE? If so how and where do we map client cert to PI User?
I will really appreciate any advise on whether we are going down the right path and any pointers to my questions.
Thanks,
SaurabhHi,
May be below links will be helpful
Check the following links.. you will get the information all about the securities...
http://help.sap.com/saphelp_nw04/helpdata/en/f7/c2953fc405330ee10000000a114084/content.htm
Also read thru this link for message level security - https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d024ca8e-e76e-2910-c183-8ea4ba681c51
Also find soeminformation in these links
http://help.sap.com/saphelp_nw2004s/helpdata/en/a8/882a40ce93185de10000000a1550b0/frameset.htm
/people/aparna.chaganti2/blog/2007/01/23/how-xml-encryption-can-be-done-using-web-services-security-in-sap-netweaver-xi
Step by step guide for SSL security
step by step guide to implement SSL
Please go through below link for referance (above information is from below link)
http://help.sap.com/saphelp_nw04/helpdata/en/14/ef2940cbf2195de10000000a1550b0/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/ff/7932e4e9c51c4fa596c69e21151c7d/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/13/4a3ad42ae78e4ca256861e078b4160/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/3a/7cddde33ff05cae10000000a128c20/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/0a/0a2e0fef6211d3a6510000e835363f/content.htm
General guide
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a09f3d8e-d478-2910-9eb8-caa6516dd7d9
Message level security
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d024ca8e-e76e-2910-c183-8ea4ba681c51
Regarding message level you can encrypt the message using certificates.
For both of this basis team has to deploy the releavant certificates in XI ABAP Stack or Java stack.
Generally if the scenarios are intra company we dont use any transport level or message level security since the network is already secured.
Thanks
Swarup -
Reverse Proxy in web dispatcher
Any statistic on which product is better / qualifies better to be used as a reverse proxy.. (& wherein generic (forward) proxy services can be disabled)
Web Dispatcher
Apache
Microsoft IIS
Any other product ?
Thanks,Thanks !!!
> URL filtering: the Web Dispatcher 7.2 supports more than one SAP backend, but you should take a look into the confguration page at SAP Help to find out if it matches your future scenario.
I am looking for WD based on 7.3 for both the roles (Reverse proxy and load balancing). But I'll check if there is anything for me to be concerned about...
> looking at your scenario, you'll have at least 1 reverse proxy in your DMZ and the Web Dispatcher will be an additional reverse proxy (for internal and/or external access).
>
> The Web Dispatcher will be connected to the message server of the portal, so when a server/node goes down, the web dispatcher will be notified. That's a vantage over another reverse proxy.
Yes, we have one server reserved for reverse proxy software and another for load balancing (WD).. These two roles need to be on separate servers as per logistics requirement... So, is this what you are talking about..
User <> WD as reverse proxy on server1 <> WD for load balancing server2 <--> EP Message Server. -
Install web dispatcher on two different domain
Hi Everybody,
I'm going to install web dispatcher on DMZ, that's not the same domain as Portal domain, but it cannot realize the host name that I insert for "rdisp/mshost"
I'm guessing the problem is becuase they are in different domains, Do you have any idea that what should I do?
By the way, My portal is in Microsoft cluster environment.
Thanks,
MaryamHi Maryam,
you have to ensure that from network side everything is configured correctly that the SAP Web Dispatcher can
communicate with the message server.
The hostname configured with rdisp/mshost must be reachable with a ping command from the host the Web Dispatcher is running on .
Kind Regards
Thomas Alt -
Apache Server Sizing and Web Dispatcher filtering
Hi,
We are planning to expose our intranet portal for internet user. An internet user would access it via browser (https) -> Apache - reverse proxy (outer DMZ) -> Web Dispatcher - Load Balancing (Inner DMZ) -> Portal.
We are looking for end-to-end SSL implementation.
My questions:
1] Do we need to have load balancing at apache server for performing reverse proxy? If yes, how it would be achieved?
2] What is the hardware sizing required for Apache server on Linux box?
3] Does the portal performance is affected by end-to-end SSL implementation?
4] In load balancing using Web Dispatcher, can we forward particular request to a specific application server? Like, filter out the internet requests or forward BI related requests to a specific application server node.
Regards,
ShamHi,
1) Depends on your requirement. When you have 1 Apache RP and 1 SAP Web Dispatcher, you won't need load balancing of at the Apache.
2) Depends on the number of concurrent requests you are expecting. More information on that can be found at apache.org
3) Portal performance gets affected when using SSL and the portal is responsible for the SSL (there are product out there that do the SSL handling). How much the SSL will affect your portal depends on the number of users. But generally the impact of SSL isn't really high with recent hardware, the portal will be more occupied with the number of users, navigation, etc than with SSL
4) You can use logon groups to assign a specific user (group) to a dedicated server
br,
Tobias -
A question about SAP Web Dispatcher
Following paragraph is copied from TADM10_2 book, Page 39 (Participant Handbok, 2005Q4, 50074912). My question is why there are two same items - ABAP-only scenario? I might be print issue.
The SAP Web Dispatcher can be used for load balancing in the following scenarios:
* Java-only scenario, as described here.
* ABAP-only scenario (see SAP customer training course ADM102, SAP Web AS Administration II)
* ABAP-only scenario (see SAP customer training course ADM102, SAP Web AS Administration II)
Please advise. Thanks so much.
JamesHI,
Yes, I think its a print mistake. It should be ABAP Only and Both ABAP and Java Instance.
Rgds
Radhakrishna D S -
Installing reverse proxy and web dispatcher
I have come across a requirement for configuration of Reverse proxy & web dispatcher... to be installed on separate servers.
Can you help me know if SAP Web Dispatcher can run as a standalone component or will I have to install NW and then, install the SAR file. If we need NW, should I go for AS ABAP / JAVA... I believe it would be ABAP as we are using SAR file and not an SCA. Although, I wonder if my Web Dispatcher needs a database as I dont see any functional use of the database ?
How about reverse proxy.. Would it be good to go with IIS or with Apache.. Any other alternatives that you know of ?
I have been using Windows 2008 server & DB2 UDB.
Thanks,Hi,
Please see the link below about the reverse proxy..
https://cw.sdn.sap.com/cw/docs/DOC-115672
For 'Dispatcher run as a standalone component' see the link below..
http://help.sap.com/saphelp_nwmobile71/helpdata/en/bc/0e774258449041e10000000a1550b0/content.htm
http://tleterme.developpez.com/bw/how/HowToWebDispatcher.pdf
Regards
Bhuban -
Remote Connection to SAP with SAP Web Dispatcher
Dear Experts,
i have installed a SAP Router + SAP ECC 6.0 IDES + SAP Portal 7.0 + SAP Solution Manager 7.0. The remote connection works.
SAP Router is in a DMZ
SAP ECC 6.0 IDES + SAP Portal 7.0 + SAP Solution Manager 7.0 are in another network only for SAP Systems
Fo security reason, i would like to install a SAP Webdispatcher with the SAP Router's Server.
I already:
have extracted the icmadmin.sar file
have executed the sapwebdisp -bootstrap command
have started the web dispatcher with sapwebdisp pf=sapwebdisp.pfl
have activated /sap/public/icman and /sap/public/icf_info/* services inthe SAP Solution Manager
As the saprouttab file for the saprouter, i would like to establish the connection to SAP withe the SAP WebDispatcher.
My questions are:
What are the parameters i have to put in the sapwebdisp.pfl file?
Do i have to create the PERMFILE and the AUTHFILE?
Any example of profil file? (another than the SAP Library example)
Thank you very much for your help in advance.
Best regards.
Pascal Tran.
PS: Here is the sapwebdisp.pfl file
Profile generated by sapwebdisp bootstrap
unique instance number
SAPSYSTEM = 50
add default directory settings
DIR_EXECUTABLE = .
DIR_INSTANCE = .
Accessibility of Message Servers
rdisp/mshost = <Solution_Manager_hostanme>
rdisp/msserv = sapms<Solution_Manager_SID>
ms/http_port = 81<Solution_Manager_Instance_Number>
SAP Web Dispatcher Parameter
wdisp/auto_refresh = 120
wdisp/max_servers = 100
wdisp/shm_attach_mode = 6
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=HTTP,PORT=8050
SAP Web Dispatcher Web Administration
icm/HTTP/admin_0 = PREFIX=/sap/wdisp/admin,DOCROOT=./admin,AUTHFILE=icmauth.txt
Hostname per default
icm/host_name_full = <SAP_Router_Hostname>Hello,
The two important paramters are covered in your profile.
Accessibility of Message Servers
rdisp/mshost = <Solution_Manager_hostanme>
rdisp/msserv = sapms<Solution_Manager_SID>
ms/http_port = 81<Solution_Manager_Instance_Number>
And the port on which your webdispatcher listens from outside world.
icm/server_port_0 = PROT=HTTP,PORT=8050
For additional security you can use the https port also.
I dont think you need to maintain any other file manually.
I had configured web dispatcher but for 640 stack. It should be more or less the same.
An example file sapwebdisp.pfl
Profile generated by sapwebdisp bootstrap
unique instance number
SAPSYSTEM = 1
Accessibility of Message Servers
rdisp/mshost = <hostname>
ms/http_port = 8101
ms/https_port = 8005
SAP Web Dispatcher Parameter
wdisp/auto_refresh = 120
wdisp/max_servers = 100
wdisp/shm_attach_mode = 6
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
wdisp/shm_attach_mode = 6
SAP Web Dispatcher Ports
icm/server_port_0 = PROT=HTTPS,PORT=1443
icm/server_port_1 = PROT=HTTP,PORT=1081
icm/HTTPS/verify_client = 0
SAP Web Dispatcher Web Administration
icm/HTTP/admin_0 = PREFIX=/sap/wdisp/admin,DOCROOT=./admin
DIR_INSTANCE = C:\Secudir
ssl/ssl_lib = C:\Secudir\sapcrypto.dll
ssl/server_pse= C:\Secudir\SAPSSLS.pse
wdisp/ssl_cred = SAPSSLS.pse -
Can't parse xml file in jar file when can't connect to web server
My JNLP application throw ConnectException when trying to parse xml during web server offline.
Steps,
1. JNLP application has been launched once and all related jar and xml files are already downloaded to local cache.
2. Then I close web server to test offline launch.I launch the JNLP application using shortcut with -offline parameter.
3. However the JRE internal xml parser tries to connect to web server and report connection error as web server is down now.
My concern is the file is already in the cache, why java still try to connect URL. This error happens in JRE 1.5, but it doesn't happen in JRE 1.6. It only happens when web server is down in JRE 1.5.
I think it may be a bug of JRE, do any one can give me some hint about how to resolve?
Thanks in advance!!
I also moved the code piece to a simple web start example, following it the error and code pieces.
Error Trace in Java console,
ava.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.getInputStream(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at EntXmlUtil.buildDocument(EntXmlUtil.java:57)
at Notepad.testParseXML(Notepad.java:870)
at Notepad.main(Notepad.java:153)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Notepad.java
public void testParseXML() {
URL xmlURL=Notepad.class.getClassLoader().getResource("xml/Login.xml");
try {
org.w3c.dom.Document doc = EntXmlUtil.buildDocument(xmlURL);
System.out.println("Test"+doc);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
EntXMLUtil.java
private static DocumentBuilderFactory dbf = null;
static {
dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(true);
dbf.setIgnoringComments(true);
dbf.setIgnoringElementContentWhitespace(true);
public static DocumentBuilderFactory getDocBuilderFactory() {
return EntXmlUtil.dbf;
public static Document buildDocument(URL url, String systemId) throws Exception {
DocumentBuilder db;
Document doc;
InputStream is;
String sysId = null;
if(systemId == null)
sysId = url.toExternalForm();
else
sysId = systemId;
db = EntXmlUtil.getDocBuilderFactory().newDocumentBuilder();
is = url.openStream();
doc = db.parse(is, sysId);
is.close();
return doc;
}I finally got a temperary work around for this issue, using JRE5 version lower than update 16(not include update 16).
i found Sun modify the URL which returned by XXX.class.getClassLoader().getResource("xml/Test.xml,") after update 15, previous it is related with the cache path, like C:\Users\epenwei\AppData\LocalLow\Sun\Java\Deployment\cache\javaws\http\Dlocalhost\P80\DMEntriView\DMapp\AMNotepad.jar!/xml/Test.xml, but after it changes to network path, like http://localhost/Notepad/app/notepad.jar!/xml/Test.xml. However, the latter address doesn't work in Sun's own class com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity if offline.It tried to create new URL then connect to web server. So exception is thrown since web server is down.
if (reader == null) {
stream = xmlInputSource.getByteStream();
if(stream != null && encoding != null)
declaredEncoding = true;
if (stream == null) {
URL location = new URL(expandedSystemId);
URLConnection connect = location.openConnection();
if (connect instanceof HttpURLConnection) {
setHttpProperties(connect,xmlInputSource);
I am not sure whether it is a Java new bug since I only read the codes and didn't debug Sun code. But I am very curious that I have already specify <j2se version="1.5.0_12" href="http://java.sun.com/products/autodl/j2se" /> to specify update 12 for my jws application. And I also see the Java console display like following
Java Web Start 1.5.0_18
Using JRE version 1.5.0_12 Java HotSpot(TM) Client VM
Why java still uses my latest jre lib to run my application?
Edited by: wei000 on May 22, 2009 5:32 AM
Maybe you are looking for
-
Lightroom / Camera Raw / Photoshop issues
I have a workflow problem that's driving me nuts, so I'm hoping someone can help. I organize my photos in Lightroom and do most of my editing in Photoshop CS6. The problem I'm having is that if I select a photo in LR, then work on it in Photoshop, I
-
Need an Exit to find ZIP code of Delivery address in PO.
Hi Experts, I am an abaper & i am tryin to connect Taxwar & SAP during the prcess of PO creation. Now my req is to find if the plant address & the Delivery address are different ( need to compare the ZIP codes). Can anyone sugget an exit where i can
-
Bluetooth speaker is no where near maximum volume, although iPod's is.
Bluetooth speaker is no where near maximum volume, although iPod's is.
-
Forecast consumption within Calender month
Hi, When the forecast is released from Demand Planning to Supply Planning (SNP) in weekly buckets there will be crossover of the forecast for the weeks that are in the Month end/Month Beginning, the week could fall into different months. Even though
-
How can I trouble shoot my iPads AirPlay?
i Tried to do AirPlay last night and failed. Two nights ago it worked. In between I downloaded the updated software. Is there a connection?