HTTP Plugin on client doensnt work after client (PC) restart

Hello,

I have an issue with the client HTTP plugin.

When a client downloads a solution for the first time.

The statement in this method returns true.

globals.GT_Printer_Report_Info = plugins.http.getPageData('http://' + name + '/port_0/printer/menuspg')
if (globals.GT_Printer_Report_Info)
	{
		var temp = globals.GT_Printer_Report_Info
		var GI_Page_Count_Location = utils.stringPosition(globals.GT_Printer_Report_Info, 'Page Count', 1, 1) + 19
		
		var i = 0
		while (utils.stringMiddle(globals.GT_Printer_Report_Info, GI_Page_Count_Location + i + 1, 1) != "I")
			{
				var GI_Counter = utils.stringMiddle(globals.GT_Printer_Report_Info, GI_Page_Count_Location, i + 1)
				i = i + 1
			}
		
		counter = GI_Counter
		counterdate = new Date()
		controller.relookup()
	}
else
	{
		application.showURL('http://' + name + '/port_0/printer/menuspg')
	}

After a restart of the client or pc the statement returns false. (“globals.GT_Printer_Report_Info” is empty). On the developer everything works fine.

While the HTTP page opens so the destination is active

When I delete the solution on the client and download it again the method works again but after a restart …

Could you enable the logging in a webstart client and check that log? (we have no idea what the problem could be)

Working log

Java Web Start 1.4.2_04 Console, started Thu Dec 09 13:12:37 CET 2004
Java 2 Runtime Environment: Version 1.4.2_04 by Sun Microsystems Inc.
Logging to file: D:\Documents and Settings\nlrvdv\.servoy\Java WebClientLog.log
Starting Servoy from D:\Documents and Settings\nlrvdv\Desktop
Servoy R2 2.1.2 build-315 on Windows 2000 using Java 1.4.2_04
getWebStartURL http://195.75.197.210:8080/
Destination adress set: 195.75.197.210  on port: 1099
getWebStartURL http://195.75.197.210:8080/
getWebStartURL http://195.75.197.210:8080/
Leave createUserClient registered:true in 1092 ms

Not working Log after PC restart

Java Web Start 1.4.2_04 Console, started Thu Dec 09 13:17:45 CET 2004
Java 2 Runtime Environment: Version 1.4.2_04 by Sun Microsystems Inc.
Logging to file: D:\Documents and Settings\nlrvdv\.servoy\Java WebClientLog.log
Starting Servoy from D:\Documents and Settings\nlrvdv
Servoy R2 2.1.2 build-315 on Windows 2000 using Java 1.4.2_04
getWebStartURL http://195.75.197.210:8080/
Destination adress set: 195.75.197.210  on port: 1099
getWebStartURL http://195.75.197.210:8080/
getWebStartURL http://195.75.197.210:8080/
Leave createUserClient registered:true in 1302 ms
Java Web Start 1.4.2_04 Console, started Thu Dec 09 13:23:58 CET 2004
Java 2 Runtime Environment: Version 1.4.2_04 by Sun Microsystems Inc.
Logging to file: D:\Documents and Settings\nlrvdv\.servoy\Java WebClientLog.log
Error in http.nonProxyHosts system property:  sun.misc.REException: 192.168.* is a duplicate
Starting Servoy from D:\Documents and Settings\nlrvdv
Servoy R2 2.1.2 build-315 on Windows 2000 using Java 1.4.2_04
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy.properties
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy.properties
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at com.servoy.j2db.util.Settings.load(Unknown Source)
	at com.servoy.j2db.J2DBClient.main(Unknown Source)
	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)
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy_messages?lastmodified=-1&language=en
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URLConnection.getContent(Unknown Source)
	at java.net.URL.getContent(Unknown Source)
	at com.servoy.j2db.Messages.a(Unknown Source)
	at com.servoy.j2db.Messages.refresh(Unknown Source)
	at com.servoy.j2db.J2DBClient.aJ(Unknown Source)
	at com.servoy.j2db.J2DBClient.aQ(Unknown Source)
	at com.servoy.j2db.J2DBClient.main(Unknown Source)
	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)
