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
分享到:
相关推荐
总结,XFire客户端生成是Java开发Web服务客户端的一种高效方式,通过自动化的代码生成,开发者可以快速地接入并调用Web服务,大大减少了手动编写客户端代码的工作量。在实际开发中,结合Spring等框架,可以构建出...
- 对于像`webxml.com.cn`这样的外部Web服务,你需要先获取其WSDL地址,然后使用XFire生成客户端代理类。 - 使用生成的客户端代理类,调用相应的方法,传入参数并接收返回结果。注意,这涉及到网络通信,需要处理...
XFire是一个轻量级的WebService框架,它提供了一种简单的方式来开发基于Java的Web服务和客户端应用程序。XFire支持SOAP 1.1和1.2协议,并且能够很好地与其他标准兼容,如WSDL和UDDI等。它具有以下特点: 1. **简洁...
在本文中,我们将探讨如何在MyEclipse环境下利用Xfire框架发布Web服务,并进行客户端调用。Xfire是一个轻量级的Java Web服务框架,它简化了服务的创建和部署过程。 首先,确保你的开发环境准备就绪。安装Java ...
**注意事项** 虽然XFire是一个强大的工具,但因其已不再更新,可能缺乏新特性和安全修复。现代项目通常选择更活跃且支持更广泛的框架,如Apache CXF或Spring Boot的Web服务支持。不过,理解XFire和Spring的集成对于...
- 客户端调用:XFire提供客户端代理生成工具,可以从WSDL文件生成客户端代码,使得调用Web服务如同调用本地方法一样方便。 4. **XFIRE与CXF** 随着时间的发展,XFire与Aegis项目合并,形成了Apache CXF项目。CXF...
7. **挑战与注意事项**: - 跨域问题:由于同源策略限制,浏览器中的JavaScript直接调用Web服务可能面临跨域问题,需要配置CORS策略。 - 性能优化:大量请求可能导致服务器压力增大,需要考虑缓存策略、负载均衡和...
2. **创建Web Service客户端**:使用Xfire,你可以通过WSDL(Web Service Description Language)文件生成Web Service的客户端代理类。WSDL文件定义了服务的接口、操作、消息格式和地址。在Eclipse中,可以使用Xfire...
- 注意命名空间和WSDL文件的生成,确保它们与服务接口匹配。 这个入门实例旨在帮助初学者快速理解如何在Spring环境中利用XFire开发和消费Web服务。实践中,你可能还需要了解WS-Security、WS-Policy等高级特性,以及...
在Android应用中,你可以使用XFire生成的客户端jar包,直接调用预先定义好的服务方法。 5. **示例源码分析** 提供的源码可能包括以下几个关键部分: - 创建SOAP请求的函数,这通常涉及到构建XML字符串。 - 发送...
Java客户端调用WebService通常有两种方式:通过JAX-WS或通过工具自动生成客户端代理类。 ##### C#客户端调用 C#客户端调用同样可以通过WSDL生成代理类来进行。这通常涉及到使用.NET Framework中的`wsdl.exe`工具。 ...
4. ** 注意事项:** - 确保所有依赖库都已正确引入,否则可能会出现类找不到或运行时异常。 - 部署后,Web Service可以通过指定的URL访问,如http://localhost/webServices/ServiceName,这里的ServiceName是服务...
**四、注意事项** 1. **依赖管理**:确保正确管理项目的依赖关系,避免因缺失库导致的运行时错误。 2. **错误排查**:如果遇到问题,可以查看 CXF 的日志输出,以便定位问题所在。 3. **性能优化**:根据项目需求,...