您的位置:首页 > 运维架构 > Apache

使用Apache CXF创建简单Web Service

2010-05-05 20:09 330 查看
1.创建HelloWorld 接口类

package com.googlecode.garbagecan.cxfstudy.helloworld;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public @WebResult(name="String")String sayHi(@WebParam(name="text") String text);
}


2.创建HelloWorld实现类

package com.googlecode.garbagecan.cxfstudy.helloworld;
public class HelloWorldImpl implements HelloWorld {
public String sayHi(String name) {
String msg = "Hello " + name + "!";
System.out.println("Server: " + msg);
return msg;
}
}


3.创建Server端测试类

package com.googlecode.garbagecan.cxfstudy.helloworld;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
// http://localhost:9000/HelloWorld?wsdl public class Server {
public static void main(String[] args) throws Exception {
HelloWorld helloWorld = new HelloWorldImpl();
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
factory.setServiceClass(HelloWorld.class);
factory.setAddress("http://localhost:9000/HelloWorld");
factory.setServiceBean(helloWorld);
factory.create();
System.out.println("Server start...");
Thread.sleep(60 * 1000);
System.out.println("Server exit...");
System.exit(0);
}
}


4.创建Client端测试类

package com.googlecode.garbagecan.cxfstudy.helloworld;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
public class Client {
public static void main(String[] args) {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(HelloWorld.class);
factory.setAddress("http://localhost:9000/HelloWorld");
HelloWorld helloworld = (HelloWorld) factory.create();
System.out.println(helloworld.sayHi("kongxx"));
System.exit(0);
}
}


5.测试

首先运行Server类来启动Web Service服务,然后访问http://localhost:9000/HelloWorld?wsdl地址来确定web service启动正确。

运行Client测试类,会在命令行输出Hello kongxx!的message。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: