span8号
斯潘4
我正在尝试使用WorkspaceRunner启动另一个工作区。同时发送两个参数,这些参数链接到后者中发布的参数。发布的参数之一包括“”字符(类似于“abc def”),导致包含WorkspaceRunner转换器的工作区失败。事务日志具有以下输出:
非法使用或in命令
'包含无效字符,无法转换为整数(stfutil.cpp:738)
如果在后一个工作区中省略了需要“”字符的已发布参数(即,在WorkspaceRunner中不再需要它)。所有工作正常,后一个工作区按预期执行。
是否有一种方法可以转义“”字符,以便在运行工作区时不将其解释为特殊字符?我试过使用ABC定义,“abc def”,“abc \ def”,“abc def”“,“abc定义”,“”abc“”def“和”abc“”def“,但所有的问题都是一样的。
任何帮助都将不胜感激。
该问题已在FM2018中解决。您必须使用升级转换器将FME WorkspaceRunner升级到版本3。新版本的WorkspaceRunner创建了一个FME命令批处理文件,从而避免了命令行上特殊字符的问题。您也可以利用这个优势,使用新参数批处理多个小任务:每个FME过程的工作空间数。看到这个博客文章.所以WorkBenchRunner现在做的和使用FME命令文件
我能重现同样的错误“非法使用或in命令”,如果参数值的第一个字符是管道,无论参数类型是文本还是文本(多行)。ABC·XYZ导致错误,但是美国广播公司没有。
似乎对要设置为WorkspaceRunner中参数字段的字符串中的第一个字符有一些限制。希望外管局的人能澄清这一点。亚搏在线@纳塔利亚特保险箱亚搏在线
在通过包含“特殊”字符的WorkspaceRunner传递参数时,这或多或少是一个已知问题。
解决方法可能是使用调用工作区上设置为base64的textEncoder并发送编码的文本值。在您的孩子工作区,使用textcoder也设置为base64来检索原始值。
我建议使用文本(多行)作为参数类型。
?2019安全亚搏在线软件公司|法律