斯潘8
斯潘4
情境:我有一个带有JSonfragmenterTransformer的工作区,它偶尔会接收格式错误的JSON(未扫描的特殊字符)。我希望它跳过它们,所以我将“拒绝的特性处理”的工作区参数设置为“继续翻译”,一切都很好。
但当我在桌面或服务器上使用WorkspaceRunner(等待作业完成设置为“是”)引用上述工作区时,它会破坏父工作区,即使我在父工作区中对被拒绝的特性处理也有相同的设置。
那我是不是错过了一个地方?
创可贴修复程序是将一个记录器添加到被拒绝的端口。但是我有很多JSonFragents,我希望有一个更优雅的解决方案。
--布赖恩
谢谢你提出这个问题。在FME 2017和FME 2018中,JSonfragcenter似乎都存在问题。我在这里重现了你的问题,并提交了一份错误报告。我还创建了一个支持案例,并将在那里与您联系。这似乎只有在工作区运行“headless”时才会出现,即在WorkspaceRunner或FME服务器上。我的猜测是,当在工作台上交互运行时,被拒绝的用于检查的端口缓存就像一个记录器。这似乎与JSON Transformers有关,因为Dale在下面使用Bufferer拒绝的功能发布的类似配置没有失败,而JSonextractor确实失败了。
同时为了解决问题,我理解您不愿意将记录器添加到所有JSonFragents中。解决这个问题的一种可能方法是在进行任何解析之前使用JSONvalidator来验证JSON文档。然后,您可以在进入JSonFragents之前消除任何具有无效JSON的特性。注意,最近在JSONvalidator的FME 2018中修复了类似的问题。因此,除非您运行的是FME 2018,否则您需要向jsonvalidator拒绝的端口添加一个记录器。
再次感谢您的报告。对于其他JSON变压器,我们将确定测试和修复的优先顺序。
要说清楚,在父工作区和子工作区中,继续转换选项在导航器中设置。
孩子会在工作台上跑得很好。
但当父级使用WorkspaceRunner调用子级时,WorkspaceRunner出错并导致父级关闭?
如果是这样的话,你能把家长日志文件的相关部分贴在这里吗?我很好奇它在说什么。
我在FME 2017.1中模拟了一个简单的父母和孩子,他们看起来很好:
现在,我确实记得特别是JSonFragments的一些事情…https://knowledge.亚搏在线safe.com/questions/54446/issue-with-the-jsonfragcenter-in-fme-server-20171.html似乎证实了这一点。会要求团队给你回一个关于那个特殊变压器的情况的更新。
简短的回答——我认为你在2017年的FME中找到了一个处理拒绝问题的变压器……(了解正在使用的构建可能会有所帮助,然后…)
?2019安全亚搏在线软件公司|合法的