call.invoke要返回自定义类型 该怎么做

supermarket777 2008-12-10 04:14:43

String endPoint = "http://localhost:8080/ws_test1/services/ws_test1";

Service service = new Service();
Call call = (Call) service.createCall();

call.setTargetEndpointAddress(new java.net.URL(endPoint));
QName qn = new QName("ws_test1", "ws_test1");

call.registerTypeMapping(User.class, qn, new BeanSerializerFactory(
User.class, qn), new BeanDeserializerFactory(User.class, qn));

call.setOperationName("getUser");

User user = (User)call.invoke(new Object[]{});

System.out.println(user.getUsername());


这个是我的代码。

查了一下午的网页 试了很多种方法未果

请给一个最最简洁的答案 谢谢
...全文
1092 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenxinba 2008-12-20
  • 打赏
  • 举报
回复
关注中
supermarket777 2008-12-11
  • 打赏
  • 举报
回复
谢谢
有时间再帮我看看我刚发的另一个问:)
kafeiwudi 2008-12-11
  • 打赏
  • 举报
回复
这个问题我也遇到过,在网上找到的方法
http://www.360doc.com/showWeb/0/0/508449.aspx
,自己去看看吧.
netdevgirl 2008-12-10
  • 打赏
  • 举报
回复
call.invoke方法是楼主自己写的吧?具体的方法是怎么实现的我不知道的
SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize----错误信息是有关序列化和反序列化的,和这个强转没有很大的关系
supermarket777 2008-12-10
  • 打赏
  • 举报
回复
恩 我现在这个程序会报错:SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.你说

ls
你说的要强转我知道 那是针对一般类型的吧
现在我的USER 只强转不行的吧
netdevgirl 2008-12-10
  • 打赏
  • 举报
回复
好像 call.invoke(new Object[]{}) 是 object 类型,要进行强转。
要返回什么类型,前面就转成什么类型呗
不知道是不是问的这个意思

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