`

myeclipse开发基于cxf的webservice

阅读更多
首先下载cxf包,目前最新的版本是apache-cxf-2.1.,下栽地址http://cxf.apache.org/download.html

 1. 首先新建一个web工程CxfService,倒入cxf所学要的包。要倒入的包如下:

commons-logging-1.1.jar
geronimo-activation_1.1_spec-1.0-M1.jar (or Sun's Activation jar)
geronimo-annotation_1.0_spec-1.1.jar (JSR 250)
geronimo-javamail_1.4_spec-1.0-M1.jar (or Sun's JavaMail jar)
geronimo-servlet_2.5_spec-1.1-M1.jar (or Sun's Servlet jar)
geronimo-ws-metadata_2.0_spec-1.1.1.jar (JSR 181)
jaxb-api-2.1.jar
jaxb-impl-2.1.6.jar
jaxws-api-2.1.jar
jetty-6.1.5.jar
jetty-util-6.1.5.jar
neethi-2.0.jar
saaj-api-1.3.jar
saaj-impl-1.3.jar
stax-api-1.0.1.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.1.jar
XmlSchema-1.2.jar
xml-resolver-1.2.jar

The Spring jars (optional - for XML Configuration support):

aopalliance-1.0.jar
spring-core-2.0.4.jar
spring-beans-2.0.4.jar
spring-context-2.0.4.jar
spring-web-2.0.4.jar

And the CXF jar:

cxf-2.1.jar
2.新建一个接口类:HelloWorld,如下:
Java代码 复制代码 收藏代码
package com.zx.cxf.service;

import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
public interface HelloWorld {
    String sayHi(@WebParam(name="text") String text);
}
 创建接口的实现类:HelloWorldImpl,如下
Java代码 复制代码 收藏代码
package com.zx.cxf.service;

import javax.jws.WebService;

import com.zx.cxf.service.HelloWorld;
@WebService(endpointInterface = "com.zx.cxf.service.HelloWorld/*没有.java后缀*/",
            serviceName = "HelloWorld")
public class HelloWorldImpl implements HelloWorld {
 
    public String sayHi(String text) {
        return "Hello " + text;
    }
}
*@WebService:申明为webservice的注解 
*endpointInterface:要暴露的接口类
 *serviceName :    服务名
在WEB-INF目录下新建beans.xml,如下:
Xml代码 复制代码 收藏代码
<?xml version="1.0" encoding="UTF-8"?>

<!-- START SNIPPET: beans -->
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:jaxws="http://cxf.apache.org/jaxws"
	xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

	<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" />

	<jaxws:endpoint 
	  id="helloWorld" 
	  implementor="com.zx.cxf.service.HelloWorldImpl" <!--没有.java-->
	  address="/HelloWorld" />
	  
</beans>
<!-- END SNIPPET: beans -->
 注: implementor :接口类的实现类
        address:   要和注释里面神秘的服务名对应,
修改web.xml文件,如下:
Xml代码 复制代码 收藏代码
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<!-- START SNIPPET: webxml -->
<web-app>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/beans.xml</param-value>
	</context-param>

	<listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>

	<servlet>
		<servlet-name>CXFServlet</servlet-name>
		<display-name>CXF Servlet</display-name>
		<servlet-class>
			org.apache.cxf.transport.servlet.CXFServlet
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>CXFServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>
</web-app>
<!-- END SNIPPET: webxml -->
启动tomcat
测试:简单的测试就是ie测试,在浏览器中输入http://localhost:8080/CxfService/services/,如果出现

{http://service.cxf.zx.com/}HelloWorldImplPort ,或者输入http://localhost:8080/CxfService/services/HelloWorld?wsdl,出现wsdl文挡,则说明服务器端配置成功。

 可户端测试:

测试类如下:

Java代码 复制代码 收藏代码
package com.zx.cxf.service;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.interceptor.*;
import com.zx.cxf.service.HelloWorld;
public  class client {

   

    private client() {
    } 

    public static void main(String args[]) throws Exception {
    	JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
    	factory.getInInterceptors().add(new LoggingInInterceptor());
    	factory.getOutInterceptors().add(new LoggingOutInterceptor());
    	factory.setServiceClass(HelloWorld.class);
    	factory.setAddress("http://localhost:8080/CxfService/services/HelloWorld");
    	HelloWorld client = (HelloWorld) factory.create();

    	String reply = client.sayHi("HI");
    	System.out.println("Server said: " + reply);
    }

}

 如果控制台打印出:Server said: Hello HI则说明测试成功。

Ps:如果出现in thread "main" javax.xml.ws.soap.SOAPFaultException: Error reading XMLStreamReader.

关掉防火墙就可以了。

下面是源文件:下载后倒入所需要的包

分享到:
评论

相关推荐

    CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档)

    CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档) 需要视频的话,留邮箱

    cxf 方式下的webservice服务端开发 myeclipse源码

    cxf 方式下的webservice服务端开发的源码myeclipse源码,在http://www.oschina.net/里搜索cxf 方式下的webservice服务端开发的第一篇博客即是说明文档。

    spring+cxf 开发webservice

    6. **MyEclipse**:MyEclipse是基于Eclipse的IDE,增加了对Java EE项目的特殊支持,包括图形化部署描述符编辑器、数据库工具和Web服务工具,使得在IDE内开发Spring+CXF项目更为便捷。 7. **二次开发**:这个项目...

    用MyEclipse6.0开发XFire WebService应用

    【标题】"用MyEclipse6.0开发XFire WebService应用"主要涉及的是在Java Web开发环境中,利用MyEclipse6.0这个强大的集成开发环境(IDE)来创建和消费基于XFire技术的Web服务。XFire是Apache CXF项目的一部分,是一个...

    使用CXF调用发布webservice

    【精品文档】基于cxf webservice传递List及bean.pdf CXF学习笔记.doc 使用Apache CXF开发Web Service.pdf 如何使用myeclipse开发 webservice

    MyEclipse下XFire开发Webservice实例

    本教程将深入探讨如何在MyEclipse集成开发环境中使用XFire来开发Web服务实例。 首先,我们需要了解MyEclipse。MyEclipse是一款强大的Java EE集成开发环境,它是Eclipse的扩展,集成了大量的Web、Java、数据库和应用...

    spring3 cxf oracle 创建webservice验证 myeclipse10开发

    利用spring3 + cxf 开发的一个webservice验证用户是否存在 数据库oracle ,有建库脚本。下载后改一下datasource中oracle配置 jaxws:endpoint传参研究了好几天,备份一下。

    php调用webservice及myeclipse创建webservice实例

    在提供的压缩包文件中,"php+webservice"很可能包含了PHP代码文件,用于演示如何调用由MyEclipse创建的Web服务。这些文件可能包括一个PHP脚本,该脚本使用SoapClient类与Web服务交互,以及MyEclipse项目中的源代码和...

    myeclipse搭建webservice实例讲解_myeclipse_building_webservice_

    MyEclipse是一款强大的Java集成开发环境,特别适合于构建企业级Web应用,包括Web服务。在本实例中,我们将深入探讨如何使用MyEclipse来搭建一个Web服务。这个过程涉及了多个步骤,包括创建项目、定义服务接口、实现...

    eclipse,myeclipse开发webservice

    【标题】"eclipse,myeclipse开发webservice"涵盖了使用Eclipse和MyEclipse集成开发环境(IDEs)创建和使用Web服务的核心概念。Web服务是一种基于互联网的软件组件,允许不同系统间的通信和数据交换。Eclipse和...

    cxf实现webservice的项目实例

    1. **环境准备**:首先,你需要安装Java JDK和MyEclipse集成开发环境,同时确保你的系统中已经配置了Apache CXF库。 2. **创建项目**:在MyEclipse中,新建一个Dynamic Web Project,并在项目中引入CXF相关的依赖库...

    使用CXF实现WebService

    2、将cxf_jar包文件夹下所有包,拷至MyCXFService与MyCXFClient项目WebRoot\WEB-INF\lib\cxf_2.7.8 目录下(注意:两个项目都需要这些jar包) 3、将两个项目都导入myEclipse 4、将MyCXFService与MyCXFClient 一起...

    Myeclipse创建的webservice应用源码

    Webservice基于开放的XML(可扩展标记语言)标准,使得不同平台、不同编程语言的系统能够无缝对接。Myeclipse作为一款强大的Java集成开发环境,提供了一流的支持来创建、部署和调试Webservice应用。本文将深入探讨...

    cxf开发webService.pdf

    在本示例中,我们将学习如何使用Apache CXF在MyEclipse 6.01环境下开发一个简单的Web服务服务端。首先,我们需要创建一个Web工程。接着,定义服务接口和实现类。`IHelloService.java`是服务接口,通过`@WebService`...

    Myeclipse10 用 Xfire构建 webservice

    MyEclipse10是基于Eclipse的商业级Java开发平台,支持多种技术栈,包括Java EE、Spring、Struts等。其强大的功能包括代码编辑、调试、测试、部署等,尤其在Web服务开发方面,提供了可视化工具,使得开发过程更为便捷...

    MyEclipse下用XFire开发WebService(入门级)源码

    标题中的"MyEclipse下用XFire开发WebService(入门级)源码"指的是一项使用MyEclipse集成开发环境,结合XFire框架来创建和部署Web服务的教程,适合初学者。XFire是一款早期的Java Web服务实现库,它简化了SOAP(简单...

    如何在MyEclipse和Eclipse下安装XFire插件CXF插件 WebService.docx

    在IT行业中,开发Web服务是常见的任务之一,而Apache CXF和XFire是两种流行的Java Web Service框架。本文主要讨论如何在MyEclipse和Eclipse集成开发环境中安装和配置这两款插件,以便进行Web服务的开发。 首先,...

    webservice cxf集成servlet

    - **项目命名**:首先,在开发环境中创建一个新的Web项目,并将其命名为`cxf_bigdata`。 ##### 2. 目录结构 - 项目的目录结构应该包括以下几个主要部分: - `WEB-INF` - `classes` - 包含POJO类、接口和服务实现...

Global site tag (gtag.js) - Google Analytics