客户端连接远程web service 出错

jackiepeng 2010-10-21 03:09:36
Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Fault: java.lang.NullPointerException
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.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy7.recvSms(Unknown Source)
at cd.toc.Test.main(Test.java:435)
Caused by: java.lang.NullPointerException
at org.codehaus.xfire.aegis.type.basic.LongType.writeObject(LongType.java:27)
at org.codehaus.xfire.aegis.type.java5.HolderType.writeObject(HolderType.java:38)
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)
... 6 more
...全文
199 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
java_news 2010-10-28
你请求服务端的地址可以请求到吗?
http://请求ip/工程名/web.xml中配置的名称/webservice配置文件中配置的名称?wsdl

如果在地址栏中写这个可以请求到,那说明是你客户端请求不对。
下边是客户端写法
String endpoint = "http://localhost:8090/FAP/service/UserService";
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
org.apache.axis.client.Call call = (org.apache.axis.client.Call) service.createCall();
call.addParameter("name", org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
---这句是要指定你传的参数名要跟他那边需要的参数名称一样
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
---------这句是指定你参数的类型
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName("方法名");
String res=(String)call.invoke(new Object[]{"参数","参数"});

call.setUseSOAPAction(true);
System.out.print(res);
  • 打赏
  • 举报
回复
jackiepeng 2010-10-28
还是不这么明白
  • 打赏
  • 举报
回复
jackiepeng 2010-10-28
谢谢 我是个新人
刚刚接手 webservice
  • 打赏
  • 举报
回复
xinleicn 2010-10-21
是不是包的问题。
  • 打赏
  • 举报
回复
abcatai555 2010-10-21
cd.toc.Test.main(Test.java:435)
cd.toc.Test类中435行出现空指针异常,你应该用到转发器了吧,就是把客户端请求转发到服务端,转发器取到值了吗?
  • 打赏
  • 举报
回复
kick5578 2010-10-21
Caused by: java.lang.NullPointerException

是不是services.xml没配service?
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-21 03:09
社区公告
暂无公告