我正在向生产者端点发送一个Java对象并等待编组的XML对象。我尝试将其更改为foreach ($results as $result)
{
//
}
object / File对象,但它正在提供Node
。
因此将xmlObj置于对象类类型中。什么应该是正确的类来捕获响应?
ClassCastException
上面是您用来将Java对象发送到生产者端点的客户端代码,因为您正在使用public class ClientEight {
@Produce(uri = "direct:invoice")
ProducerTemplate template;
public static void main(String args[]) throws InterruptedException {
AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("resources/camel-configTen.xml");
InvoiceXml invoice = new InvoiceXml("fdf3443", 3454, 435345.44 f, "hfhfddfdg"); //any java object we are passing
ClientEight client = (ClientEight) ctx.getBean("client");
Object xmlObj = client.template.requestBody(invoice);
System.out.println(xmlObj);
}
}
,所以您将返回返回的对象。
template.requestBody
答案 0 :(得分:0)
unmarshall
处理器返回一个流,而不是一个对象。在骆驼中,更一般地说,如果你想要一个特定的类型,你不应该直接将一个物体作为一个物体,而是使用各种方法将物体转换成那种类型。
尝试:
Document document = client.template.requestBody(invoice, org.w3c.dom.Document.class);