首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过JSONIX解封SOS DescribeSensor响应会产生不完全对象

通过JSONIX解封SOS DescribeSensor响应会产生不完全对象
EN

Stack Overflow用户
提问于 2016-06-15 00:47:48
回答 1查看 79关注 0票数 0

我试图使用jsonix从SOS DescribeSensor请求中解组xml响应。在更广泛的范围内,我将使用jsonix来解组来自SOS的所有响应,特别是2.0。我注意到响应使用SML或SensorML命名空间,因此我添加了额外的模块依赖项和子依赖项(即GML_3_1_1、SWE_1__1、IC_2_0、SMIL_2_0、SMIL_2__Language,当然还有SensorML_1__1)。在我添加这些之前,我注意到返回是一个通用的json (请参阅第一个屏幕截图,特别是在sml:物理系统附近)。在我添加了依赖项之后,在解封送处理过程中,我在控制台中出现了一个错误,我不理解这个错误(参见第二个屏幕快照)。以下是来自服务器的xml响应的链接,以供参考。https://drive.google.com/file/d/0B8LdnPVJpHz7M3VGb0FZc2lQcjQ/view?usp=sharing。当我创建上下文时,我真的很想了解这是否与模块的顺序有关,尽管我认为它很好。一旦发现了这一问题的解决方案,我就有两个后续问题。

  1. (一般来说)使用高源github页面上从ogc模式构建的模块允许我通过jsonix处理所有响应,这是否合理?也就是说,每个元素都将被映射到一个定义的类型。我知道这些模式/映射非常复杂。
  2. 我是否还可以使用其他工具来验证模块或根据模式验证模块,以使生活更容易,而不是在jsonix似乎不正确解析时跟踪单个元素或通过各种模块文件进行跟踪?

提前谢谢- Richard3d

var context = new Jsonix.Context([XLink_1_0, GML_3_2_1, IC_2_0, SMIL_2_0, SMIL_2_0_Language, GML_3_1_1, SWE_1_0_1, SensorML_1_0_1, OWS_1_1_0, SWE_2_0, SWES_2_0, WSN_T_1, WS_Addr_1_0_Core, OM_2_0, ISO19139_GMD_20070417, ISO19139_GCO_20070417, ISO19139_GSS_20070417, ISO19139_GTS_20070417, ISO19139_GSR_20070417, Filter_2_0, SOS_2_0]);

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-15 06:25:49

免责声明:,我是jsonix的作者,也是ogc-模式的主要开发者。

首先,你在正确的轨道上,坚持下去。

是的,如果您有所有必需的映射,那么您应该会得到一个“不错”的JSON,它包含所有具有特定类型、基数等等的属性。

Jsonix的目标是提供具有确定性结构、类型和基数的双向XML<->JSON转换。

OGC模式的目标是为所有OGC模式提供JAXB和Jsonix映射。

因此,这两种方法应该允许将任何OGC XML从/转换到JSON。

"Generic“实际上只是DOM。如果一个属性允许DOM,而Jsonix没有对某些元素进行映射,那么它就是DOM。您只是缺少了SensorML映射。

您说得对,模式依赖关系的结构非常复杂。但这是我们应该带给OGC的东西。)您需要十几个模式来读取传感器数据,这有点疯狂。实际上,我打算构建依赖项的自动加载,但尚未实现此功能。

下一个GML_3_1_1.AbstractFeatureType问题可能是本期。尝试更改映射的顺序(将GML_3_1_1移到前面的位置)。实际上,映射的顺序不应该很重要,但是,嗯,有一个bug。

交叉检查的工具-不,可能不是。我的方法是进行往返测试(解编组-编组-解组-检查等式)。从经验来看,通常一开始就有几个注意事项,但随后它就设计好了。当然,Jsonix中也存在but,映射可能会出现问题,但这会得到解决。

还可以在这里创建一个支持项目:

https://github.com/highsource/jsonix-support

例如,https://github.com/highsource/jsonix-support/s/sos

下面是这样一个支持项目的例子:

https://github.com/highsource/jsonix-support/tree/master/l/lightstalker89

我需要这样做,因为从Google (a)下载XML需要我努力设置支持项目(b),因为我不知道这个XML来自哪里,以及是否有权利/许可将这些文件添加到我的测试套件中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37824408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档