﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
16897	InvalidPathException with invalid WMS GetCapabilities URL	Don-vip	team	"==== What steps will reproduce the problem?
1. Try to add new WMS with GetCapabilities URL: owsproxy.lgl-bw.de/owsproxy/ows/WMS_Maps4BW?SERVICE=WMS&REQUEST=GetCapabilities in order to fix #16895
2. Click get layers
3. 

==== What is the expected result?
- layers found or an error message about invalid URL

==== What happens instead?
- exception below

==== Please provide any additional information below. Attach a screenshot if possible.

Last log line before crash:
{{{
2018-10-26 21:53:49.586 FINE: Trying WMS getcapabilities with url owsproxy.lgl-bw.de/owsproxy/ows/WMS_Maps4BW?SERVICE=WMS&REQUEST=GetCapabilities
}}}

{{{
Build-Date:2018-10-26 21:33:37
Revision:14366
Is-Local-Build:true

Identification: JOSM/1.5 (14366 SVN en) Windows 10 64-Bit
OS Build number: Windows 10 Pro 1803 (17134)
Memory Usage: 673 MB / 3634 MB (222 MB allocated, but free)
Java version: 1.8.0_192-b12, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: \Display0 1920x1080, \Display1 1920x1080, \Display2 1280x1024
Maximum Screen Size: 1920x1080
VM arguments: [-ea, -Dfile.encoding=UTF-8]
Program arguments: [--trace]
Dataset consistency test: No problems found

Plugins:
+ apache-commons (34506)
+ apache-http (34632)
+ buildings_tools (34572)
+ cadastre-fr (34630)
+ contourmerge (v0.1.1)
+ ejml (34389)
+ geotools (34513)
+ jna (34633)
+ jts (34524)
+ pt_assistant (v2.1.5)
+ undelete (34568)
+ utilsplugin2 (34506)
+ wikipedia (v1.1.1)

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1

Validator rules:
+ C:\SVN\josm\core\data\validator\deprecated.mapcss

Last errors/warnings:
- W: java.io.IOException: The requested URL http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?VERSION=1.1.1&SERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.3.0 was not found
- W: java.io.IOException: The requested URL http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?VERSION=1.1.1&SERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.1.1 was not found
- W: java.io.IOException: The requested URL http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?VERSION=1.1.1&SERVICE=WMS&REQUEST=GetCapabilities was not found
- W: java.io.IOException: The requested URL http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?VERSION=1.1.1&SERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.3.0 was not found
- W: java.io.IOException: The requested URL http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?VERSION=1.1.1&SERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.1.1 was not found
- W: java.io.IOException: The requested URL http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?VERSION=1.1.1&SERVICE=WMS&REQUEST=GetCapabilitiesSERVICE=WMS&REQUEST=GetCapabilities was not found
- W: java.io.IOException: The requested URL http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?VERSION=1.1.1&SERVICE=WMS&REQUEST=GetCapabilitiesSERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.3.0 was not found
- W: java.io.IOException: The requested URL http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?VERSION=1.1.1&SERVICE=WMS&REQUEST=GetCapabilitiesSERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.1.1 was not found
- E: java.io.IOException: The requested URL http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?VERSION=1.1.1&SERVICE=WMS&REQUEST=GetCapabilitiesSERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.1.1 was not found
- E: Handled by bug report queue: java.nio.file.InvalidPathException: Illegal char <?> at index 43: owsproxy.lgl-bw.de\owsproxy\ows\WMS_Maps4BW?SERVICE=WMS&REQUEST=GetCapabilities


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (17) of main
java.nio.file.InvalidPathException: Illegal char <?> at index 43: owsproxy.lgl-bw.de\owsproxy\ows\WMS_Maps4BW?SERVICE=WMS&REQUEST=GetCapabilities
	at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
	at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
	at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
	at java.io.File.toPath(File.java:2234)
	at org.openstreetmap.josm.io.CachedFile.getInputStream(CachedFile.java:235)
	at org.openstreetmap.josm.io.imagery.WMSImagery.attemptGetCapabilities(WMSImagery.java:349)
	at org.openstreetmap.josm.io.imagery.WMSImagery.<init>(WMSImagery.java:162)
	at org.openstreetmap.josm.gui.preferences.imagery.AddWMSLayerPanel.lambda$0(AddWMSLayerPanel.java:85)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:459)
	at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:255)
	at org.openstreetmap.josm.gui.preferences.imagery.ImageryPreference$ImageryProvidersPanel$NewEntryAction.actionPerformed(ImageryPreference.java:538)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.preferences.PreferenceDialog.setVisible(PreferenceDialog.java:143)
	at org.openstreetmap.josm.actions.PreferencesAction.run(PreferencesAction.java:112)
	at org.openstreetmap.josm.actions.PreferencesAction.actionPerformed(PreferencesAction.java:101)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
}}}
"	defect	closed	normal	18.10	Core imagery		fixed	template_report wms capabilities url	
