加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Cxf开发服务与客户端

发布时间:2020-12-17 00:37:37 所属栏目:安全 来源:网络整理
导读:这里我是用MyEclipse写的例子 1。首先到apache的官网下载Cxf的依赖包。 2。把cxf-manifest.jar和cxf-2.4.9.jar添加进项目的LIB。 3。服务接口: package com.cxf;import javax.jws.WebService;@WebServicepublic interface HelloSay {public String SayHello

这里我是用MyEclipse写的例子

1。首先到apache的官网下载Cxf的依赖包。

2。把cxf-manifest.jar和cxf-2.4.9.jar添加进项目的LIB。

3。服务接口:

package com.cxf;

import javax.jws.WebService;

@WebService
public interface HelloSay {
		
	public String SayHello(String msg);
	
}
4。服务Impl代码:

package com.cxf;

import javax.jws.WebService;

@WebService
public class HelloImpl implements HelloSay {
	//服务器端提示
	@Override
	public String SayHello(String msg) {
		System.out.println("CXF的WebService被调用。。。");
		return "Hello World" + msg;
	}
}


5.发布服务代码

package com.cxf;

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

public class TestService {

	public static void main(String[] args) {
		//发布WEBSERVICE的服务
		//创建服务的发布工厂
		JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();
		//在工厂中,指定要发布的服务类(服务的实现类)
		factoryBean.setServiceClass(HelloImpl.class);
		//设置WEB请求的地址
		factoryBean.setAddress("http://localhost:8080/HelloTest");
		//使用工厂创建具体的服务
		Server server = factoryBean.create();
		//服务开始
		server.start();
	}
}
注:这里的链接
http://localhost:8080/后面的服务名随便填。
运行main,这样一个服务就建好了!
接下来可以在浏览器中输入:
http://localhost:8080/HelloTest?wsdl,如果显示XML格式的内容,说明正确了。


6。自已写客户端调用服务

package com.cxf;

import javax.jws.WebService;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

public class TestClient {
	
	public static void main(String[] args) {
		//创建客户端的WEBSERVICE服务代理工厂
		JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();
		//指定要访问的WebService的地址
		factoryBean.setAddress("http://localhost:8080/HelloTest");
		//指定要访问的方法类型,(方法的发布的接口)
		factoryBean.setServiceClass(HelloSay.class);
		//获取指定方法
		HelloSay pic = (HelloSay)factoryBean.create();
		//远程调用
		System.out.println("客户端的调用结果是:" + pic.SayHello("我是岳宜臣,这是我的测试程序!"));
	}
	
}

不多说,看注释,直接运行!

运行结果:客户端的调用结果是:Hello World我是岳宜臣,这是我的测试程序!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读