MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » webservice传递List对象解决方案

webservice传递List对象解决方案

www.MyException.Cn  网友分享于:2015-08-26  浏览:1122次
webservice传递List对象
用的axis2做的webservice

刚学会的……

前辈教的,很简单就会了!但是不知道怎么传递复杂的对象。现在做的项目就是要传递List<javaBean>,不知道怎么做了……

从网上搜了好久,发现都是要改写wsdd文件什么的。可是使用axis的好处是可以根据wsdl自动生成大部分代码。我做的webservice的时候只改写了web.xml,并且添加了一个services.xml,就把webservice做好了,然后new->other->Axis2 Code Generator,一步一步生成客户端编码的,所以从网上搜得方法,我直接看晕了,感觉在我这不适用!


求哪位大虾给指点……

急……

谢谢……

------解决方案--------------------
不知道你看的是什么材料,在wsdl语言里面从来没有说描述List的类型。因为IDL要跨语言,有些语言里面有List有些语言压根就没有这个,所以根本没有直接修改wsdd文件的方法。
实际上java做webservice开发如果传递List<JavaBean>对象,是采用的将List转化为JavaBean数组的方法,在一段将List转化为数组然后wsdl描述数组进行传递,另外一方接受到数组之后处理——如果另外一方也是java解析,可以重新转化为List<JavaBean>,如果是C#也可以转成相应的列表
我们上学期软件工程作业就遇到这个问题,解决思路也是这个。
JavaBean里面数据类型和引用对象类型要符合JavaBean规范,空的构造方法,实现序列化接口,这个你们应该知道的吧
------解决方案--------------------
List转化为JavaBean的数组,注意转化为数组而不是JavaBean,具体的实现就是List转化为数组的语法
还有wsdl不是生成的,wsdl是webservice description language是语言,生成的文件是wsdd文件其实就是一个xml文件
具体的例子代码太多了,跟业务逻辑柔和在一起,你是想要转换为数组的么?给你贴具体转换的代码
Java code

@Override
    public EventIdl[] find(String queryString) {
        Session session = HibernateUtil.getSession();
        Transaction ts = session.beginTransaction();
        List lst = session.createQuery(queryString).list();
        ts.commit();
        HibernateUtil.closeSession();//上面代码都是通过Hibernate获得服务器的查询结果
               //查询结果是一个List<Event>类型
        
        EventIdl[] eis = new EventIdl[lst.size()];//新建同样长度数组
        Iterator iter = lst.iterator();
        int i = 0;
        while(iter.hasNext()) {
            Event e = (Event) iter.next();//获得list里面数据,进行必要转化
                        //在你的程序里面如果Event符合JavaBean规范就可以直接用Event数组
                        //我们程序里面的Event有个字段不符合规范,转换为EventIdl类型
            eis[i++] = Event.toEventIdl(e);//对每个数组元素赋值
        }
        return eis;
    }

------解决方案--------------------
你webservice什么水平,如果利用axis2发送和接收JavaBean的程序基础有么?

如果有的话,在客户端没有什么特别的,就是接收到的变成相应的对象数组罢了

还有webservice涉及东西比较多,不像一个GUI纯Java代码给你就贴上来,就是给你

说怎么传List的思路,你如果提不出再针对和具体的问题,笼统的要代码没多少意义的

肯定的说客户端不需要更改什么配置,需要写代码接收对象,但是需要服务端写好的webservice在应用服务器

上成功发布才行


探讨
引用:
List转化为JavaBean的数组,注意转化为数组而不是JavaBean,具体的实现就是List转化为数组的语法
还有wsdl不是生成的,wsdl是webservice description language是语言,生成的文件是wsdd文件其实就是一个xml文件
具体的例子代码太多了,跟业务逻辑柔和在一起,你是想要转换为数组的么?给你贴具体……

------解决方案--------------------
wsdd这些xml文件是利用工具自动生成的,不是不需要写…… 


探讨

引用:
你webservice什么水平,如果利用axis2发送和接收JavaBean的程序基础有么?

如果有的话,在客户端没有什么特别的,就是接收到的变成相应的对象数组罢了

还有webservice涉及东西比较多,不像一个GUI纯Java代码给你就贴上来,就是给你

说怎么传List的思路,你如果提不出再针对和具体的问题,笼统的要代码没多……

------解决方案--------------------
你查看axis2的入门实例,就能找到wsdd文件,说了是自动给你生成的,你要修改什么,本来就不想让你修改的

没给你发送和接收的程序,我重申一遍,我的回答就是针对如何发送和装换List数组,所以贴出来的就跟这个

有关就是List转化为数组了

怎么接收和发送数组对象跟axis2发送普通JavaBean对象一个道理

探讨
引用:
wsdd这些xml文件是利用工具自动生成的,不是不需要写……


不好意思,惹你不耐烦了……

我找了找,并没有发现wsdd文件啊,还有,是不是需要修改wsdd文件啊?如果是的话,那需要怎么修改啊?

还有一点啊,你给的代码有一些我没太明白,是不是里面有利用axis2发送和接收JavaBean的程序啊?

文章评论

60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
总结2014中国互联网十大段子
总结2014中国互联网十大段子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
那些争议最大的编程观点
那些争议最大的编程观点
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
我是如何打败拖延症的
我是如何打败拖延症的
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
中美印日四国程序员比较
中美印日四国程序员比较
程序员必看的十大电影
程序员必看的十大电影
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
为什么程序员都是夜猫子
为什么程序员都是夜猫子
如何成为一名黑客
如何成为一名黑客
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
代码女神横空出世
代码女神横空出世
 程序员的样子
程序员的样子
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
Java程序员必看电影
Java程序员必看电影
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员都该阅读的书
程序员都该阅读的书
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
程序员的鄙视链
程序员的鄙视链
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
漫画:程序员的工作
漫画:程序员的工作
鲜为人知的编程真相
鲜为人知的编程真相
一个程序员的时间管理
一个程序员的时间管理
我的丈夫是个程序员
我的丈夫是个程序员
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
老程序员的下场
老程序员的下场
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
编程语言是女人
编程语言是女人
旅行,写作,编程
旅行,写作,编程
程序员和编码员之间的区别
程序员和编码员之间的区别
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有