javaweb学习路之四--cxf发布Webservice

背景:maven构建的springMvc+mybatis框架

源码---》https://github.com/Zering/MyWeb

步骤:(本步骤是自己在实际探索过程中的步骤,我的思路是先简单粗暴的写出方法,报错了再根据错误来解决问题)

  第一步:直接写出了接口和实现类

  示例接口代码

package com.app.service;

import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

@WebService
@SOAPBinding(style = Style.RPC)
public interface IWebService {

	public String sayHello(String string);
}

  示例实现类方法

package com.app.service.impl;

import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

import org.springframework.stereotype.Service;

import com.app.service.IWebService;

@Service
@WebService(endpointInterface="com.app.service.IWebService",serviceName="webservice1")
@SOAPBinding(style = Style.RPC)
public class WebserviceImpl implements IWebService {

	@Override
	public String sayHello(String string) {
		return "hello "+string;
	}

}

  第二步:写cxf的配置信息,创建一个application-cxf.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:p="http://www.springframework.org/schema/p"
	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"
	default-autowire="byName">

    <import resource="classpath*:META-INF/cxf/cxf.xml" />
	<import resource="classpath*:META-INF/cxf/cxf-extension-soap.xml" />
	<import resource="classpath*:META-INF/cxf/cxf-servlet.xml" />

    <bean id="inMessageInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
	<bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>  

	<jaxws:endpoint implementor="com.app.service.impl.WebserviceImpl" address="/webservice1"></jaxws:endpoint>

</beans>

  注意:这个文件里面的三个<import>是从jar包中导入的,所以在classpath后面一定要加*号

  步骤三:修改web.xml

    1.修改<context-param>

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:spring-mybatis.xml classpath:application-cxf.xml</param-value>
</context-param>

    2.追加一个webservice的servelet

    <!-- For WebService -->
	<servlet>
		<servlet-name>CXFServlet</servlet-name>
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
		<load-on-startup>2</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>CXFServlet</servlet-name>
		<url-pattern>/WebService/*</url-pattern>
	</servlet-mapping>

  步骤四:这个时候启动tomcat的话,会有异常说缺啥缺啥的,根据这个信息来导入相应的jar包,加的jar包如下:

    <dependency>
	  <groupId>org.apache.cxf</groupId>
	  <artifactId>apache-cxf</artifactId>
	  <version>3.1.6</version>
	  <type>pom</type>
    </dependency>
    <dependency>       <groupId>org.apache.cxf</groupId>
	  <artifactId>cxf-rt-bindings-soap</artifactId>
	  <version>3.1.6</version>
    </dependency>

  步骤五:验证,启动tomcat,url输入 http://localhost:8080/MyWeb/WebService

    

    完成。

  

  

时间: 2024-10-09 20:15:54

javaweb学习路之四--cxf发布Webservice的相关文章

WebService学习笔记-使用CXF发布Webservice

WeB项目结构如图 User.java实体类 public class User { private String username; private String description; //... } HelloWorld.java接口 @WebService public interface HelloWorld { String sayHi(@WebParam(name="text")String text);     String sayHiToUser(User user

cxf发布 webservice服务

导包 antlr-2.7.7.jar aopalliance-1.0.jar asm-3.3.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons-logging-1.1.1.jar cxf-2.4.2.jar cxf-manifest.jar cxf-xjc-boolean-2.4.0.jar cxf-xjc-bug671-2.4.0.jar cxf-xjc-dv-2.4.0.jar cxf-xjc-ts-2.4.0.ja

使用cxf发布webservice总结

一.概念 1.什么是webservice Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序. 2.wsdl 网络服务描述语言是一个用来描述Web服务和说明如何与Web服务通信的XML(标准通用标记语言的子集)语言.为用户提供详细的接口说明书. 3.soap 简单对象访问协议是交换数据的一种协议规范,是一种轻量的.简单的.基于XML(标准通用标记语言下的一个子

SpringBoot整合cxf发布webService

1. 看看项目结构图 2. cxf的pom依赖 1 <dependency>2 <groupId>org.apache.cxf</groupId>3 <artifactId>cxf-spring-boot-starter-jaxws</artifactId>4 <version>3.2.4</version>5 </dependency> 3. 开始编写webService服务端3.1 实体类entity 1

使用CXF发布webservice服务及注意要点

一.概念 1.什么是webservice Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序. 2.wsdl 网络服务描述语言是一个用来描述Web服务和说明如何与Web服务通信的XML(标准通用标记语言的子集)语言.为用户提供详细的接口说明书. 3.soap 简单对象访问协议是交换数据的一种协议规范,是一种轻量的.简单的.基于XML(标准通用标记语言下的一个子

Spring 集合cxf发布webservice

通过spring发布webservice接口 spring jar包+cxf jar Java包 以下文件缺少jar包需要自行去下载 项目结构 1.实体类 package com.test.entity; public class User { public User(String name, String pwd, String sex) { super(); this.name = name; this.pwd = pwd; this.sex = sex; } private String

So easy Webservice 7.CXF 发布WebService

(一)使用ServerFactoryBean 方式实现发布WS服务 1.新建项目,添加cxf jar包到项目中 2.编写服务实现类 /** * CXF WebService * 不用注解 * @author mlxs * */ public class CXFWebService { public String sayHello(String name){ return "hello," + name; } } 3.编写服务发布类 /** * CXF 使用ServerFactoryBe

javaweb学习路之三--websocket多人在线聊天

在之前的项目基础上,加入了一个聊天室的功能,为了界面好看 引入了AmazeUI和umeditor最终效果图如下: 源码在 https://github.com/Zering/MyWeb 目前练习都在这个上面做 如果导入maven项目出现 Cannot change version of project facet Dynamic Web Module to 3.0.之类的错误时,可以参考http://www.cnblogs.com/zhanghj405/p/5579627.html 进入正题 j

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