getWebStartURL http://195.75.197.210:8080/
Destination adress set: 195.75.197.210  on port: 1099
getWebStartURL http://195.75.197.210:8080/
getWebStartURL http://195.75.197.210:8080/
Leave createUserClient registered:true in 2844 ms
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy_messages?lastmodified=-1&language=en&solution=Helpdesk
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URLConnection.getContent(Unknown Source)
	at java.net.URL.getContent(Unknown Source)
	at com.servoy.j2db.Messages.a(Unknown Source)
	at com.servoy.j2db.Messages.setSolution(Unknown Source)
	at com.servoy.j2db.J2DBClient.if(Unknown Source)
	at com.servoy.j2db.J2DBClient.loadSolution(Unknown Source)
	at com.servoy.j2db.J2DBClient$10.run(Unknown Source)
	at com.servoy.j2db.util.aq.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.io.FileNotFoundException: http://NLDOPEY/port_0/printer/menuspg
java.io.FileNotFoundException: http://NLDOPEY/port_0/printer/menuspg
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at com.servoy.r2.plugins.http.HttpProvider.js_getPageData(HttpProvider.java:31)
	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 org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:289)
	at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1242)
	at org.mozilla.javascript.gen.c19.call(Add_Counter_Info_Hardware:2)
	at com.servoy.j2db.scripting.f.executeFunction(Unknown Source)
	at com.servoy.j2db.FormPanel.a(Unknown Source)
	at com.servoy.j2db.FormPanel.a(Unknown Source)
	at com.servoy.j2db.FormPanel$b.actionPerformed(Unknown Source)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

When the method doesn`t get a value "plugins.http.getPageData(‘http://’ + name + ‘/port_0/printer/menuspg’) "
The page opens with "application.showURL(‘http://’ + name + ‘/port_0/printer/menuspg’) "
So the page is available.

To give you an Idea on what this method does.

Get the Counter information from the webpage of the printer.

Ps: this is reproduceable.

NotFoundException: http://NLDOPEY/port_0/printer/menuspg
It seems to me the name NLDOPEY does not always resolve to a IP address or the resource is not always present or availible.
Tip try with IP instead of name first!

Same result,

On first download everything goes wel after PC restart it doesn`t work anymore,

Java Web Start 1.4.2_04 Console, started Thu Dec 09 19:18:54 CET 2004
Java 2 Runtime Environment: Version 1.4.2_04 by Sun Microsystems Inc.
Logging to file: D:\Documents and Settings\nlrvdv\.servoy\Java WebClientLog.log
Error in http.nonProxyHosts system property:  sun.misc.REException: 192.168.* is a duplicate
Starting Servoy from D:\Documents and Settings\nlrvdv\Desktop
Servoy R2 2.1.2 build-315 on Windows 2000 using Java 1.4.2_04
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy.properties
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy.properties
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at com.servoy.j2db.util.Settings.load(Unknown Source)
	at com.servoy.j2db.J2DBClient.main(Unknown Source)
	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)
Fatal Exception
java.lang.NullPointerException
java.lang.NullPointerException
	at java.util.Hashtable.put(Unknown Source)
	at java.util.Properties.setProperty(Unknown Source)
	at com.servoy.j2db.util.Settings.setProperty(Unknown Source)
	at com.servoy.j2db.util.Settings.load(Unknown Source)
	at com.servoy.j2db.J2DBClient.main(Unknown Source)
	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)
Java Web Start 1.4.2_04 Console, started Thu Dec 09 19:19:38 CET 2004
Java 2 Runtime Environment: Version 1.4.2_04 by Sun Microsystems Inc.
Logging to file: D:\Documents and Settings\nlrvdv\.servoy\Java WebClientLog.log
Starting Servoy from D:\Documents and Settings\nlrvdv\Desktop
Servoy R2 2.1.2 build-315 on Windows 2000 using Java 1.4.2_04
getWebStartURL http://195.75.197.210:8080/
Destination adress set: 195.75.197.210  on port: 1099
getWebStartURL http://195.75.197.210:8080/
getWebStartURL http://195.75.197.210:8080/
Leave createUserClient registered:true in 1212 ms
Java Web Start 1.4.2_04 Console, started Thu Dec 09 19:21:40 CET 2004
Java 2 Runtime Environment: Version 1.4.2_04 by Sun Microsystems Inc.
Logging to file: D:\Documents and Settings\nlrvdv\.servoy\Java WebClientLog.log
Starting Servoy from D:\Documents and Settings\nlrvdv\Desktop
Servoy R2 2.1.2 build-315 on Windows 2000 using Java 1.4.2_04
getWebStartURL http://195.75.197.210:8080/
Destination adress set: 195.75.197.210  on port: 1099
getWebStartURL http://195.75.197.210:8080/
getWebStartURL http://195.75.197.210:8080/
Leave createUserClient registered:true in 1332 ms
Java Web Start 1.4.2_04 Console, started Thu Dec 09 19:26:19 CET 2004
Java 2 Runtime Environment: Version 1.4.2_04 by Sun Microsystems Inc.
Logging to file: D:\Documents and Settings\nlrvdv\.servoy\Java WebClientLog.log
Error in http.nonProxyHosts system property:  sun.misc.REException: 192.168.* is a duplicate
Starting Servoy from D:\Documents and Settings\nlrvdv\Desktop
Servoy R2 2.1.2 build-315 on Windows 2000 using Java 1.4.2_04
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy.properties
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy.properties
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at com.servoy.j2db.util.Settings.load(Unknown Source)
	at com.servoy.j2db.J2DBClient.main(Unknown Source)
	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)
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy_messages?lastmodified=-1&language=en
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URLConnection.getContent(Unknown Source)
	at java.net.URL.getContent(Unknown Source)
	at com.servoy.j2db.Messages.a(Unknown Source)
	at com.servoy.j2db.Messages.refresh(Unknown Source)
	at com.servoy.j2db.J2DBClient.aJ(Unknown Source)
	at com.servoy.j2db.J2DBClient.aQ(Unknown Source)
	at com.servoy.j2db.J2DBClient.main(Unknown Source)
	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)
