Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.6.0-beta3
-
Fix Version/s: None
-
Component/s: ArcSDE
-
Labels:None
-
Environment:Windows XP
Description
When I manually edit the catalog.xml and enter this info, e.g.,
<format namespace = "NDHUB" enabled = "true" id = "NDHUB_aerialphotos" >
<type>ArcSDE Raster</type>
<url>sde://bnutsch:password@myserver:5151/#NDHUB.AERIALPHOTOS_6INCH</url>
</format>
I get a crash. In the logs I see:
26 Oct 14:48:45 WARN [org.geotools.arcsde.gce] - connectiong via file-hack to ArcSDE Raster: sde:\bnutsch:pass@myserver:5151#NDHUB.AERIALPHOTOS_6INCH
26 Oct 14:48:45 WARN [org.geotools.arcsde.gce] - connectiong via file-hack to ArcSDE Raster: sde:\bnutsch:pass@myserver:5151#NDHUB.AERIALPHOTOS_6INCH
26 Oct 14:48:45 WARN [org.apache.struts.action.RequestProcessor] - Unhandled Exception thrown: class java.lang.IllegalArgumentException
26 Oct 14:48:45 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/geoserver].[action]] - Servlet.service() for servlet action threw exception
java.lang.IllegalArgumentException: ArcSDE Raster URL must be of the form sde://user:pass@sdehost:port/[dbname]#rasterTableName – Got sde:\bnutsch:pass@myserver:5151#NDHUB.AERIALPHOTOS_6INCH
From Saul:
The problem is that in order to allow arbitrary parameter passing
from the geoserver UI to the geotools backend (which takes an Object as
a coverageStore creation parameter) everything gets turned into a File.
So on unix, the following URL gets turned into a file with the following
path:
URL("sde://saul:saul@server/#blah") -> File -> String =
sde:/saul:saul@server/#blah
On windows, the same set of translations leads to
URL("sde://saul:saul@server/#blah") -> File -> String =
sde:\saul:saul@server#blah
I ran into this problem also. On windows:
sde://user:password@host:port/database#rastertable
gets turned into
sde:\user:password@host:port\database#rastertable
I worked up a patch to fix this which I will attach.
Thanks,
Jared Erickson