1

I have an ArcGIS Server acting as a WMS service for some data that I cannot serve any other way. The rest of our system uses either MapServer or MapCache (from the MS4W distribution) to serve our data via WMS and WFS.

This all works fine, but the system needs to be run as part of an experiment on a closed network. To reduce complexity for the experiment, I want to create a tile cache of the ArcGIS WMS service and only run MapServer and MapCache on that closed network.

I added sources to my MapCache file that point to the ArcGIS server's WMS layers, and I can use QGIS or our internal software to use the ArcGIS layers through MapCache no problem. I see the data in the software, and I can see the tiles as they are populated in the cache.

The problem comes when I try to run the seeder against the ArcGIS layers in the MapCache file. They all fail and the error message spits out HTML that looks like the internal web management console that comes with ArcGIS Server.

An example source from my MapCache file:

<source name="mcs_seabed" type="wms">
    <http>
        <url>http://myhost:6080/arcgis/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/WMSServer</url>
    </http>
    <getmap>
        <params>
            <FORMAT>image/png</FORMAT>
            <LAYERS>3</LAYERS>
        </params>
    </getmap>
</source>

If I just type the URL above into a browser I get back the GetCapabilities response.

The tile set looks like this:

<tileset name="SEABED">
     <source>mcs_seabed</source>
     <cache>disk</cache>
     <grid>GoogleMapsCompatible</grid>
</tileset>

I'm calling the seeder like this:

mapcache_seed.exe --config C:\ms4w\apps\mapcache\mapcache.xml --extent -20037508.3427892480,-20037508.3427892480,20037508.3427892480,20037508.3427892480 --grid GoogleMapsCompatible --nthreads 1 --tileset SEABED

I think there is a problem with how the seeder is assembling the WMS requests it uses since it works fine if I just point QGIS or our OpenLayers based client at the WMS service of MapCache.

Anything obvious I'm missing here?

4
  • 1
    glad to hear that MS4W is working well for you!!!! :) Thanks for using MS4W.
    – mapserving
    Commented Mar 15, 2022 at 21:14
  • Have you tried to seed with smaller extent? Or without extent, it seems to be optional? Pretty good help would be to capture a few incoming GetMap requests from the ArcGIS server side.
    – user30184
    Commented Mar 15, 2022 at 21:22
  • I'll try it without the extent... that's in the grid definition anyway: same behaviour with no extent in the command...
    – Almaniac
    Commented Mar 16, 2022 at 19:32
  • I reduced the extent to a very small patch of the Baltic Sea around Denmark and it's working. Interesting.... thanks for the suggestion! That suggests to me there may be a bug in the ArcGIS extension we're using.
    – Almaniac
    Commented Mar 16, 2022 at 19:41

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.