Java 调用 WebService 返回值问题
我用的工具是 MyEclipse5.5,MySQL。另外用的是 XFire 开发 webservice ,然后利用 MyEclipse 工具来生成调用 webservice 类。
我现在在用 Java 做一个小项目,用 Hibernate+Struts ,我们老师要求我们把项目,分成两部分,一部分全部都是 Struts ,一部分全部都是 Hibernate。也就是两个工程文件。而还要把整个 Hibernate 做成一个 webservice 。我现在把操作数据库的 DAO 类做成一个接口,然后提供这个接口供 Struts 工程来调用。测试调用成功了。但是返回值类型却出问题。
做 webservice 的借口时,返回值类型那块儿有个问题,就是不允许返回 List 类型。之后,我把工程更改成 JDK5 的。然后用了范型编程。解决了这个问题。可是 List 的返回值却不能直接显示,显示的是这个东西:
javax.xml.bind.JAXBElement@1777b1
test client completed
请各位熟悉 XFire 编程的,或者曾经做过类似的项目的高手哥哥姐姐们指导下!先谢谢了!
------解决方案--------------------很多webService 服务直接返回hibernate 的对象时会有问题,如果你对持久对象进行了双向关联的话,因为在对这些对象进行序列化的时候,会进入一个死循环。
------解决方案--------------------现在的web服务很多都是不同的语言调用,采用的返回值大部分都是通用的xml字符串
------解决方案--------------------List里的内容存放到xml就可以解决了