用cxf开发webservice 完整例子

前言

在开发java webservice时,有两个比较流行的框架:axis2和cxf。

cxf可以无缝的和spring集成,而axis2需要打包成jar文件,在tomcat下面跑。于是我们选择了cxf开发webservice。

下面一步步的介绍用cxf开发服务端和客户端的例子。

一、开发服务端:

1.开发接口类

package com.mycompany.webservice.server;

import javax.jws.WebService;

@WebService 
public interface Greeting { 
   public String greeting(String userName); 
}

2.开发实现类

import java.util.Calendar;
import javax.jws.WebService;

@WebService(endpointInterface = "com.mycompany.webservice.server.Greeting")
public class GreetingServiceImpl implements Greeting {
   public String greeting(String userName) {
      return "Hello " + userName + ", currentTime is " + Calendar.getInstance().getTime();
   }
}
服务端的代码开发就到此了。下面要配置文件。

二、配置文件

1.在application.xml中:

添加(实现类的bean,需要spring注入)

<bean id="greetingServiceImpl" class="com.mycompany.webservice.server.GreetingServiceImpl"/>
<jaxws:endpoint id="greetingService"  implementor="#greetingServiceImpl"   address="/Greeting" />
2.在web.xml中:

<servlet>  
    <servlet-name>CXFServlet</servlet-name>  
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>  
    <servlet-name>CXFServlet</servlet-name>  
    <url-pattern>/webservice/*</url-pattern>  
</servlet-mapping>
这个设置很重要,那么我们的webservice的地址就http://localhost:8080/yourProgramName/webservice/Greeting

好了。到此我们的服务端就开发好了。

三、开发客户端

下面开发我们的客户端,来调用上面的服务。

package com.mycompany.webservice.client;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

public class GreetingServiceClient {
   public static void main(String[] args) {
      //创建WebService客户端代理工厂
      JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
      //注册WebService接口
      factory.setServiceClass(Greeting.class);
      //设置WebService地址
      factory.setAddress("http://localhost:8080/yourProgramName/webservice/Greeting");
      Greeting greetingService = (Greeting)factory.create();
      System.out.println("invoke webservice...");
      System.out.println("message context is:"+greetingService.greeting("gary"));   
   }
}
好了客户端也开发完成。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值