2009年4月3日星期五

ArcGIS Server Java ADF 案例教程 9

ADF中的服务

ADF的后台都是各种不同的ArcGIS服务,一个ADF应用所依赖的就是这些服务提供的功能。这个小节让我们看一下服务是怎么配置到ADF应用,并和ADF对象关联起来的。

比如我现在发布了一个名为“World”的地图服务(Map Service),在ADF应用中准备通过Internet的方式进行连接。在当前的JSP文件上右键菜单,选择【ArcGIS】-【Configure Map Service…】后,如图 6所示添加地图服务。
图 6 在当前应用中配置服务

在添加服务以后,让我们打开“faces-config.xml”来看一下ArcGIS Eclipse Plugin帮我们生成的配置(在此基础上我对一些名称作了修改):

在ADF中,服务是作为资源(Resource)登上舞台的。上面这段配置定义了一个名为agswsWorld的AGSMapResource对象,事实上,这个Resource对象关联的就是我们前面发布的“World”这个地图服务。在这里需要注意的是“functionalities”标签,“functionalities”中定义了当前这个资源可以使用的功能,比如一个地图服务显然可以进行查询,因此在我们的“functionalities”中定义了一个属性“query”,它指向一个名为“agsQuery”的AGSQueryFunctionality 对象(打开“/WebContext/WEB-INF/ functionalities/ags-functionalities.xml”可以发现它的踪迹),它提供了地图查询功能。

这个agswsWorld最后会被添加到WebContext的resources属性中去。通常在“faces-config.xml”中会以如下的方式定义:

稍微总结一下,ADF会根据不同的ArcGIS服务类型生成对应的AGSxxxResource对象进行关联,服务包含各种不同的功能可供使用。这些Resource对象根据需要会被添加到WebContext的“resources”属性中去进行管理和使用。以上这些关于Resource的内容默认都集中在“/WebContext/WEB-INF/“目录下的 “faces-config.xml”和“functionalities/*-functionalities.xml”中进行定义的。

1 条评论:

C 说...

请问博主,您用的eclipse 和 arcgis 是那个版本的?
我用的是myeclipse 6.6 和 arcgis server 9.3,plugin 也已经装好了,但是在建立 arcgis web project 的时候,最够点击finish,却提示“Failed while installing arcgis 9.3”,然后查看建好的工程,face-config.xml 里面并没有像您一样自动写入上面提到的这些配置信息,只是一些基本的配置,不知为何,
如果可以的化,博主可否提供一下 face-config.xml ,还有其他xml配置文件的完整的配置信息,谢谢。