`
hao0610
  • 浏览: 127486 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

CXF+Spring实现一个简单WebService

 
阅读更多
WebService   server:
创建一个名为webserviceServer的web项目, 导入相关的jar包和CXF的jar包. CXF可以apache.org去下载.

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
	<display-name>webserviceServer</display-name>

	<!-- 使用Spring Filter 配置字符集 -->
	<filter>
		<filter-name>Spring character encoding filter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>Spring character encoding filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- 加载监听 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- 加载环境上下文 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/classes/config/spring/spring-*.xml
		</param-value>
	</context-param>
	
	<!-- Apache CXFServlet -->
    <servlet>
        <servlet-name>CXFServlet</servlet-name>
        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- CXFServlet Mapping -->
    <servlet-mapping>
        <servlet-name>CXFServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>


spring-context.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:jaxws="http://cxf.apache.org/jaxws"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://cxf.apache.org/jaxws 
        http://cxf.apache.org/schemas/jaxws.xsd">
	
	<bean id="userService" class="com.hao.webservice.service.impl.UserServiceImpl">
        <property name="username" value="chenghao"/> <!--用户名-->
        <property name="password" value="123456"/> <!--密码-->
    </bean>
 
 	<!-- Expose UserWebService -->
	<jaxws:server id="userWebService" 
        serviceClass="com.hao.webservice.service.IUserService" 
        address="/UserWebService"> <!--serviceClass是接口名, address是访问路径-->
        <jaxws:serviceBean>
            <ref bean="userService"/>
        </jaxws:serviceBean>
    </jaxws:server>

</beans>


IUserService.java:
package com.hao.webservice.service;

import javax.jws.WebService;

@WebService
public interface IUserService {
	/**
	 * 登录
	 * @param username
	 * @param password
	 * @return
	 */
	String login(String username, String password);
}


UserServiceImpl.java:
package com.hao.webservice.service.impl;

import com.hao.webservice.service.IUserService;

public class UserServiceImpl implements IUserService {

	private String username;
	private String password;

	@Override
	public String login(String username, String password) {
		if (username.equals(getUsername()) && password.equals(getPassword())) {
			return "登录成功.";
		} else {
			return "登录失败.";
		}
	}

	public String getUsername() {
		return username;
	}

	public String getPassword() {
		return password;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}


现在将webserviceServer项目发布到servlet容器里(tomcat,jetty). 可以在浏览器输入http://localhost:8080/webserviceServer进行查看.



WebService   client:
创建一个名为webserviceClient的web项目或java项目, 导入相关的jar包和CXF的jar包. CXF可以apache.org去下载.

UserServiceTest.java
package com.hao.webservice.client.test;

import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import 
public class UserServiceTest {
	public static void main(String[] args) throws Exception {
		
		JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
        Client client = dcf.createClient("http://localhost:8080/webserviceServer/UserWebService?wsdl");
        //login 为接口中定义的方法名称   "chenghao","123456"为传递的2个参数   返回一个Object数组
        Object[] objects=client.invoke("login", "chenghao","123456"); 
        System.out.println(objects[0].toString());
		
	}
}



然后运行UserServiceTest类.
分享到:
评论

相关推荐

    cxf+spring实现webservice

    Spring框架则是一个广泛使用的Java企业级应用框架,提供了依赖注入、AOP(面向切面编程)、数据访问和事务管理等功能,使得应用程序的开发变得更加简单和模块化。 在结合CXF和Spring实现Web Service的过程中,主要...

    CXF+Spring+自定义拦截器 WebService实例源码下载

    这里少了一个类,是根据实体类生成xml的文件下载地址为:http://download.csdn.net/detail/qq_14996421/9495688

    简单的webservice+Cxf+Spring数据对接实例以及jar.rar

    简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar...

    CXF+Spring+自定义拦截器 webservice源码下载

    CXF+Spring+自定义拦截器 webservice源码下载

    Apache CXF2+Spring2.5轻松实现WebService

    Apache CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务。结合Spring框架,可以轻松地在Java应用程序中实现Web服务。本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 ...

    CXF+spring+jdk1.5开发webService

    - 测试 WebService 是否成功部署的一个简单方法是通过浏览器访问其 WSDL 地址。 - 例如,如果 WebService 的 URL 为 `http://192.168.11.66:7001/crf_webp2p_back/hello/IService?wsdl`,则可以通过访问该 URL 来...

    CXF+Spring+Hibernate实现WebService

    **WebService实现**:在CXF的帮助下,我们可以通过以下步骤实现一个WebService: 1. **定义服务接口**:首先,我们需要定义一个Java接口,包含要暴露给客户端的方法。 2. **创建服务实现**:然后,实现该接口,具体...

    cxf+spring webservice demo client

    Apache CXF是一个开源的Java框架,它为构建和消费Web服务提供了强大的支持,而Spring框架则是一个广泛使用的应用开发框架,它简化了Java应用的配置和管理。 【描述】:“这个是cxf 集成spring 的webservice的例子 ...

    CXF+Spring+Tomcat发布WebService

    【标题】"CXF+Spring+Tomcat发布WebService"涉及的是使用Apache CXF框架与Spring框架结合,在Tomcat服务器上部署和消费Web服务的过程。这是一个常见的企业级应用开发场景,特别是对于实现基于SOAP协议的Web服务。...

    Spring+CXF+tomcat开发webservice

    这个项目"Spring+CXF+tomcat开发webservice"旨在教你如何利用这些技术搭建一个完整的Web服务环境,包括服务端和服务端客户端的实现。 **Spring** 是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入(DI)...

    cxf+Spring实现webservice工程

    Apache CXF是一个强大的开源框架,它提供了多种方式来构建和部署Web服务,而Spring则以其模块化、易用性和丰富的功能闻名,是Java开发中的常用框架。 首先,让我们深入了解Apache CXF。CXF允许开发者使用Java编程...

    使用Eclipse+Maven+Spring+CXF构建的WebService服务

    Web项目中基于Maven与Spring整合的WebService之cxf的实现⬇️ 详情请参考如下链接: https://locqi.github.io/locqi.com/2018/09/05/Eclipse+Maven+Spring+CXF-create-WebService/

    cxf+spring实现webservice例子

    总的来说,这个例子展示了如何利用CXF和Spring的强大功能创建一个简单的Web服务。在实际开发中,你可以根据需求扩展服务功能,实现更复杂的业务逻辑,同时享受到这两个框架带来的便利性和灵活性。

    SpringBoot+Mybatis+CXF框架,实现Restful api与 WebService api接口的大实验

    CXF是一个基于Apache的开源WebService框架,提供了丰富的WebService开发功能。 5. Mybatis:在本实验中,我们使用Mybatis来实现数据库操作。Mybatis是一个基于Java的持久层框架,提供了丰富的数据库操作功能。 6. ...

    CXF2.1.3+spring3.0+struts2.3.4

    【Struts2】是ActionServlet的一个实现,用于处理HTTP请求。Struts2.3.4版本包含了一些关键改进,如增强了拦截器的灵活性,提供了更多的插件支持,以及对最新Java和Web技术的兼容性。Struts2可以与CXF结合,通过...

    cxf+spring的webservice实例

    总的来说,"cxf+spring的webservice实例"是一个实践性的教程,旨在帮助开发者理解如何在Spring环境中利用CXF快速构建和部署Web服务。通过这个实例,你可以掌握从创建服务到发布、测试的整个流程,进一步提升你的Java...

    cxf+spring+tomcat

    【标题】"cxf+spring+tomcat"的组合是一个常见的Web服务开发环境,它将Apache CXF(一个用于构建和消费Web服务的开源框架)与Spring框架(一个广泛使用的Java企业级应用开发框架)以及Tomcat(一个流行的轻量级Java...

    cxf+spring开发webservice实例(java)

    web项目使用spring和cxf的一个开发实例,有简单的代码样例和jar。是一个完整的项目,最终发布完成时访问 http://ip:port/项目名称/webservices/ 就会发现你发布的webservice服务。

    cxf+spring webservice server demo

    【标题】"cxf+spring webservice server demo"是一个基于Apache CXF和Spring框架构建的Web服务服务器端示例项目。这个项目展示了如何将CXF与Spring集成,以创建、部署和运行一个高效的Web服务。 【描述】指出,由于...

    Weblogic92+CXF+XDoclet+Spring轻松搞定webservice 例子

    Spring是一个全面的企业级应用开发框架,它提供了一个容器来管理Java对象的生命周期和依赖关系,同时也支持AOP(面向切面编程)和IoC(控制反转)。在Web服务场景中,Spring可以用来管理CXF的服务bean,并负责处理...

Global site tag (gtag.js) - Google Analytics