`
java_eye2009
  • 浏览: 82854 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

webservice cxf初探

 
阅读更多

1. 采用webservice原因

   公司的几个项目都用到了同一个服务,所以把这个服务做成了webservice

 

2. 实现webservice技术

   采用的cxf,之所以选择cxf不选择axis,是因为cxf对spring支持

 

3. cxf梳理

 

    3.1 之前参考原来的代码也会使用webservice服务,但不知道所以然,现在有点时间,了解一下cxf,现在归纳一下自己知道的,以防以后忘记。

 

    3.2 简单的例子可以参考http://cxf.apache.org/docs/a-simple-jax-ws-service.html

 

    3.3 1)服务端

          创建webservice 服务端,创建一个接口和实现类,在接口和实现类中增加要发布的方法,然后通过xml文件发布出去,形式一如下:

            <bean id="hello" class="demo.spring.HelloWorldImpl"/>  
           <jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" />

 

           形式一是spring托管方式

 

           形式二如下:

           <jaxws:endpoint    id="helloWorld"    implementor="demo.spring.HelloWorldImpl"
  address="/HelloWorld" />

 

   访问http://IP:端口/项目名,如果网页能正常打开,说明服务发布成功

 

          2)客户端

          在客户端需要建立和服务端一样的接口,目的是客户端可以识别服务端提供的接口和方法

          客户端在xml文件中配置如下

           <jaxws:client id="helloClient"
                  serviceClass="demo.spring.HelloWorld"
                  address="http://localhost:8080/项目名/HelloWorld" />

 

           或

           <bean id="helloClient" class="demo.spring.HelloWorld" factory-bean="clientFactory" 
           factory-method="create" />  
         
          <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">  
            <property name="serviceClass" value="demo.spring.HelloWorld" />  
            <property name="address" value="http://localhost:8080/项目名/HelloWorld" />      
         </bean> 

 

           然后项目加载这个xml文件,获得helloClient Bean,然后调用相应的webservice方法

   

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics