问题标签 [smooks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wso2esb - WSO2 Smook 响应未写入文件
我正在尝试使用 Smooks Mediator 将代理的响应写入文件,但没有任何反应。
调解器获取带有 vfs 选项的 csv 文件,转换为 xml 输出并将 csv 正确发送到 out 目录。在控制台中,我看到 ws02-esb-service.log 并且 xml 是正确的。但我不会写入文件。在 /u01/app/wso2esb-4.7.0/tmp/send/convert 然后结果不出现。并且没有任何错误。这是代码。
java - 我可以用 Smooks 处理 xml 重复元素怎么办?
我正在从 xml 解析到 Java 对象。这是xml示例:
也就是说,如果我使用createOnElement="weather_data/date",一个weather_data里面有日期和天气等相同的元素,我只能得到最后一个日期值。我应该怎么办。谢谢
java - 带有 Smooks 的 Java 到 CSV
有没有办法 Smooks 可以基于 java 实例生成 CSV 文件?
我正在寻找类似的东西:
谢谢!
smooks - 我们可以在 smooks 中进行字符串操作和条件检查吗?
我想操作一个大文本文件,它以 TEXT 形式出现,并想使用 smooks 来操作它。文本文件包含大量行。从每一行中,我必须拆分字符并从中获取信息。
例如:我在 java 中进行以下操作;
我必须将文本内容转换为 CSV 文件。
我们也可以在 smooks 中进行完全相同的字符串操作吗?(那是在 smooks 配置中我可以这样做吗?)我相信我可以为此使用固定长度处理?
如何在 smooks 配置中添加 IF ELSE 条件?就像在java中一样;
if (row.length() == 900) { //做 }else(){ //做 }
csv - 如何在 Smooks 中设置 EnumDecoder
尝试在 Smooks 中设置枚举解码器以解码 CSV 文件中的值时,我遇到了一些问题。
我需要一个 EnumDecoder,虽然我看到您可以实例化它并设置配置,但我找不到设置它以使其处于活动状态的位置。
到目前为止,我设法写了这样的东西:
我从配置文件中设置解码器的另一个问题。
smooks-config.xml:
主.java:
测试Bean.java:
CSV 文件:
我总是以错误告终:
谢谢!
java - 定长阅读器不返回任何 smooks 中的集合?
我有一个 smooks 配置定义为:
当我尝试从中获取 XML 输出时;(我传递了一个包含一系列固定长度字符的文本文件)我得到了空的“集合”。
谁能帮助我,我在这里做错了什么?
smooks - 固定长度阅读器返回空集。奇怪的问题
我已经使用具有许多字段的固定长度阅读器 [1] 编写了一个示例 smooks 配置。我在这里看到一个奇怪的问题。也就是说,如果我在配置中有最后一个字段 AnnualReportReturnedDate[8] 它不会返回任何集合。那就是我的集合是空的。所以,我通过添加所有字段一一检查,我的配置工作正常。当我尝试添加归档的 AnnualReportReturnedDate[8] 时,它不起作用。(返回空集)此外,如果我将该归档的长度更改为 2/5,它可以工作..但它从长度 8 开始不起作用。也就是说,如果我定义了AnnualReportReturnedDate[2]--works
,AnnualReportReturnedDate[8]--Not works
。
为什么我会遇到这种烦人的问题?[1]
smooks - Smooks File Write outputTo 不在 Windows 中写入文件
我定义了以下 smook 配置。[1] 在这里,我尝试处理大文件,因此想将输出流写入不同的文件夹,并再次从该文件夹中进行选择和处理。
我在这里面临的问题是,作者没有在我提到的文件夹中写入文件。(即:C:\Users\TOSH\Desktop\out)我没有看到它正在写入的任何地方。谁能帮助我,我在这里做错了什么?
注意:我正在尝试在 Windows 中。
[1]
apache-camel - Camel:将文件从:xxx重命名为:xxx失败,由于无法从文件中删除:复制成功后的xxx
系统后台:Windows/ServiceMix/Camel/Smooks
我有骆驼路线
它应该获取一个文件并将其流式传输到 Smooks 自定义 EDI 解析器。这一直有效,直到 Camel 将文件复制到moveNamePrefix
目录中,然后在引发异常时尝试删除原始文件。由于该文件永远不会被清理,这会无限期地重复。
所以是的,文件仍然打开,阻止删除。但这就是它变得有点有趣的地方。如果您列出打开的文件,您会看到它实际上打开了多次,并且每 2 秒会再获得一个,这就是轮询延迟。
然而,即使此时它已经完成了约 7,000 个周期,也只有不到 100 个,所以是的,所有文件在 GC(垃圾收集)期间关闭,然后再次开始累积。是的,这表明流在引用它的对象被 GC 清理之前不会关闭。但是,我已经跟踪了代码并且流已关闭org.milyn.delivery.sax.SmooksSAXFilter.doFilter
所以,我在这里有点茫然。这是否意味着 Camel 试图在 Smooks 完成之前在另一个线程上提交事务?
xml - 网络日志的 Smooks 中介
我正在尝试使用 WSO2-ESB 解析包含 Web 日志的文本文件并将其放入数据库中。我已经使用 VFS 导入了文件。现在我需要在这个输入上应用 smooks 调解器并转换成 XML。输入文件的结构如下
64.242.88.10 - - [07/Mar/2004:16:06:51 -0800] “GET /twiki/bin/rdiff/TWiki/NewUserTemplate?rev1=1.3&rev2=1.2 HTTP/1.1”200 4523
64.242.88.10 - - [07/Mar/2004:16:10:02 -0800] “GET /mailman/listinfo/hsdivision HTTP/1.1”200 6291
所以我需要一个自定义调解器,我可以在其中解析这些类型的输入并将其拆分为空格字符并将其转换为 XML。我知道如何在 WSO2 ESB 中使用 smooks 将 XML 转换为 XML、CSV 转换为 XML 等。但我不知道如何创建自定义中介。
是否有任何教程或链接可供我参考以创建自定义调解器?