用cxf 框架发布webService(第二种,ServerFactoryBean带接口)

接口类需要注解

可以添加输入输出拦截器

package cn.itcast.cxf.server;

import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

import cn.itcast.webservice.userService.UserService;
import cn.itcast.webservice.userService.UserServiceImpl;

/**
 *
 * 使用cxf 提供的类 JaxWsServerFactoryBean 来发布一个带接口的webservice ...
 *
 * @ 作者 [email protected]
 *
 */
public class PublishUserService {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//创建发布服务的 类...
		JaxWsServerFactoryBean  bean=new JaxWsServerFactoryBean();
		//设置对外的访问地址
		bean.setAddress("http://192.168.9.100:7418/userService");
		bean.setServiceClass(UserService.class);//设置接口类型...
		bean.setServiceBean(new UserServiceImpl());//设置接口的实现类...

		//我们可以在发布服务的时候添加消息拦截器
		//拦截客户端往服务端 发送的请求的消息
		bean.getInInterceptors().add(new LoggingInInterceptor());
		//拦截服务端往客户端返回的消息...
		bean.getOutInterceptors().add(new LoggingOutInterceptor());

		bean.create();
	}

}
package cn.itcast.webservice.userService;

import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;

@WebService
@BindingType(value=SOAPBinding.SOAP12HTTP_BINDING)
public interface UserService {

	public void addUser(String userId);

	public String getUserById(int id);

}
package cn.itcast.webservice.userService;

public class UserServiceImpl implements UserService {

	@Override
	public void addUser(String userId) {
		System.out.println("小何");

	}

	@Override
	public String getUserById(int id) {

		return "如果认定了一件事情,那么一定要把它做到最好,加油,java!";
	}

}
时间: 2024-10-07 18:03:58

用cxf 框架发布webService(第二种,ServerFactoryBean带接口)的相关文章

Web服务cxf框架发布

CXF创建webservice客户端和服务端 分类:             [Webservice]              2013-07-13 18:42     11645人阅读     评论(10)     收藏     举报 Web服务cxf框架发布 目录(?)[+] 一CXF的介绍 二CXF的准备条件 三创建webservice服务端 先将jar包放入lib目录 在webxml中配置CXF框架的核心servlet 在applicationContextxml中导入xml并且发布w

webService总结(二)——使用CXF手动发布webService(不使用Spring)

上篇博客:webService总结(一)--使用CXF发布webService(不使用Spring) 介绍了不使用Spring自动发布webService,这篇博客介绍第二种方法--使用CXF手动发布webService(不使用Spring). CXF自动发布webService,我们使用的是Tomcat服务器.而使用CXF手动发布webService我们不再使用Tomcat,取而代之的是内嵌的jetty服务器.其实,jetty跟Tomcat并没有本质的区别,只是表现的形式不同,使用方法不同.既

基于CXF框架的webservice简单的SC两端出入拦截器实现。

开发工具:  ECLIPSE(EE) + CXF(2.5.9) (I)可以现在eclipse中使用JDK来创建webservice基础服务.(没有CXF框架的webservice) (1)新建一个java project. (命名为FirstWebService) 新建一个interface接口.改接口就是相当于webservice中的SEI. (在接口类定义前使用JDK自带webservice注释[email protected] SEI方法则是使用@WebMethod生命方法.) (2)在定

webService总结(三)——使用CXF + Spring发布webService

近些年来,Spring一直很火,许多框架都能跟Spring完美集成,CXF也不例外.下面,我就介绍一下如何使用CXF + Spring发布webService.我们还是使用前两篇博客使用的实例. 服务端: 目录结构: 这里需要的所有Spring的包,CXF的lib目录下都有. IHelloWorldServer代码: package com.test.server; import javax.jws.WebService; @WebService public interface IHelloW

WebService系列二:使用JDK和CXF框架开发WebService

一.使用JDK开发WebService 服务端程序创建: 1.新建一个JDK开发webservice的服务端maven项目JDKWebServiceServer 2. 定义一个接口,使用@WebService注解标注接口,使用@WebMethod注解标注接口中定义的所有方法 1 package com.study.webservice.ws; 2 3 import javax.jws.WebMethod; 4 import javax.jws.WebService; 5 6 /** 7 * 定义

spring,cxf,restful发布webservice传递List,Map,List<Map>

上一篇文章中概述了怎么在Javaweb中发布webservice,这篇文章讲解怎么传递复杂的对象 所用的jar包如下 当服务器返回的是List或者是Map时,一定要将其封装在一个类中, 首先创建封装类,封装了List,Map对象,以及自定义的User类 User.java public class User { private String name; private int age; public User() { } public User(String name, int age) { t

MyEclipse+CXF框架开发WebService

1 Apache CXF 简介 Apache CXF =Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding .DataBinding.Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL Fi

Web服务cxf框架发布2

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317/article/details/9320053 一.CXF的介绍 Apache CXF是一个开源的WebService框架,CXF大大简化了Webservice的创建,同时它继承了XFire的传统,一样可以和spring天然的进行无缝的集成.CXF框架是一种基于servlet技术的SOA应用开发框架

cxf+spring发布webservice和调用

项目所需jar包:http://files.cnblogs.com/files/walk-the-Line/cxf-spirng.zip 首先写一个demo接口 package cn.cxf.demo; import javax.jws.WebService; @WebService public interface Demo { String sayHi(String text); } 然后就需要它的实现类 targetNamespace 是指向接口的包路径 package cn.cxf.de