XFire 中 JAXBElement问题

chongchong0108 2008-05-21 09:38:23
最近在学习用XFire开发webService,遇到点问题请大帮我看看,谢谢
Client主要代码:
helloClient client = new helloClient();
helloPortType port = client.gethelloHttpPort();
User u = new User();
JAXBElement<String> name = new JAXBElement<String>(new QName("http://service.test.com","value"),String.class,"张三");
u.setName(name);
//u.getName().getValue();//这句话在这里不会报错,但到服务器上后就出错了,传过去的u不为空,但u.getName()返回空
System.out.println(port.example(u));

接口实现类主要代码:
public String example(User u) {
return u.getName().getValue();
//问题就在这里,传过来的u是不为空的,但u.getName()时返回就为空了,而u.getName().getValue将会报错
道底是哪出错了???
}

aegis.xml:
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="example">
<parameter index="0" componentType="com.test.service.User" />
</method>
</mapping>
</mappings>
会的朋友请教教我,谢谢了!!!
...全文
2555 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
casperlian 2010-12-21
  • 打赏
  • 举报
回复
chongchong0108,发觉你04年就提交了这个问题,哈哈。我对其他帖子有回复过。希望帮上忙http://topic.csdn.net/u/20090410/21/c7cf6452-6443-4574-a138-48e37946798a.html。
我的邮件lianstorm@gmail.com
  • 打赏
  • 举报
回复
比如生成的客户端User对象的name属性是这样写的
@XmlElementRef(name = "name", namespace = "http://bean", type = JAXBElement.class)
protected JAXBElement<String> name;
那么你的QName对象必须这样创建
new QName("http://bean","name");


这个太OK了,非常感谢
jq985 2009-07-07
  • 打赏
  • 举报
回复
比如生成的客户端User对象的name属性是这样写的
@XmlElementRef(name = "name", namespace = "http://bean", type = JAXBElement.class)
protected JAXBElement<String> name;
那么你的QName对象必须这样创建
new QName("http://bean","name");
jq985 2009-07-07
  • 打赏
  • 举报
回复
你的错误在于,QName的参数给的不对
在你生成客户端自定义对象的时候,属性的上面有网络空间uri和别名的值,填对了就可以了
xwy55555 2008-12-10
  • 打赏
  • 举报
回复
用u.getName().getValue()试试。

正解
ddsa12 2008-11-21
  • 打赏
  • 举报
回复
帮忙 顶一下 期待答案我 也貌似遇见同样的问题了
xyaoyuan 2008-10-18
  • 打赏
  • 举报
回复
用u.getName().getValue()试试。
zhaoyutong 2008-09-03
  • 打赏
  • 举报
回复
www.frcircle.com
zgw06629 2008-08-28
  • 打赏
  • 举报
回复
解决了吗?
chongchong0108 2008-06-05
  • 打赏
  • 举报
回复
我邮箱:maosha8@163.com
chongchong0108 2008-06-04
  • 打赏
  • 举报
回复
直接返回u.getName(),值为空,而且这样根本取不到值,因为它是JAXBElement<String>
無名VF 2008-06-03
  • 打赏
  • 举报
回复
是啊 按一楼说的做一下看看。
jdlsfl 2008-06-02
  • 打赏
  • 举报
回复
直接返回u.getName()试试看呢

67,512

社区成员

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

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