xfire生成webservice客户端与服务注意事项

1.从Bean生成ws,要注意如果用了XmlBeansServiceFactory,则生成Service要用接口,而不能用实现类,不然调用的时候会抛:
org.codehaus.xfire.fault.XFireFault: Parameter {http://www.eshore.com/moa}testin0 does not exist!

2.XmlBeansServiceFactory和ObjectServiceFactory生成的wsdl是不一样的,因为调用所使用的SOAP参数名也不一样,因此客户端和服务

端生成Service所使用的Factory应该统一

3.如果想根据wsdl生成基于xmlbean的stub,则wsdl需要经过xmlbean工具生成schema的jar包,生成stub需要到此包,不然会出错:
E:\sylilzy\documents\project\sws\build.xml:27: java.lang.NullPointerException
这一点在文档中重点提到:file:///E:/sylilzy/baksily/extract/xfire-1.2.6/manual/Client%20and%20Server%20Stub%20Generation%

20from%20WSDL.html
另外,在这个文档中也有说明:file:///E:/sylilzy/baksily/extract/xfire-1.2.6/manual/XMLBeans%20Client%20Generation.html

4.用xfire通过WSDL生成客户端和服务端stub时,如果使用 binding="xmlbeans",则服务端运行后的wsdl有问题:

<xsd:element name="servicein0" type="ns1:MOAReq" />
<xsd:element name="serviceout" type="ns1:MOAResp" />

这两个元素不存在

另外,客户端也无法调用原wsdl的服务,提示没有合适的方法,用wireshark抓包后发现客户端发出的soap请求中根本没有参数信息.所以

说,通过WSDL的binding="xmlbeans"生成的客户端和服务端都是有问题的,这一点在文档中已经

warn:file:///E:/sylilzy/baksily/extract/xfire-1.2.6/manual/XMLBeans%20Client%20Generation.html

而通过ServiceClass的方式生成的没问题:file:///E:/sylilzy/baksily/extract/xfire-1.2.6/manual/XMLBeans%20Integration.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值