服务接口配置了在服务接口层支持的按不同服务规范发布成的网络服务,比如 REST 服务、WMS 服务、WFS 服务、WMTS 服务、WCS 服务、WPS 服务、OGC API 服务以及用户自定义类型的服务等。可以通过修改服务配置文件中的服务接口配置文件 iserver-services-interfaces.xml(参见iServer 配置文件说明)来修改服务中使用的接口。服务接口的配置是在<interface>节点中进行的,不同类型的服务接口有不同的配置项。关于不同类型接口配置的详细参数介绍,请参考通过服务管理器配置服务接口。
<interface>的 name 属性标识了该服务接口,它是必选参数,通过它可以访问具体类型的服务,请参见服务的 URI 设置。
<interface>节点在配置文件中的结构如下所示:
<application> ... <interfaces> ... <interface> ... <interface/> </interfaces> </application>
不同服务接口的类型通过定义类来区别,配置信息通过配置类来定义,详见表1_服务接口的实现与配置。
基本类型 | 版本 | 服务接口实现类 | 服务接口配置类 |
REST REST/JSR ArcGIS REST1 Baidu REST1 Google REST1 OSMRestServlet1 TMSRestServlet1 |
-- | com.supermap.services.rest.RestServlet com.supermap.services.rest.JaxrsServletForJersey com.supermap.services.rest.AGSRestServlet com.supermap.services.rest.BaiduRestServlet com.supermap.services.rest.GoogleRestServlet com.supermap.services.rest.OSMRestServlet com.supermap.services.rest.TMSRestServlet |
com.supermap.services.rest.RestConfig com.supermap.services.rest.JaxrsConfigForJersey com.supermap.services.rest.AGSRestConfig |
WMS | 1.1.1 1.3.0 |
com.supermap.services.wms.WMSServlet | com.supermap.services.wms.WMSConfig |
WFS | 1.0.0 2.0.0 |
com.supermap.services.wfs.WFSServlet | com.supermap.services.wfs.WFSConfig |
WCS | 1.1.1 1.1.2 |
com.supermap.services.wcs.WCSServlet | com.supermap.services.wcs.WCSConfig |
WMTS | 1.0.0 | com.supermap.services.wmts.WMTSServlet | com.supermap.services.wmts.WMTSConfig |
WPS | 1.0.0 | com.supermap.services.wps.WPSServlet | com.supermap.services.wps.WPSConfig |
OGC API | 1.0 | com.supermap.services.ogcapi.OGCAPIServlet | com.supermap.services.ogcapi.OGCAPIConfig |
注1:iServer高级版,iEdge提供该接口。
SuperMap iServer 提供了基于 Restlet 和 Jersey 的两种 REST 接口,分别对应两个接口实现类 RestServlet 和 JaxrsServletForJersey。
配置一个基于 Restlet 的 REST 接口如下所示:
<interface class="com.supermap.services.rest.RestServlet" name="rest"> <config class="com.supermap.services.rest.RestConfig"> <accessControlAllowOrigin></accessControlAllowOrigin> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类 RestServlet ,<config>节点是该 REST 服务接口对应的配置项,即接口配置类RestConfig。主要参数说明:
配置一个基于 Jersey 的 REST 接口如下所示:
<interface class="com.supermap.services.rest.JaxrsServletForJersey" name="restjsr"> <config class="com.supermap.services.rest.JaxrsConfigForJersey"> <accessControlAllowOrigin></accessControlAllowOrigin> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类 JaxrsServletForJersey,<config>节点是该 REST 服务接口对应的配置项,即接口配置类JaxrsConfigForJersey。
配置一个 ArcGIS REST 接口如下所示:
<interface class="com.supermap.services.rest.AGSRestServlet" name="arcgisrest"> <config class="com.supermap.services.rest.AGSRestConfig"> <accessControlAllowOrigin></accessControlAllowOrigin"> <notUseTransparentTile>false</notUseTransparentTile"> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类 AGSRestServlet,<config>节点是 ArcGIS REST 服务接口对应的配置项,即接口配置类 AGSRestConfig。主要配置参数如下:
notUseTransparentTile:设置tile资源返回图片的背景是否透明。默认:false,即透明。
配置一个Baidu REST接口如下所示:
<interface class="com.supermap.services.rest.BaiduRestServlet" name="baidurest"> <config class="com.supermap.services.rest.RestConfig"> <accessControlAllowOrigin></accessControlAllowOrigin> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类BaiduRestServlet,<config>节点是 Baidu REST 服务接口对应的配置项,即接口配置类 RestConfig。
配置一个Google REST接口如下所示:
<interface class="com.supermap.services.rest.GoogleRestServlet" name="googlerest"> <config class="com.supermap.services.rest.RestConfig"> <accessControlAllowOrigin></accessControlAllowOrigin> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类GoogleRestServlet,<config>节点是 Google REST 服务接口对应的配置项,即接口配置类 RestConfig。
配置一个OSM REST接口如下所示:
<interface class="com.supermap.services.rest.OSMRestServlet" name="osmrest"> <config class="com.supermap.services.rest.RestConfig"> <accessControlAllowOrigin></accessControlAllowOrigin> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类OSMRestServlet,<config>节点是 OSM REST 服务接口对应的配置项,即接口配置类 RestConfig。
配置一个TMS REST接口如下所示:
<interface class="com.supermap.services.rest.TMSRestServlet" name="tmsrest"> <config class="com.supermap.services.rest.RestConfig"> <accessControlAllowOrigin></accessControlAllowOrigin> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类TMSRestServlet,<config>节点是 TMS REST 服务接口对应的配置项,即接口配置类 RestConfig。
注:在 iServer 中使用 ArcGIS、Baidu、Google、OSM、TMS REST 服务接口,需要 iServer 高级版,iEdge 可直接使用。
SuperMap iServer 提供支持 WMS 1.1.1、1.3.0 标准的服务。配置一个 WMS 1.1.1 接口如下所示:
<interface class="com.supermap.services.wms.WMSServlet" name="wms111">
<config class="com.supermap.services.wms.WMSConfig">
<serviceDescription>
<keywords/>
<contactInformation>
<person>联系人</person>
<organization>联系单位</organization>
<position>位置</position>
<addressType>地址类型</addressType>
<address>地址</address>
<city>城市</city>
<stateOrProvince>省或地区</stateOrProvince>
<postCode>省或地区</postCode>
<country>国家</country>
<voiceTelephone>联系电话</voiceTelephone>
<facsimileTelephone>传真</facsimileTelephone>
<electronicMailAddress>电子邮件地址</electronicMailAddress>
</contactInformation>
</serviceDescription>
<version>1.1.1</version>
<cacheEnabled>false</cacheEnabled>
<sld>
<pointStyles/>
<lineStyles/>
<polygonStyles>
<string>./WEB-INF/config/region.sld</string>
</polygonStyles>
<textStyles/>
</sld>
<useStandardBGColor>false</useStandardBGColor>
</config>
</interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类 WMSServlet,<config>节点是该 WMS 服务接口对应的配置项,即接口配置类WMSConfig。主要配置参数如下:
SuperMap iServer 提供支持 WFS 1.0.0、2.0.0 标准的服务。
配置一个 WFS 1.0.0 接口如下所示:
<interface name="wfs100" class="com.supermap.services.wfs.WFSServlet"> <config class="com.supermap.services.wfs.WFSConfig"> <version>1.0.0</version> <serviceDescription> <name>SuperMap Web Feature Service</name> <title>示例 WFS 服务</title> <serviceAbstract>SuperMap iServer 基于示范数据发布的 WFS 服务</serviceAbstract> <keywords> <string>iServer</string> <string>Sample Data</string> </keywords> <fees>none</fees> <accessConstraints>none</accessConstraints> </serviceDescription> </config> </interface>
配置一个 WFS 2.0.0 接口如下所示:
<interface name="wfs200" class="com.supermap.services.wfs.WFSServlet"> <config class="com.supermap.services.wfs.WFSConfig"> <version>2.0.0</version> <identification> <title>示例 WFS 服务</title> <description>SuperMap iServer 基于示范数据发布的 WFS 服务</description> <keywords> <string>iServer</string> <string>Sample Data</string> </keywords> <fees>none</fees> <accessConstraints>none</accessConstraints> <serviceType>OGC WFS</serviceType> <serviceTypeVersion>2.0.0</serviceTypeVersion> </identification> <provider> <providerName>北京超图软件股份有限公司</providerName> <providerSite>https://www.supermap.com.cn</providerSite> <serviceContact> <individualName>联系人姓名</individualName> <positionName>联系人职位</positionName> <phoneNumber>+86-10-59896655</phoneNumber> <faxNumber>+86-10-59896666</faxNumber> <deliveryPoint>北京市朝阳区酒仙桥北路甲10号院电子城IT产业园107号楼6层北京超图软件股份有限公司</deliveryPoint> <addressCity>北京</addressCity> <addressAdministrativeArea>北京</addressAdministrativeArea> <addressPostalCode>100015</addressPostalCode> <addressCountry>中国</addressCountry> <addressElectronicMailAddress>support@supermap.com</addressElectronicMailAddress> </serviceContact> </provider> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类 WFSServlet,<config>节点是该 WFS 服务接口对应的配置项,即接口配置类WFSConfig。
SuperMap iServer 提供支持 WMTS 1.0.0 标准的服务,同时提供了一个兼容《地理信息公共服务平台 电子地图数据规范》中地图分级标准的“wmts-china”接口实例,可用于对接天地图等国内地图服务,还提供了兼容 ArcGIS 产品发布的 WMTS 服务的“wmts-arcgis”接口实例,用于提供屏蔽个性化差异后能够兼容 ArcGIS 产品发布的 WMTS 服务的瓦片地图服务。
配置一个 WMTS 1.0.0 接口如下所示:
<interface class="com.supermap.services.wmts.WMTSServlet" name="wmts100"> <config class="com.supermap.services.wmts.WMTSConfig"> <customEntireBounds>37401549.97829401,4106688.3416817067,37512864.43126909,4189138.542744882</customEntireBounds> <epsgsBoundingBoxReversed>4490,4525</epsgsBoundingBoxReversed> <disableTileMatrixSetLimits>GoogleMapsCompatible,GlobalCRS84Scale</disableTileMatrixSetLimits> <identification> <title>示例 WMTS 服务</title> <description>SuperMap iServer 6R 基于示范数据发布的 WMTS 服务</description> <keywords> <string>iServer 6R</string> <string>Sample Data</string> </keywords> <fees>none</fees> <accessConstraints>none</accessConstraints> <serviceType>OGC WMTS</serviceType> <serviceTypeVersion>1.0.0</serviceTypeVersion> </identification> <provider> <providerName>北京超图软件股份有限公司</providerName> <providerSite>https://www.supermap.com.cn</providerSite> <serviceContact> <individualName>联系人姓名</individualName> <positionName>联系人职位</positionName> <phoneNumber>+86-10-59896655</phoneNumber> <faxNumber>+86-10-59896666</faxNumber> <deliveryPoint>北京市朝阳区酒仙桥北路甲10号院电子城 IT 产业园107号楼6层北京超图软件股份有限公司</deliveryPoint> <addressCity>北京</addressCity> <addressAdministrativeArea>北京</addressAdministrativeArea> <addressPostalCode>100015</addressPostalCode> <addressCountry>中国</addressCountry> <addressElectronicMailAddress>support@supermap.com</addressElectronicMailAddress> </serviceContact> </provider> <tileMatrixSets> <com.supermap.services.wmts.TileMatrixSet> <wellKnownScaleSet>Custom</wellKnownScaleSet> <scales/> <dpi>90.7142857142857</dpi> <tileWidth>256</tileWidth> <tileHeight>256</tileHeight> </com.supermap.services.wmts.TileMatrixSet> <com.supermap.services.wmts.TileMatrixSet> <wellKnownScaleSet>GlobalCRS84Scale</wellKnownScaleSet> </com.supermap.services.wmts.TileMatrixSet> <com.supermap.services.wmts.TileMatrixSet> <wellKnownScaleSet>GoogleMapsCompatible</wellKnownScaleSet> </com.supermap.services.wmts.TileMatrixSet> </tileMatrixSets> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类 WMTSServlet,<config>节点是该 WMTS 服务接口对应的配置项,即接口配置类WMTSConfig。主要配置参数如下:
“wmts-china”接口配置信息如下所示:
<interface class="com.supermap.services.wmts.WMTSServlet" name="wmts-china"> <config class="com.supermap.services.wmts.WMTSConfig"> <identification/> <provider/> <tileMatrixSets> <com.supermap.services.wmts.TileMatrixSet> <wellKnownScaleSet>ChinaPublicServices</wellKnownScaleSet> </com.supermap.services.wmts.TileMatrixSet> </tileMatrixSets> </config> </interface>
其中,<wellKnownScaleSet>参数指定了使用符合《地理信息公共服务平台 电子地图数据规范》中地图分级标准的“ChinaPublicServices”比例尺集。
“wmts-arcgis”接口配置信息与“wmts-100”一致,只是对于 epsgsBoundingBoxReversed、disableTileMatrixSetLimits 两个参数提供了默认值,分别为 28410,20010,2435,4525,2390,4491 和 GoogleMapsCompatible,GlobalCRS84Scale。用户仍可按需对其修改。
SuperMap iServer 提供支持 WCS 1.1.1、1.1.2 标准的服务。配置一个 WCS 1.1.1接口如下所示:
<interface class="com.supermap.services.wcs.WCSServlet" name="wcs111"> <config class="com.supermap.services.wcs.WCSConfig"> <version>1.1.1</version> <identification> <title>示例 WCS 服务</title> <description>SuperMap iServer 6R 基于示范数据发布的 WCS 服务</description> <keywords> <string>iServer 6R</string> <string>Sample Data</string> </keywords> <fees>none</fees> <accessConstraints>none</accessConstraints> <serviceType>OGC WCS</serviceType> <serviceTypeVersion>1.1.1</serviceTypeVersion> </identification> <provider> <providerName>北京超图软件股份有限公司</providerName> <providerSite>https://www.supermap.com.cn</providerSite> <serviceContact> <individualName>联系人姓名</individualName> <positionName>联系人职位</positionName> <phoneNumber>+86-10-59896655</phoneNumber> <faxNumber>+86-10-59896666</faxNumber> <deliveryPoint>北京市朝阳区酒仙桥北路甲10号院电子城 IT 产业园107号楼6层北京超图软件股份有限公司</deliveryPoint> <addressCity>北京</addressCity> <addressAdministrativeArea>北京</addressAdministrativeArea> <addressPostalCode>100015</addressPostalCode> <addressCountry>中国</addressCountry> <addressElectronicMailAddress>support@supermap.com</addressElectronicMailAddress> </serviceContact> </provider> </config> </interface>
其中,<interface>节点的 class 属性标识接口类型,对应实现类 WMTSServlet,<config>节点是该 WCS 服务接口对应的配置项,即接口配置类WCSConfig。主要配置参数如下:
SuperMap iServer 提供支持 OGC API-Features、OGC API-Tiles 标准的服务。配置一个 OGC API 接口如下所示:
<interface name="ogcapi" class="com.supermap.services.ogcapi.OGCAPIServlet"> <config class="com.supermap.services.ogcapi.OGCAPIConfig"> <apiVerison> <features>1.0</features> </apiVersion> </config> </interface>
自定义接口类型可以在系统配置文件(iserver-system.xml)文件中进行,添加一个自定义接口类型的示例如下:
<interface-type configClass="com.supermap.services.sm.SMConfig"> com.supermap.services.sm.SMServlet </interface-type>
其中 com.supermap.services.sm.SMServlet 是自定义的接口类型的实现类,com.supermap.services.sm.SMConfig 是自定义的接口类型的配置类。
<interface-type>节点在配置文件中的结构如下所示:
<server> <management> … <interface-types> … <interface-type > … </interface-type> </interface-types> </management> </server>