apache cxf 编写web service接口样例程序
2013-09-28 00:00
579 查看
Apache的CXF现在几乎成了Java领域构建Web Service的首选类库,并且它也确实简单易用,下面是个Hello World示例。例子是基于Maven构建的工程,下面是我的pom.xml文件内容
Apache cxf 测试WebService接口 来源:csdn之
kongxx的专栏
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yeetrack</groupId> <artifactId>mavenWeb</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>mavenWeb Maven Webapp</name> <properties> <cxf.version>2.7.3</cxf.version> </properties> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>3.0.5</version> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-servlet_2.5_spec</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>${cxf.version}</version> </dependency> <!-- Jetty is needed if you're are not using the CXFServlet --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.5.8</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>1.5.8</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.0</version> </dependency> </dependencies> <build> <finalName>mavenWeb</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.10</version> <configuration> <stopPort>9966</stopPort> <stopKey>foo</stopKey> </configuration> </plugin> </plugins> </build> </project>下面来看看HelloWorld的具体例子。 1.创建HelloWorld 接口类
package com.yeetrack.cxf; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; @WebService public interface HelloWorld { @WebMethod @WebResult String sayHi(@WebParam String text); }2.创建HelloWorld实现类
package com.yeetrack.cxf; public class HelloWorldImpl implements HelloWorld { public String sayHi(String name) { String msg = "Hello " + name + "!"; return msg; } }3.创建Server端测试类
package com.yeetrack.cxf; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; // http://localhost:9000/HelloWorld?wsdl public class Server { public static void main(String[] args) throws Exception { JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean(); factory.setServiceClass(HelloWorldImpl.class); factory.setAddress("http://localhost:9000/ws/HelloWorld"); factory.create(); System.out.println("Server start..."); Thread.sleep(60 * 1000); System.out.println("Server exit..."); System.exit(0); } }4.创建Client端测试类
package com.yeetrack.cxf; 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/ws/HelloWorld"); HelloWorld helloworld = (HelloWorld) factory.create(); System.out.println(helloworld.sayHi("kongxx")); System.exit(0); } }5.测试 首先运行Server类来启动Web Service服务,然后访问http://localhost:9000/ws/HelloWorld?wsdl地址来确定web service启动正确。 运行Client测试类,会在命令行输出Hello kongxx!的message。
Apache cxf 测试WebService接口 来源:csdn之
kongxx的专栏
相关文章推荐
- 编写高质量代码改善C#程序的157个建议——建议102:区分接口和抽象类的应用场合
- C语言编写的接口程序
- MyEclipse用xfire插件写第一个Web service接口的程序步骤详解
- [基础题] 6.(*)按如下要求编写Java程序: (1)编写一个接口:OneToN,只含有一个方法int dispose(int n)
- 1.已知接口ComputerAverage,和主类Estimator,编写程序完成SongGame和School类。SongGame类能够根据歌手得分去掉一个最高分,去掉一个最低分,计算其余得分的平均
- 用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试
- Java实例 定义任务的一个发射小程序 实现Runnable接口并编写run()方法
- Apache CXF实现web service接口+客户端调用
- 有一个帐号类,包含有(id、用户名和密码),编写程序使用List接口来存储多个帐号对象,注意id是自动生成(规则是为List中所有帐号中最大的id再加1)
- 1)编写Animal接口,接口中声明run()方法; 2)定义Bird类和Fish类实现Animal接口; 3)编写Bird类和Fish类的测试程序,并调用其中的run()方法
- Hadoop详解(三)——MapReduce原理和执行过程,远程Debug,Writable序列化接口,MapReduce程序编写
- [编写高质量代码:改善java程序的151个建议]建议31-在接口中不要存在实现代码
- 编写高质量代码改善C#程序的157个建议——建议56:使用继承ISerializable接口更灵活地控制序列化过程
- 编写提供程序数据外部接口的程序
- 1)编写Animal接口,接口中声明run()方法; 2)定义Bird类和Fish类实现Animal接口; 3)编写Bird类和Fish类的测试程序,并调用其中的run()方法
- 1)编写Animal接口,接口中声明run()方法; 2)定义Bird类和Fish类实现Animal接口; 3)编写Bird类和Fish类的测试程序,并调用其中的run()方法
- C语言编写的接口程序
- 用caffe训练完模型之后调用matlab接口直接进行测试,不用重新编写模型程序
- 1)编写Animal接口,接口中声明run()方法; 2)定义Bird类和Fish类实现Animal接口; 3)编写Bird类和Fish类的测试程序,并调用其中的run()方法
- 接口介绍(在.NET下编写中文代码程序)