简单的webService程序

本实例中需要引入cxf-2.0.10.jar的jar包,在链接http://192.168.0.122:8888/CXFWEBService/中的[color=darkred]CXFWEBService 是项目的名称[/color],

需要注意的一点是:
在服务器端,使用的工厂是JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();,
设置的class 是实现类,如:factory.setServiceClass(SayHappyImpl.class);

在客户端: 使用的工厂是 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
设置的class是接口,如:factory.setServiceClass(SayHappy.class);

[ :) b]第一步: 创建一个接口[/b]
package com.test.cxf.service.server;
import javax.jws.WebService;

// 注明webservice的接口
@WebService
public interface SayHappy {

/**
* WebService接口定义类.
*
* 使用@WebService将接口中的所有方法输出为Web Service.
* 可用annotation对设置方法、参数和返回值在WSDL中的定义.
*/

public String letMeSayHappy();

public String letKanasiiGo();

/**
* 一个复杂地方法,通过对象来交互
* @param
* @param
* @return
* @WebParam(name="xxxx")设置wsdl文件中传的参数的名称
* @WebResult(name="xxxx")设置wsdl文件中返回的结果的名称
*/
// public People changePeopleAge(String operName,String operPass);
}

:) [b]第二步:创建一个类,实现上面的接口[/b]
package com.test.cxf.service.server;

import javax.jws.WebService;

/**
* WebService接口的具体实现类
*
* @author
* @WebService(endpointInterface="xxxx") xxxx指向接口的全路径
*/

// 这个实现类上的注解让CXF知道哪个接口要创建我们的WSDL的。
@WebService(endpointInterface = "com.test.cxf.service.server.SayHappy")
public class SayHappyImpl implements SayHappy {

public String letKanasiiGo() {
// TODO Auto-generated method stub
return "悲しみにさよなら";
}

public String letMeSayHappy() {
// TODO Auto-generated method stub
return "幸せに過ごす!";
}

}

:) [b]第三步:创建服务器端,发布webservice[/b]
package com.test.cxf.service.server;

import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

public class SayHappyServer {

/**
* @param args
*/
public static void main(String[] args) {
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();

// JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();



factory.setServiceClass(SayHappyImpl.class);//
factory.setAddress("http://192.168.0.122:8888/CXFWEBService/");

Server server = factory.create();

server.start();

}

}

Endpoint.publish("http://localhost:8080/helloWebService",new HelloWebServiceImpl()); 同样也是发布服务的方式之一
第四步:创建客户端接口,访问webservice
package com.test.cxf.service.server;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; //cxf-2.0.10.jar

public class SayHappyClientTest {

public static void main(String[] args){

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

factory.setServiceClass(SayHappy.class);//
factory.setAddress("http://192.168.0.122:8888/CXFWEBService/");

SayHappy sayHappy = (SayHappy) factory.create();
System.out.println("webservice:"+sayHappy.letMeSayHappy());

}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值