云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > axis2实现WebService之复合类型数据的传递

axis2实现WebService之复合类型数据的传递

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 4:22:52

()); } } </span> 在这个方法里应该着重强调的是upload(stub, uiwb);和 dataFormByte(stub, gdfb);

upload(stub, uiwb);中setImageByte()方法中的参数在服务器端是字节数组类型的,但是到了stub类中奇迹般的变成了DataHandler类型,而这个类型是jdk1.6才有的,如下式API文档的介绍

DataHandler 类为在多种不同源和格式下可用的数据提供一致的接口。它使用 DataContentHandler 管理简单流到字符串的转换以及相关操作。它提供对能够操作数据的命令的访问。使用 CommandMap 可以找到这些命令。

有兴趣的可以自己去查一下,为了把字节数组转换成这种类型,我花了九牛二虎之力才达到,居然是要通过两层转化,还是内部类,哎,坑爹啊。如下图所示 最坑爹的还不是这个,到了dataFormByte(stub, gdfb);方法中又需要把DataHandler类型转化成字节数组类型,你说这不是耍我吗,就是这一耍,搞了我两个小时,不过从结果来看被耍的还是值的,哈哈,人怎么就这么贱呢。

[java] view plaincopy<span style=\ DataHandler dh = stub.getDataFormBytes(gdfb).get_return();//我唯一写对的就是这一句,之后的就是全错 DataSource ds = dh.getDataSource();//

java.io.ObjectInputStream ois = new

java.io.ObjectInputStream(ds.getInputStream()); DataForm df = (data.DataForm) ois.readObject(); System.out.println(df.getName());</span>

自己转化了一个多小时,没转换出来,还是报类型转换出错。实在是有点恶心了,就问了公司里一牛人(我是实习生哈),我把我的程序的来龙去脉讲了一遍,人间设断点调试了一下,查了一下API文档,写了几条转化一句,靠,立马好了,悲剧啊,这就是人与人的差别,哥搞了两小时都没出来,人家两分钟就好了,唉,木有办法!

如下就是大牛的调试过程 上图的内容我看了好几遍,居然都没发现要生成DataHandler实例需要DataSource的实例,于是大牛写了一句话DataSource ds = dh.getDataSource();

得到了对象的数据源,要想打印出对象来,就必须得到它的输入流,而因为自己是对象,所以就不是普通的输入流了而是对象输入流,但是怎样把DataSource里的数据转换成对象数据流呢,大牛估计好久没写底层的代码了,有点忘了,他差了一下API文档,如下

大牛看到这,又写了两句:

[java] view plaincopy<span style=\

java.io.ObjectInputStream ois = new

java.io.ObjectInputStream(ds.getInputStream()); DataForm df = (data.DataForm) ois.readObject();</span> 短短的三句话,就OK了,如下是输出截图

看来自己要成为大牛,还有很长的路要走哈,不过今天也值了。

以后编程的时候有两点用来警醒自己吧

第一:常用断点,尤其要看变量的变化,空值与否 第二:常查API文档 第三:多请教大牛

总之,今天就是这样过来的,快下班了,明天继续!加油!

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

()); } } </span> 在这个方法里应该着重强调的是upload(stub, uiwb);和 dataFormByte(stub, gdfb); upload(stub, uiwb);中setImageByte()方法中的参数在服务器端是字节数组类型的,但是到了stub类中奇迹般的变成了DataHandler类型,而这个类型是jdk1.6才有的,如下式API文档的介绍 DataHandler 类为在多种不同源和格式下可用的数据提供一致的接口。它使用 DataContentHandler 管理简单流到字符串的转换以及相关操作。它提供对能够操作数据的命令的访问。使用 CommandMap 可以找到这些命令。 有兴趣的可以自己去查一下,为了把字节数组转换成这种类型,我

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com