WebService 客户端实现报错

用java实现WebService客户端的时候,获取自定义返回值时,报错:

严重: No returnType was specified to the Call object!  You must call setReturnType() if you have called addParameter().
五月 14, 2018 2:59:31 下午 org.apache.axis.client.Call invoke
严重: Exception:
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.WebServiceClient.doService(WebServiceClient.java:45)

at com.WebServiceClient.main(WebServiceClient.java:52)

这是因为没有给设置序列化操作,导致没有识别自定义类;

在远程访问接口前,设置:GetInfoResult是自定义的实体类

call.registerTypeMapping(
GetInfoResult.class, 
new QName(namespace,"GetInfoResult"),
new BeanSerializerFactory(GetInfoResult.class, new QName(namespace, "GetInfoResult")),
new BeanDeserializerFactory(GetInfoResult.class, new QName(namespace, "GetInfoResult")));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值