XFire Dynamic Client怎么调用传对象的service方法?

daryl715 2007-07-24 03:02:24
User user=new User("1111","1234");
Client client=new Client(new URL("http://localhost:8080/XFireStudy/services/IHelloWorldService?wsdl"));
Object result[]=client.invoke("HelloWorld", new Object[]{user});
System.out.println(result[0]);

我的HelloWorld接受一个user对象,可这使用出现下列异常

Exception in thread "main" org.codehaus.xfire.fault.XFireFault: Fault: java.lang.NullPointerException
at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:83)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.Client.invoke(Client.java:368)
at client.SimpleClient.main(SimpleClient.java:18)
Caused by: java.lang.NullPointerException
at org.codehaus.xfire.aegis.type.basic.ObjectType.writeObject(ObjectType.java:192)
at org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(AegisBindingProvider.java:229)
at org.codehaus.xfire.service.binding.AbstractBinding.writeParameter(AbstractBinding.java:273)
at org.codehaus.xfire.service.binding.WrappedBinding.writeMessage(WrappedBinding.java:90)
at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:80)
at org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.getByteArrayRequestEntity(CommonsHttpMessageSender.java:422)
at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.send(CommonsHttpMessageSender.java:360)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:123)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
... 4 more

简单类型,比如new Object[]{"123"}的方法就可以,我已经配置了相应的aegis文件,不用dynamic client访问user对象为参数的service方法是没有问题的
...全文
930 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenlingyun1987 2008-07-21
  • 打赏
  • 举报
回复
我也出现这种问题
douko 2008-05-09
  • 打赏
  • 举报
回复
webservice包括corba一般只支持基本数据类型,
sureyor 2007-07-27
  • 打赏
  • 举报
回复
我知道webservice包括corba一般只支持基本数据类型,楼主可以将对象转换成List或者数组传递过去

67,513

社区成员

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

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