вы можете использовать класс драйвера, как Xpp3driver
например.
поток будет выглядеть как
<flow name="mulexmlvalFlow2" doc:name="mulexmlvalFlow2">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8082" doc:name="HTTP" path="XmlToObj"/>
<mulexml:xml-to-object-transformer doc:name="XML to Object" driverClass="com.thoughtworks.xstream.io.xml.Xpp3Driver">
<mulexml:alias name="Abc" class="a.b.c.Abc" />
</mulexml:xml-to-object-transformer>
<component class="Test1" doc:name="Java"/>
</flow>
запроса HTTP
http://localhost:8082/XmlToObj
заголовки Content-Type приложения/XML почтовых данных
<Abc><def>ggggg</def><ghi>hhhhh</ghi></Abc>
ABC класса
package a.b.c.Abc;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "Abc")
public class Abc{
private String def;
private String ghi;
public Abc() {
}
public String getDef() {
return def;
}
public void setDef(String def) {
this.def = def;
}
public String getGhi() {
return ghi;
}
public void setGhi(String ghi) {
this.ghi = ghi;
}
}
Класс Test1 (компонент)
public class Test1 {
public Object receive(Abc abc) throws Exception {
System.out.println(abc);
return "Success";
}
}
не должны класс компонент будет '' Abc'instead из Test1'? – khateeb
Когда я попробовал пример, я получил следующее сообщение об ошибке: стека 'Исключение составляет: 1. Abc (com.thoughtworks.xstream.mapper.CannotResolveClassException) com.thoughtworks.xstream.mapper.DefaultMapper: 56 (нуль) 2. Abc (com.thoughtworks.xstream.mapper.CannotResolveClassException) (org.mule.api.transformer.TransformerException) org.mule.module.xml.transformer.XmlToObject: 72 (http://www.mulesoft.org/ docs/site/current3/apidocs/org/mule/api/transformer/TransformerException.html) ' – khateeb
no Test1 - это компонент, который может обрабатывать запрос. Обновление ответа с помощью Test1. –