我已经使用Mapforce从CSV到XML生成了一个java转换,我想将它与Mule一起使用,但我不知道如何。
Mapforce IDE会生成一个调用转换的控制台应用程序,它看起来如下所示,但我无法弄清楚如何在骡子流中进行这种转换。
你能吗?
输入CSV:
"";"208556";"ABC123";"HASK";46;"2659307019";"MMM505";15000.00;10000.00;"160100";"Beh. avg. Brännbart avfall";"1000040";"Svensk Säkerhetsvideo AB";"Nytorpsvägen 4";"20161101";"122739"
并输出XML:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<uppdrag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:/Users/CLAES/SkyDrive/HANSAN~1/INTEGRATIONSPROJEKT/SkövdeIntegration/TESTDATA/20161031-1.xsd">
<kund>208556</kund>
<littra>1000040</littra>
<Arb_plats_ID>HASK</Arb_plats_ID>
<transaktionsid>46</transaktionsid>
<viktin>15000</viktin>
<viktut>10000</viktut>
<fraktion_ID>160100</fraktion_ID>
<fraktion_namn/>
<datum>20161101</datum>
<tid>122739</tid>
<regnr>ABC123</regnr>
Mapforce的JAVA课程:
public class MappingConsole {
public static void main(String[] args) {
System.out.println("Mapping Application");
try { // Mapping
TraceTargetConsole ttc = new TraceTargetConsole();
MappingMapTo20161031_1 MappingMapTo20161031_1Object = new MappingMapTo20161031_1();
MappingMapTo20161031_1Object.registerTraceTarget(ttc);
{
com.altova.io.Input Text_file2Source = com.altova.io.StreamInput.createInput("C:/Users/CLAES/SkyDrive/Hans Andersson/INTEGRATIONSPROJEKT/Sk\u00F6vdeIntegration/Datamodell/textfil med rubriker.txt");
com.altova.io.Output Name20161031_12Target = new com.altova.io.FileOutput("C:/Users/CLAES/SkyDrive/Hans Andersson/INTEGRATIONSPROJEKT/Sk\u00F6vdeIntegration/TESTDATA/20161031-1.xml");
MappingMapTo20161031_1Object.run(
Text_file2Source,
Name20161031_12Target);
}
System.out.println("Finished");
}
}
}
答案 0 :(得分:0)
从main方法中获取java代码并在自定义java转换器中使用它。有关在文档中创建自定义Java转换器的详细信息,例如:https://docs.mulesoft.com/mule-user-guide/v/3.7/creating-custom-transformer-classes