`

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

    博客分类:
  • SSH
 
阅读更多

 

  1. 1.从Bean生成ws,要注意如果用了XmlBeansServiceFactory,则生成Service要用接口,而不能用实现类,不然调用的时候会抛:
  2. org.codehaus.xfire.fault.XFireFault: Parameter {http://www.eshore.com/moa}testin0 does not exist!
  3. 2.XmlBeansServiceFactory和ObjectServiceFactory生成的wsdl是不一样的,因为调用所使用的SOAP参数名也不一样,因此客户端和服务
  4. 端生成Service所使用的Factory应该统一
  5. 3.如果想根据wsdl生成基于xmlbean的stub,则wsdl需要经过xmlbean工具生成schema的jar包,生成stub需要到此包,不然会出错:
  6. E:\sylilzy\documents\project\sws\build.xml:27: java.lang.NullPointerException
  7. 这一点在文档中重点提到:file:///E:/sylilzy/baksily/extract/xfire-1.2.6/manual/Client%20and%20Server%20Stub%20Generation%
  8. 20from%20WSDL.html
  9. 另外,在这个文档中也有说明:file:///E:/sylilzy/baksily/extract/xfire-1.2.6/manual/XMLBeans%20Client%20Generation.html
  10. 4.用xfire通过WSDL生成客户端和服务端stub时,如果使用 binding="xmlbeans",则服务端运行后的wsdl有问题:
  11. <xsd:element name="servicein0" type="ns1:MOAReq" /> 
  12. <xsd:element name="serviceout" type="ns1:MOAResp" />
  13. 这两个元素不存在
  14. 另外,客户端也无法调用原wsdl的服务,提示没有合适的方法,用wireshark抓包后发现客户端发出的soap请求中根本没有参数信息.所以
  15. 说,通过WSDL的binding="xmlbeans"生成的客户端和服务端都是有问题的,这一点在文档中已经
  16. warn:file:///E:/sylilzy/baksily/extract/xfire-1.2.6/manual/XMLBeans%20Client%20Generation.html
  17. 而通过ServiceClass的方式生成的没问题:file:///E:/sylilzy/baksily/extract/xfire-1.2.6/manual/XMLBeans%20Integration.html

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics