Web Service开发常见问题

Vicman 2010-05-20
我现在用的就是AXIS
gubest_1 2010-05-20
那你就把图片变成流之后进行一下序列化就可以了
hedahai119 2010-05-20
Vicman 写道
今天在做项目的时候遇到了个问题。。。。
   我现在做的是一个培训平台的项目,我们这个平台要和他们培训学校的一卡通的系统有交互。。
   现在需要向他们的系统中添加一个学员的信息,学员信息里面包含有一个Photo,我们是以流的形式存的。现在要通过WEBSERVICE将数据传递到他们的系统,但是传递过程中遇到了问题。
No serializer found for class java.io.FileInputStream in registry org.apache.axis.encoding.TypeMappingDelegate@186768e

朋友说是传递数据的类型是有限制的,想请大家一起讨论下解决方案。。


我上传附件的 做法就是 用base64encode, 把附件的流 变成64编码,当字符串传过去,大服务器那边decode 就可以了, 现在不管是SOP 还是 XMLrpc 都是这么做的。这是我的做法。

后来我看见jira的webservice上传附件也是这么做的 我感觉我的做法比较大众化。

我用我的方法给 Bugzilla的webservice 做扩展, 是可以在通过bugzilla的webservice创bug的时候带上附件的
Vicman 2010-05-20
Photo是做为对象的属性,整个对象已经序列化,难道我还要专门对流再进行一次序列化吗?
hedahai119 2010-05-20
Vicman 写道
Photo是做为对象的属性,整个对象已经序列化,难道我还要专门对流再进行一次序列化吗?


建议你分开, 普通属性 和 流属性
teamlet 2010-05-21
可以先将文件上传到指定的路径下,然后创建用户的时候将图像属性保存为路径。
如果用restful webservice可以一起处理这些数据。
Vicman 2010-05-21
hedahai119 写道
Vicman 写道
Photo是做为对象的属性,整个对象已经序列化,难道我还要专门对流再进行一次序列化吗?


建议你分开, 普通属性 和 流属性

  难道没有一起传递的解决方案?
dandan_5956 2010-05-21
Vicman 写道
hedahai119 写道
Vicman 写道
Photo是做为对象的属性,整个对象已经序列化,难道我还要专门对流再进行一次序列化吗?


建议你分开, 普通属性 和 流属性

  难道没有一起传递的解决方案?

用hedahai119的方案应该就能解决问题了
Vicman 2010-05-21
hedahai119 写道
Vicman 写道
今天在做项目的时候遇到了个问题。。。。
   我现在做的是一个培训平台的项目,我们这个平台要和他们培训学校的一卡通的系统有交互。。
   现在需要向他们的系统中添加一个学员的信息,学员信息里面包含有一个Photo,我们是以流的形式存的。现在要通过WEBSERVICE将数据传递到他们的系统,但是传递过程中遇到了问题。
No serializer found for class java.io.FileInputStream in registry org.apache.axis.encoding.TypeMappingDelegate@186768e

朋友说是传递数据的类型是有限制的,想请大家一起讨论下解决方案。。


我上传附件的 做法就是 用base64encode, 把附件的流 变成64编码,当字符串传过去,大服务器那边decode 就可以了, 现在不管是SOP 还是 XMLrpc 都是这么做的。这是我的做法。

后来我看见jira的webservice上传附件也是这么做的 我感觉我的做法比较大众化。

我用我的方法给 Bugzilla的webservice 做扩展, 是可以在通过bugzilla的webservice创bug的时候带上附件的

   非常感谢,终于解决了。。。
同样谢谢其他关注者。。。
DynamicMan 2010-05-21
我在最初使用cxf的时候遇到了jaxb和本地jdk不兼容的问题,弄了很久才得以结果,个人感觉CXF还是比较娇嫩的
Global site tag (gtag.js) - Google Analytics