需要从Web服务获取列表或数组(cxf,我使用蓝图)。下面是WSLD,代码和堆栈跟踪。我试图使用Object []但得到类似的错误。
如何修复此代码?
to_digits
POJO:
public class Bean implements Service{
public Pojo[] get() {
Pojo p1 = new Pojo();
Pojo p2 = new Pojo();
p1.setName("1");
p1.setAge("11");
p2.setName("2");
p2.setAge("22");
return new Pojo[]{p1,p2};
}
}
蓝图:
@XmlRootElement
public class Pojo {
private String name;
private String age;
//get's, setter's
}
在camel之后:运行并发送请求,我得到这个堆栈跟踪
<cxf:cxfEndpoint id="endPoint" address="http://localhost:9292/test" serviceClass="one.Service" />
<bean id="bean" class="one.Bean" />
<camelContext id="blueprintContext" trace="false" xmlns="http://camel.apache.org/schema/blueprint">
<route id="cxfRoute">
<from uri="cxf:bean:endPoint"/>
<log message="${header.operationName}"/>
<recipientList>
<simple>direct:${header.operationName}</simple>
</recipientList>
</route>
<route id="get">
<from uri="direct:get"/>
<bean method="get" ref="bean"/>
</route>
</camelContext>
答案 0 :(得分:0)
老兄,我不确定我是否理解了这个问题,但你的堆栈跟踪说该程序正在期待一个&#34; Lone.Pojo&#34;由于某种原因不是&#34; one.Pojo&#34;就像蓝图一样 - 这就是为什么你可能会得到IllegalArgumentException。不确定这是否会有所帮助,也许你拼错了。
答案 1 :(得分:0)
我没有找到答案,所以尝试过,而且它有效。我不知道这是多么正确。
public class Xtype {
Pojo[] currs;
public Pojo[] getCurrs() {
return currs;
}
public void setCurrs(Pojo[] currs) {
this.currs = currs;
}
}
&安培;&安培;
public interface CurrService {
Xtype date() throws Exception;
}