getWebStartURL http://195.75.197.210:8080/
Destination adress set: 195.75.197.210  on port: 1099
getWebStartURL http://195.75.197.210:8080/
getWebStartURL http://195.75.197.210:8080/
Leave createUserClient registered:true in 2203 ms
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy_messages?lastmodified=-1&language=en&solution=Helpdesk
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URLConnection.getContent(Unknown Source)
	at java.net.URL.getContent(Unknown Source)
	at com.servoy.j2db.Messages.a(Unknown Source)
	at com.servoy.j2db.Messages.setSolution(Unknown Source)
	at com.servoy.j2db.J2DBClient.if(Unknown Source)
	at com.servoy.j2db.J2DBClient.loadSolution(Unknown Source)
	at com.servoy.j2db.J2DBClient$10.run(Unknown Source)
	at com.servoy.j2db.util.aq.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.196.194/port_0/printer/menuspg
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.196.194/port_0/printer/menuspg
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at com.servoy.r2.plugins.http.HttpProvider.js_getPageData(HttpProvider.java:31)
	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 org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:289)
	at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1242)
	at org.mozilla.javascript.gen.c19.call(Add_Counter_Info_Hardware:2)
	at com.servoy.j2db.scripting.f.executeFunction(Unknown Source)
	at com.servoy.j2db.FormPanel.a(Unknown Source)
	at com.servoy.j2db.FormPanel.a(Unknown Source)
	at com.servoy.j2db.FormPanel$b.actionPerformed(Unknown Source)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

The printer is on and idle and if it can`t get the page contents it opens the page correctly so it can connect to the destination.

For some reason Servoy is not allowed access to that url: as you can see the error code is 403 which means “Forbidden” (from google)
HTTP Error 403 Forbidden
Maybe it only works with browser using cookies or wants you to first visit the main entry page?

after rereading the log it seems very strange that the servoy client is also no acces is given to load the it own server properties!
java.io.IOException: Server returned HTTP response code: 403 for URL: http://195.75.197.210:8080/servoy.properties
I even think that a firewall or proxy is blocking connecions.

After consulting with our network controller it seems that the JRE doesn`t copy the exceptions of the proxy server as entered in the
Internet options\connections\Lan Settings\Proxy Server\Advanced\Exceptions field.

This means that the commands are not recognized as a internal request and are send to the proxy server.
When our legacy or classic proxy server recieves such a request it drops the request (internal requests are not send to the proxy (see exceptions in IE) so it defines this as a virus attack). When we enter the exeptions manually in the JRE everythig seems to work.

We consider this as a bug in JRE. After consulting them they say that there is no Service provided on free tools. :twisted:

Next week we are going to try integrating the exceptions in JRE with a startup script.

When Ill get more breaking news on this topic Ill share it with you.

Thanks for all the Help so far Jan.

Hello Jan,

The problem is solved with JDK 1.5 (Server) JRE 1.5 (client).

JRE copies all Proxy settings from browser now.

Does Servoy also support JDK 1.5?

Please respond because I want some users to test servoy and if functions are not supported they get a wrong impression of Servoy.

With kind regards Rene

Servoy runs fine on Java 1.5, it is on our todo to add java 1.5 to the supported java versions list

Then the issue is solved.

Thanks for the support.