西班牙
斯潘4
当您在读取WFS时遇到问题时,问题往往出现在WFS服务器端。在FME中,错误通常是“XML模块出错时暂停”。
要确定问题是否在服务器端,请尝试使用FME数据检查器或FME工作台读取WFS数据集。许多URL将被记录在日志文件中。可以双击或复制并粘贴到web浏览器中,以查看是否返回了有效的XML。如果没有,或者浏览器中返回一个错误,那么问题很可能出现在WFS服务器端。
一。查看Get Capabilities文档。在日志文件中,这由以“
例如,功能URL: 'http://webservices.ionicsoft.com:80 / unData / wfs /联合国?服务= WFS&REQUEST = GetCapabilities&VERSION = 1.1.0 '
2。检查描述功能URL。在日志文件中,这由以“
e、 g.
'http://webservices.ionicsoft.com:80/unData/wfs/UN?服务=WFS&VERSION=1%2E0%2E0&REQUEST=DescribeFeatureType&TYPENAME=WFS%3AAIR%5FPOINT'
3.检查Get特性URL。在日志文件中,以“
例如:GetFeature URL: 'http://webservices.ionicsoft.com:80/unData/wfs/UN?服务=WFS&VERSION=1%2E0%2E0&REQUEST=GetFeature&TYPENAME=WFS%3AAIR%5FPOINT&MAXFEATURES=30000'
4.如果应用程序模式(xsd)中存在明显的问题,那么您可以尝试定位或创建一个静态(正确的)xsd,并为WFS阅读器上的“应用程序模式”参数选择它。您还应该尝试“忽略应用程序模式”选项。这将消除与应用程序模式相关的问题,如来自服务器的糟糕的描述特征类型响应或不匹配的名称空间。这使得我们的阅读器表现得像更宽容的客户端,比如在默认情况下倾向于忽略模式的QGIS。更多信息请看:https://knowledge.亚搏在线safe.com/questions/23873/fme-desktop-wont-load-data-from-this-wfs-service.html
5个。本地保存WFS DescribeFeatureType应用程序架构和GetFeature GML响应。使用XMLValidator根据DescribeFeatureType应用程序架构响应验证WFS GetFeature GML响应。许多WFS服务器生成的数据实际上并不符合它们自己的应用程序模式,因此这通常会显示错误。通常错误会显示哪些元素类型没有正确定义,或者可能会显示某些几何类型的问题。
6。一旦你有了GetFeature GML,你可以尝试用GML阅读器在本地读取它。
一个常见的问题是GetCapabilities、DescribeFeatureType和GetFeature响应之间的名称空间不匹配。另一个问题是如何定义多层选择。规范规定了括号符号,但很多服务器仍然需要逗号分隔,尽管这与@FS 2.0不兼容。您可以通过在数据集url上包含类型名来解决这两个问题。
所以可能会出现以下错误:
“ns1:ExceptionText指定的类型名不存在:{(ns1}Roads)(ns2:Highways)”
要解决此问题,只需在WFS数据集url中添加所需的TYPENAMES语法:
服务器url?SERVICE=WFS&TYPENAMES=公路
这样做只是请求没有名称空间限定符的层名称,我怀疑它最有可能工作,因为当没有提供名称空间时,服务器最终使用默认名称空间。如果你需要一个不同的名称空间,你可以在这里硬编码。
另一个有助于解决的问题是FME将图层名封装在parens中,因为这是WFS 2.0标准规定的。WFS1.1和早期使用的逗号,但在2.0中不再支持,除非提供了连接查询。因此,图层列表的默认值应为带圆括号-请参见:
http://docs.opengeospatial.org/is/09-025r2/09-025r2.html#90
因此,通过在数据集url上定义TYPENAMES列表,我们可以包括特定WFS可能需要的逗号,并避免标准2.0括号语法。只是不要忘记确保你的图层选择参数与你在url中输入的匹配。
如果您仍然有问题,请访问FME技术支持.
?2020安全亚搏在线软件公司|法律