5.2 Setting up an ArcGIS Server WMS
Initial set up of WMS services is relatively straightforward with the ArcGIS Server Manager, usually located at an address like: http://[hostname]/ArcGIS/Manager/Default.aspx.
Once you have logged onto the manager, you should navigate to the ‘Services’ option in the left hand menu where you are given two options for creating your service. Here we will describe how to use the ‘Add New Service’ option, which allows you to change the ESRI server default values for the service properties, if required.
5.2.1 Add New Service
After selecting Add New Service You will get a window like below.
Give your new map service an appropriate name - this is used in the URL and the Service Title. You may optionally add any comment (in the description box) to help you distinguish the purpose of the service; this is for internal purposes only.
Click Next to take you to the Add New Service - Parameters section; now in the Map Document text box you need to put the full network path to (and including) your .mxd file; this can be on the web server or at any location accessible by the server. Accept all the default parameters.
We note that in theory it is possible to create a service from a map service definition (.msd) file, but in our general experience, due in one instance to complex server and network configurations and in another to complex symbology, this is not always true. We therefore recommend you use an .mxd file.
Click Next; you will then need to select "WMS" in the capabilities section. After you have made this selection you will be presented with a form to edit your service level metadata (as below) or you may opt to use external capabilities. We suggest at this stage that you should use the form to fill in as much detail as possible, though you should note that you will eventually need to use external files to enter any layer level metadata and add missing service level metadata parameters; we can use the data you enter initially as the basis for these external static files.
If you want to make your service INSPIRE compliant, you will need to configure the name of your layer's style (e.g. GE.GeologicUnit.Lithology). ArcGIS Server creates only one style named "default" for every layer, but allows you to do include additional styles for each layer using a SLD file.
You also need to tick the "Use layer names from the map document" option otherwise the layer names will be given numbers instead, (this functionality was introduced in version 10 of ArcGIS server software). You will need to ensure that the ArcMap layer names follow the naming guidelines.
Note, when you select the "Use layer names from the map document" option, the service will use the Data frame name as the root layer name. The individual service layer names will use the ArcMap layer names. The service will also use the ArcMap layer names for the respective layer titles and layer abstracts.
Eg. an unmodified GetCapabilities (version 1.3.0) response for the above example would look like:
<Layer> <Title><![CDATA[BGS_AGS_EN_BEDROCK_AND_STRUCTURAL_GEOLOGY]]></Title> <CRS>CRS:84</CRS> <CRS>EPSG:4326</CRS> ... <Layer queryable="1"> <Name>AFG_AGS_1M_BLS</Name> <Title><![CDATA[AFG_AGS_1M_BLS]]></Title> <Abstract><![CDATA[AFG_AGS_1M_BLS]]></Abstract> <CRS>CRS:84</CRS> <CRS>EPSG:4326</CRS> ... <Style> <Name>default</Name> <Title>AFG_AGS_1M_BLS</Title> <LegendURL width="68" height="2048"> <Format>image/png</Format> <OnlineResource xlink:href="..." xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" /> </LegendURL> </Style> <MaxScaleDenominator>9449404.761905</MaxScaleDenominator> <MinScaleDenominator>9449.404762</MinScaleDenominator> </Layer> <Layer queryable="1"> <Name>AFG_AGS_1M_BA</Name> <Title><![CDATA[AFG_AGS_1M_BA]]></Title> <Abstract><![CDATA[AFG_AGS_1M_BA]]></Abstract> ...
The manager will now enable your service and use your form entries and .mxd layer information to create the capabilities response documents on request.
Your new service will have a URL like:
http://[hostname]/ArcGIS/services/[map service title]/MapServer/WMSServer
In some situations it is desirable to create a group layer, for example you may want to do this to comply with INSPIRE layer naming regulations to create a layer called GE.GeologicUnit to group all of your layers that are spatial objects of type GeologicUnit.
To add group layers to a new service simply add a group layer to the map document that will create your service, rename it and place your layers inside. The WMS service published form this map document will keep the same group layer structure.
If you want add group layers to an existing service, open the map document that created the service, modify it as described above and publish it again as a WMS service; however, when publishing the service, make sure that you select the option "Overwrite an existing service". This will save you having to delete the original service as well as having to type again all service properties.
Note that ArcGIS Server will generate only the <Title> tag of group layers in the GetCapabilities document. The content of this tag will be the same that you wrote in the map document. In order to comply with INSPIRE layer naming regulations for group layers, you will need to manually add the <Name> tag, filling it in with the adequate group layer name, by editing the GetCapabilities document using an external capabilities file.
Group layers created in ArcGIS Server will not have a style associated to them and the group layer itself will not display a map.
Section last modified: 19 February 2016