CXF开发WebServices接口

WebServices调用基本采用以下技术:

axis1 axis2 xfire cxf


目前应该cxf技术最新,前面的逐渐被淘汰。我们这里使用CXF来访问WebServices服务。


我们采用JDK1.6提供给我们的ws创建服务端

项目采用maven构建,pom.xml依赖如下

	<dependency>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-resources-plugin</artifactId>
			<version>2.4.3</version>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf.karaf</groupId>
			<artifactId>apache-cxf</artifactId>
			<version>2.7.11</version>
			<type>pom</type>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging-api</artifactId>
			<version>1.1</version>
		</dependency>
		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>3.1</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.9</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>


1.创建接口,提供用注解提示编译器 这个是WebServices接口。

import javax.jws.WebService;

@WebService
public interface HelloWorld {
	public String sayHello(String str);
}

2.完成接口的实现

import javax.jws.WebService;

@WebService(endpointInterface = "com.yonyou.wsserver.HelloWorld", serviceName = "hello")
public class WSClient implements HelloWorld {

	@Override
	public String sayHello(String str) {
		return "hello world";
	}
}

3.创建main函数启动服务端代码

import javax.xml.ws.Endpoint;

public class ServerMain {

	public static void main(String[] args) {

		HelloWorld helloWorld = new WSClient();
		Endpoint.publish("http://127.0.0.1:8080/hello", helloWorld);
		System.out.println("success");
	}

}



启动成功后访问一下  http://127.0.0.1:8080/hello?wsdl

接下来我们创建客户端调用服务端WebServices程序。我们使用wsdl2java,该工具在cxf的bin下

1.使用该工具 执行wsdl2java http://127.0.0.1:8080/hello?wsdl 会生成很多文件,如果有错误,直接注释或者删除就行了


2.编写代码,返回远程WebService的代理对象。执行对应接口方法就可以了

import com.yonyou.ws.server.impl.ImplMyFirstWS;

public class WSClient {
	public static void main(String[] args) {
		ImplMyFirstWS client = new ImplMyFirstWS();
		String str = client.insertData("高明");
		System.out.println(str);
	}
}
正常返回结果 ok  我们搞定了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值