axis2 结合Spring遇到的问题
小弟采用以下工具Spring2.5+hibernate3.3+Axis2写了个Demo,即:客户端请求服务器,服务端返回给客户端一个实例(Pojo),如果这个Pojo是简单的,即Pojo的属性是简单的属性,就没有问题.
但是如果Pojo是一个复杂类型的.即如果A类中含有B类的属性.
客户端也要有AB两个类,并且关系和服务器端一模一样,并且某方法的返回值是A.客户端在接收的收到就报错了
?
package com.axis2.client;import javax.xml.namespace.QName;import org.apache.axis2.AxisFault;import org.apache.axis2.addressing.EndpointReference;import org.apache.axis2.client.Options;import org.apache.axis2.rpc.client.RPCServiceClient;import com.axis2.client.pojo.DemoArticle;/** * RPC方式的链接 * * @author Administrator * */public class Springlient{ public static void main(String[] args) { try { // 创建一个RPC的客户端实例 RPCServiceClient rpcServiceClient = new RPCServiceClient(); // 拿到相关的配置 Options options = rpcServiceClient.getOptions(); // 创建一个远程的访问地址 EndpointReference target = new EndpointReference( "http://192.168.0.103:8080/passport/services/demoArticle"); options.setTo(target); // 创建一个Qname的命名空间,默认的是域名倒过来写,第二个参数的写方法名 QName qgetname = new QName("http://implay.service.demo.passport.com", "findOneArticleService"); // 参数 Object[] objargs = new Object[] {2}; // 数组的实例 Class[] getobj = new Class[] { DemoArticle.class }; // 返回的数组实例. Object[] response = rpcServiceClient.invokeBlocking(qgetname, objargs, getobj); // 拿到请求的对象. DemoArticle per = (DemoArticle) response[0]; if (per == null) { System.out.println("====wea没有初始化=========="); } System.out.println(per.getContent() + "------------" + per.getTitle()); } catch (AxisFault e) { System.out.println("=====创建失败了!!=========="); e.printStackTrace(); } }}
?
我的Pojo的关系如下:
A类
我做了个一对多的双向关联.结果就报错了.请axis2的高手们帮小弟瞧瞧吧.谢谢