webservice cxf 实例

转自百度空间:http://hi.baidu.com/cpuhandou/item/b8b439860afb99c9ee083d65

CXF webservice 开发入门

1.      
新建一个JavaWebProject,命名为cxfDemo

选择【next】,为project添加userLib库。
       

2.      
打开新建的project,在src下新建包com.handou.cxf.test。在包中新建inteface名称为HelloWorld
代码如下:
@WebService
public
interface HelloWorld {
   
@WebMethod
    public String
sayHello(@WebParam(name="name")String name);

}

新建一个class为该接口的实现类,其代码如下:
public class HelloWorldImpl
implements HelloWorld {
    public String
sayHello(String name) {
       //
TODO Auto-generated method
stub
       return name.concat(" ,
Hello WebService!!!");
    }
}

3.      
发布webservice。
采用cxf内置的Jetty服务器发布服务。在HelloWorldImpl的实现类中添加main()方法,具体如下:
public
static void main(String[] args) {
     
HelloWorldImpl implementor = new
HelloWorldImpl();
     
JaxWsServerFactoryBean svrFactory = new
JaxWsServerFactoryBean();
     
svrFactory.setServiceClass(HelloWorld.class);
     
svrFactory.setAddress("http://localhost:8080/helloWorld");
     
svrFactory.setServiceBean(implementor);
     
svrFactory.getInInterceptors().add(new
LoggingInInterceptor());
     
svrFactory.getOutInterceptors().add(new
LoggingOutInterceptor());
     
svrFactory.create();
   }

4.       在地址栏输入http://localhost:8080/helloWorld?wsdl,查看wsdl详细信息



5.      
访问webservice服务端。
方法1:由wsdl可知接口只有一个供调用的operation,方法名称为sayHello,输入参数变量名称为name,数据类型为string,采用地址栏url?+参数测试,输入:
http://localhost:8080/helloWorld/sayHello?name=HanDou,显示返回信息如图:

方法2:客户端编码调用。
       
新建Java类HelloClient,其代码如下:
      
public class HelloClient {
   
/**
     * @param
args
     */
    public
static void main(String[] args)
{   
      
JaxWsProxyFactoryBean factory = new
JaxWsProxyFactoryBean();
      
//factory.getInInterceptors().add(new
LoggingInInterceptor());
      
factory.getOutInterceptors().add(new
LoggingOutInterceptor());
      
factory.setServiceClass(HelloWorld.class);
      
factory.setAddress("http://localhost:8080/helloWorld");
      
HelloWorld client = (HelloWorld)
factory.create();
       String
reply =
client.sayHello("HanDou");
      
System.out.println("Server said: " +
reply);
      
System.exit(0);
    }
}

控制台显示反馈消息:



6.      
采用spring+cxf集成发布webservice。

1.在WEB-INF下新建beans.xml,beans.xml中添加cxf配置。
   
<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.handou.cxf.test.HelloWorldImpl" 
     
address="/HelloWorld"/>
</beans>

2.在web.xml中添加spring和cxf的配置
      
<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>/*</url-pattern>
   
</servlet-mapping>
</web-app>

3.部署文件至服务器,启动服务器,通过IP地址+端口+工程名+webservice服务名。 
先访问工程,如图:

点击wsdl进入http://localhost:8080/cxf/HelloWorld?wsdl,可获得wsdl详细信息

#webservice/xml/esb

webservice cxf 实例,布布扣,bubuko.com

时间: 2024-12-22 15:45:12

webservice cxf 实例的相关文章

WebService CXF调用方式《三》

问题?WebService CXF调用方式<三>,CXF工作原理和调用方式 一.CXF是什么? Apache CXF是一个开源的,全功能的,容易使用的Web服务框架.CXF是两个项目的结合:由IONA技术公司(现在是Progress的一部分)开发的Celtix和由Codehaus主持的团队开发的XFire,合并是由人们在在Apache软件基金会共同完成的.CXF的名字来源于"Celtix"和"XFire"的首字母. 二.CXF有什么作用? Apache

webservice cxf使用

环境:jdk1.7      grails2.4.0       ubuntu13 所需要的jar包:cxf-2.0.1 服务器端: 定义接口类: public interface IApp{ ...........//接口方法 } 定义实现类: public class AppService implements IApp{ //定义远程调用方法使用哪种协议;rmi不可以跨防火墙; static expose ['cxf','rmi']; //剔除掉不需要被客户端调用的方法; static e

php webservice 接口 实例 机票航班时刻表

<?php header('Content-Type: text/html; charset=UTF-8'); $client = new SoapClient('http://webservice.webxml.com.cn/webservices/DomesticAirline.asmx?wsdl'); $fromcity=!empty($_POST['fromcity']) ? trim($_POST['fromcity']) : '长沙'; $tocity=!empty($_POST['

主题:Java WebService 简单实例

链接地址:主题:Java WebService 简单实例    http://www.iteye.com/topic/1135747 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作. 一.准备工作(以下为本实例使用工具) 1.MyEclipse10.7.1 2.JDK 1.6.0_22 二.创建服务端 1.创建[Web Service Project],命名为[TheService].   2.创建[Class]类,命名为[ServiceHello],位于[com.

VS2008中C#开发webservice简单实例

1.创建工程 文件-> 新建->网站 如下图. 工程建好后,会自动添加如下代码: 1 using System; 2 using System.Linq; 3 using System.Web; 4 using System.Web.Services; 5 using System.Web.Services.Protocols; 6 using System.Xml.Linq; 7 8 [WebService(Namespace = "http://tempuri.org/"

MySql+webService cxf+json 简单框架(转)

http://blog.csdn.net/ice343241993/article/details/22037829 这个Demo是非常简单的一个框架.如果您需要开发的话完全可以按照这个大框架的基础上实现您的各种方法.新手可以看一下.本demo的代码书写规范完全是本人自己的习惯.服务端是:webService+cxf+Json, 客户端是android. 服务器端代码: 包结构图: 1.1javaBean的部分没有什么可说的,上代码: CommandBean [java] view plainc

WebService入门实例教程

什么是WebService 通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,它是基于Web的服务,通过Web进行发布.查找和使用. WebService脚本平台需支持XML+HTTP. HTTP协议是最常用的因特网协议. XML提供了一种可用于不同的平台和编程语言之间的语言. 为什么要使用WebService 最重要的事情是协同工作. 1.跨平台调用(WebService不局限于操作系统,你可以在Windows上调用linux上的WebService服务,反之亦然

webservice(CXF)基于3.1.1版本实例

引言 有没有一种办法可以实现跨应用程序进行通信和跨平台进行通信呢? 换句话说,就是有什么办法可以实现我的应用程序 A 可以和应用程序 B 进行通信呢? 或者说是,我用 Java 写的应用程序和用 . Net 开发的应用程序之间进行通信呢? 很多时候,上面提到的这些,我们是必须要使用的,比如,一个跨应用程序吧. 举一个日常生活的例子吧,我们平常都会使用QQ上面的天气预报功能 吧,那么这个功能是怎么实现的呢? WebService简介 如果简单的说的话,WebServices就是一组函数库,但是又有

一个CXF集成SPRING的WEBSERVICE完整实例

1 首先准备以下JAR包 activation.jar commons-logging-1.1.1.jar cxf-2.5.6.jar jaxb-api-2.2.1.jar jaxb-impl-2.1.3.jar jaxws-api-2.2.8.jar neethi-3.0.2.jar ow2-jws-2.0-spec-1.0.11.jar spring-aop-3.0.5.RELEASE.jar spring-asm-3.0.5.RELEASE.jar spring-beans-3.0.5.R