WebService-CXF解决方案.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IT资讯交流网 WWW.IT315.ORG WebService-CXF 什么是CXF Apache CXF = Celtix + Xfire 支持多种协议: SOAP1.1,1,2 XML/HTTP CORBA(Common Object Request Broker Architecture公共对象请求代理体系结构,早期语言使用的WS。C,c++,C#) 并可以与Spring进行快速无缝的整合 灵活的部署:可以运行在Tomcat,Jboss,Jetty(内置),IBMWS,BeaWL上面。 什么是CXF: CXF的安装及配置 CXF的结构: 下载完成后将其解压到某个目录下: 安装CXF的其他支持项目: Ant Tomcat 并设置以下环境变量: JAVA_HOME CXF_HOME ANT_HOME CATALINA_HOME Path = %JAVA_HOME%\bin;%CXF_HOME%\bin;%CATALINA_HOME%\bin;%ANT_HOME%\bin CLASSPATH=.;%CXF_HOME%\lib\cxf-manifest.jar;.\build\classes 用ANT来构造第一个CXF示例: 在cxf_home\samples\java_first_pojo目录下启动服务器: 在命令行模式下进入上述目录: 执行 以下命令 ant server 在同一目录下打开新命令行窗口运行: ant client 查看它的源代码并修改运行: 用ANT将它发布到Tomcat服务器上: 1、执行ant clean清除以前生成的代码 2、执行ant war打包此应用。 3、执行ant deploy –Dtomcat=true将项目发布到tomcat的服务器上。 4、启动tomcat服务器 5、打开IE的地址栏输入: http://localhost:9999/helloworld/services/hello_world?wsdl 或:http://localhost:9999/helloworld/services 6、在命令行执行: ant client-servlet –Dbase.url=http://localhost:9999 或在MyEclipse的WebServiceExplorer中访问这个WebService 7、停止tomcat服务器。 8、卸载应用:ant undeploy –Dtomcat=true 9、清空项目:ant clean 在Eclipse中开发CXF的JavaSE应用: 导入CXF中的 所有jar文件。可以通过WACH_JARS来观察各jar文件的用途。 建立好之后的项目如 右图所示: CXF发布服务的类: 用两个不同的类发布应用: ServerFactoryBean -- FacotryBean JaxWsServerFactoryBean(建议使用此类) 服务与客户端类调用原则: 使用ServerFactoryBean发布服务: 使用ServerFactoryBean发布服务。 使用CXF发布一个服务,与JDK6发布一个服务完全不同 * 即使是不使用@WebService注解,一样可以发布成功 * 即使此类没有对外公布的方法一样可以发布成功 使用ClientProxyFactoryBean客户端调用: 使用ServerFactoryBean发布服务以后,在没有接口的情况下,可以使用wsimport生成的客户端代码调用成功。 但如果要使用ClientProxyFactoryBean客户端去调用服务器,则必须要先在服务器端创建一个接口。(一直以来,Spring都要求面向接口编程,而cxf与Spring能很好的整合,也就在此。),所以,必须要重写服务器端的代码。这将导致刚才使用wsimport生成的调用代码失效。 同时, ClientProxyFactoryBean由于要用到CXF环境,所以要导入CXF的所有包。 同时,如果是在本项目中调用,则可以直接使用本项目的接口。 如果在其他项目中调用,仍然需wsimport生成的类,但只需要一个接口。 使用JaxWsServerFactoryBean发布服务: (建议使用此类) JaxWsServerFactoryBean是ServerFactoryBean的子类,也是功能扩展类。 但在CXF的API文档中没有提供此类API,请通过查看源代码的方式获取此类的帮助。 此类,必须要在被发布为服务的类上添加@WebService注解,如果不加注解,虽然不 出错,但也不会对外暴露任何方法。 使用此类生成的wsdl文件更加规范。 以下是从它的源代码中找到的对此类的说明。 使用CXF的类发布一个服务: 使用J

文档评论(0)

我是兰花草 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档