当前位置:文档之家› XFire完整入门教程

XFire完整入门教程

XFire完整入门教程
XFire完整入门教程

XFire完整入门教程

本Blog所有内容不得随意转载,版权属于作者所有。如需转载请与作者联系

(fastzch@https://www.doczj.com/doc/371965133.html,)。

未经许可的转载,本人保留一切法律权益。

一直以来,发现有某些人完全不尊重我的劳动成果,随意转载,提醒一下那些人小心哪天惹上官司。

网上关于XFire入门的教程不少,要么是讲得很简单,就像Hello World一样的程序,要么就是通过IDE集成的工具来开发的,这对于不同的人群有诸多不便,关于XFire的一些详细的信息就不再多讲,可以参考官方网站和相关的文档,这里讲一个完整的入门实例。

实例中包括三个情况,我想基本上可以概括所有的需求,或者自己稍加扩展即可。先来看看我们的Interface。

1package test;

2

3import java.util.List;

4

5public interface IHelloService {

6public String sayHello(String ttt);

7

8public Course choose(User u);

9

10public List test(List t);

11}

这其中包含了简单对象的传递,对象的传递,List的传递。

具体的开发步骤如下:

1、定义Web Service的接口,代码见上面的接口定义。

2、实现接口和业务逻辑,代码如下:

1package test;

2

3import java.util.ArrayList;

4import java.util.List;

5

6public class HelloServiceImpl implements IHelloService {

7

8public String sayHello(String ttt) {

9return "Hello, "+ttt;

10 }

11

12public Course choose(User u){

13 System.out.println(u.getName());

14 Course c=new Course();

15 c.setName("Eee");

16return c;

17

18 }

19

20public List test(List t){

21for (int i = 0; i < t.size(); i++) {

22 System.out.println((String) t.get(i));

23 }

24 List al=new ArrayList();

25 Course c=new Course();

26 c.setName("EeeDDDDDD");

27 al.add(c);

28return al;

29

30 }

31}

用到的User和Course两个类的代码如下:

1package test;

2

3public class User {

4private String name;

5

6public String getName() {

7return name;

8 }

9

10public void setName(String name) { https://www.doczj.com/doc/371965133.html, = name;

12 }

13}

14

1package test;

2

3public class Course {

4private String name;

5

6public String getName() {

7return name;

8 }

9

10public void setName(String name) { https://www.doczj.com/doc/371965133.html, = name;

12 }

13

14}

3、编写XFire要求的WebSevice定义描述文件,如下:

1

2

3

4

5HelloService

6http://test/HelloService

7test.IHelloService

8test.HelloServiceImpl

9

10

11

此文件放在src/META-INF/xfire/services.xml,编译时会自动编译到classes的相应目录下面。

4、因为我们用到了List等集合类型,所以需要定义Mapping关系,文件名为:

src/test/IHelloService.aegis.xml,代码如下:

1

2

3

4

5

6

7

8

9

请注意,此文件一定要放到与IHelloService.java相同的目录下面,否则会出错。

5、在Web.xml中配置XFire需要用到的Servlet,代码如下:

1

2

3 xmlns:xsi="https://www.doczj.com/doc/371965133.html,/2001/XMLSchema-instance"

4 xsi:schemaLocation="https://www.doczj.com/doc/371965133.html,/xml/ns/j2ee

5 https://www.doczj.com/doc/371965133.html,/xml/ns/j2ee/web-app_2_4.xsd">

6

7

8XFireServlet

9

10 org.codehaus.xfire.transport.http.XFireConfigurableServlet 11

12

13

14

15XFireServlet

16/servlet/XFireServlet/*

17

18

19

20XFireServlet

21/services/*

22

23

24

25

26index.jsp

27

28

此时Web Service的服务端就开发完成了。

我们来看看客户端的代码吧,也很简单,如下:

1package test;

2

3import https://www.doczj.com/doc/371965133.html,.MalformedURLException;

4import java.util.ArrayList;

5import java.util.List;

6

7import org.codehaus.xfire.XFireFactory;

8import org.codehaus.xfire.client.XFireProxyFactory;

9import org.codehaus.xfire.service.Service;

10import org.codehaus.xfire.service.binding.ObjectServiceFactory;

11

12public class Client {

13

14public static void main(String[] args) {

15

16 Service srvcModel = new ObjectServiceFactory()

17 .create(IHelloService.class);

18 XFireProxyFactory factory = new XFireProxyFactory(XFireFactory

19 .newInstance().getXFire());

20

21 String helloWorldURL = "http://localhost:8080/xfiretest/services/HelloS ervice";

22try {

23 IHelloService srvc = (IHelloService) factory.create(srvcModel,

24 helloWorldURL);

25 System.out.println(srvc.sayHello("Robin"));

26

27 User u=new User();

28 u.setName("RRRRR");

29 Course c=srvc.choose(u);

30 System.out.println(c.getName());

31

32 List al=new ArrayList();

33 al.add("1212");

34 al.add("2222");

35 List t=srvc.test(al);

36for (int i = 0; i < t.size(); i++) {

37 Course co=(Course)t.get(i);

38 System.out.println(co.getName());

39 }

40

41

42 } catch (MalformedURLException e) {

43 e.printStackTrace();

44 }

45

46 }

47

48}

49

以上代码均无注释,因为都非常简单,呵呵。如有不清楚的地方,请留言!

JAVA编程不得不看的几本经典书籍

为了帮助对java编程感兴趣的同学更好、更快的提高编程技术,武汉北大青鸟光谷校区专业老师在此推荐几本学习编程非常有用的书籍,以供大家参考。 入门类 1.《java从入门到精通》(第3版) 【内容介绍】 本书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java 语言进行程序开发应该掌握的各方面技术。全书共分28章,包括:初识Java,熟悉Eclipse 开发工具,Java 语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O输入输出,反射,枚举类型与泛型,多线程,网络通信,数据库操作,Swing表格组件,Swing树组件,Swing其他高级组件,高级布局管理器,高级事件处理,AWT绘图与音频播放,打印技术和企业进销存管理系统等。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。 【推荐理由】 本书内容详尽,实例丰富,非常适合作为编程初学者的学习用书,也适合作为开发人员的查阅、参考资料。 2.《java核心技术卷一》 【内容介绍】 本书是Java技术经典参考书,多年畅销不衰,第7版在保留以前版本风格的基础上,涵盖Java2开发平台标准版J2SE5.0的基础知识,主要内容包括面各对象程序设计、反射与代理、接口与内部类、事件监听器模型、使用Swing UI工具箱进行图形用户界面设计,异常处理、流输入/输出和对象序列化、泛型程序设计等。本书内容翔实、深入浅出,附有大量程序实例,极具实用价值,是Java初学者和Java程序员的必备参考书。 【推荐理由】 本书出版以来,深受广大读者的喜爱,它全面介绍了Java SE的基础知识,不但具有使用价值,而且易于阅读,易理解,它必成为想进军Java和基础薄弱同学的不二之选。 3.《java编程语言》 【内容介绍】 本书以Java语言创建者的独特视角向读者展现了为什么以及如何使用Java语言,以便读者理解Java语言的基本设计目标以及它在现实世界中的应用。本书介绍的是Java语言的

Web Service实践之——开始XFire

Web Service实践之——开始XFire 一、Axis与XFire的比较 XFire是与Axis2 并列的新一代WebService平台。之所以并称为新一代,因为它: 1、支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB 2、WS-Security等; 2、使用Stax解释XML,性能有了质的提高。XFire采用Woodstox 作Stax实现; 3、容易上手,可以方便快速地从pojo发布服务; 4、Spring的结合; 5、灵活的Binding机制,包括默认的Acegis,xmlbeans,jaxb2,castor。 XFire与Axis1性能的比较 1、XFire比Axis1.3快2-6倍 2、XFire的响应时间是Axis1.3的1/2到1/5 XFire与Axis2的比较 虽然XFire与Axis2都是新一代的WebService平台,但是Axis2的开发者太急于推出1.0版本,所以1.0还不是一个稳定的版本,它的开发者宣称1.1版本即将推出,希望1.1版本会是个稳定的版本。在XFire捐献给apache后有人认为Axis2将会灭亡。其实在很多人眼里,Axis2并不是pojo形式,现在也好象XFire比Axis更有市场,也有很多人开始从Axis转向XFire。 据说,XFire确实比Axis2简单很多 AXIS VS CXF 在SOA领域,我们认为Web Service是SOA体系的构建单元(building block)。对于作过WebService的开发人员来说,AXIS和CXF一定都不会陌生。这两个产品都是Apache孵化器下面的Web Service开源开发工具。Axis2的最新版本是1.3,CXF现在已经到了2.0版本。 这两个框架都是从已有的开源项目发展起来的。Axis2是从Axis1.x系列发展而来。CXF 则是XFire和Celtix项目的结合产品。Axis2是从底层全部重新实现,使用了新的扩展性更好模块架构。CXF也重新的深化了XFire和Celtix这两个开发工具。 新产品的退出导致了几个问题。是不是现有的使用Axis 1.x,XFire和Celix的应用需要迁移的新的版本上。如果一个开发人员确定要迁移它的应用到新的框架上,那么他应该选择哪一个呢?相反的,如果一个开发者决定从头开发一个新的Web Service,他应该使用哪个呢?这两个框架哪一个更好一些呢? 对于系统迁移来说,也许迁移到新的框架并不难。Axis和CXF都提供了迁移的指导。能够给开发者一些迁移的技巧和经验。但是对于这样迁移,这两个开源项目都没有提供迁移的工具。对于这样的迁移工作,尽管很值得去寻找所有的可行方案。Axis2和CXF都有各自不同的WebService开发方法,每个方法都有相当数量拥护者。 通过一个比较矩阵来比较Axis2和CXF变得有现实的意义。这两个项目都开发不够成熟,但是最主要的区别在以下几个方面:

学习CXF WebService入门实例一

最近开发开始学习Web Service,如果你是大神,请路过!谢谢!遵循前辈大神们的教导~~~,内事不决问度娘,外事不决问谷歌(现在谷歌已经不能用了),只能问度娘了!上网一百度,套用周董的一句歌词,霍,霍,霍,霍,这么多的套路(axis,axis2,XFire,CXF等),我到底选择哪一个?因为要和Spring进行对接,看了一下,CXF与Spring的耦合度最好,于是就选择了CXF。上官网下jar包,下了最新的apache-cxf-3.1.4.zip包。解压出来,看看里面的最简单的实例,apache-cxf-3.1.4\samples\java_first_jaxws,本着你快乐所以我快乐加上不要脸的原则,我抄抄抄,改了一下名字,开发环境jdk1.6, jdk1.5没试过,上眼呐! 新建工程mywbs,导入jar包 cxf-core-3.1.4.jar jetty-continuation-9.2.11.v20150529.jar jetty-http-9.2.11.v20150529.jar jetty-io-9.2.11.v20150529.jar jetty-server-9.2.11.v20150529.jar jetty-util-9.2.11.v20150529.jar wsdl4j-1.6.3.jar xmlschema-core-2.2.1.jar 一、接口类IHelloWorld.java package com.ws.hello; import java.util.List; import javax.jws.WebService; import https://www.doczj.com/doc/371965133.html,ers; @WebService public interface IHelloWorld { public String sayHello(String name); public String getUserName(Users user); public List getListUser(); } 二、实现类(说明endpointInterface = "com.ws.hello.IHelloWorld",IHelloWorld 类加上路径,此处注意)HelloWorldImpl.java package com.ws.hello; import java.util.ArrayList; import java.util.List; import javax.jws.WebService; import https://www.doczj.com/doc/371965133.html,ers; @WebService(endpointInterface = "com.ws.hello.IHelloWorld",serviceName = "IHelloWorld", portName="IHelloWorldPort") public class HelloWorldImpl implements IHelloWorld { @Override public String sayHello(String name) { return name + ": 您好啊!";

XFire开发webservice服务和客户端全攻略

使用XFire开发webservice服务和客户端全攻略收藏 XFire 是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service 各项标准协议,帮助你方便快速地开发Web Service应用。 相对于Axis来说,目前XFire相对受欢迎,加上其提供了和Spring集成的支持,在目前的Web Service开源社区拥有众多的追随者。并且因为XFire为Spring提供的支持,使得我们可以很容易在Spring中使用XFire构建Web Service应用。 XFire 与Axis2相比具有如下特征: l 支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security 等; l 使用Stax解释XML,性能有了质的提高。XFire采用Woodstox 作Stax实现; l 容易上手,可以方便快速地从pojo发布服务; l 支持Spring、Pico、Plexus、Loom等容器; l 灵活的Binding机制,包括默认的Aegis,xmlbeans,jaxb2,castor; l 高性能的SOAP 栈设计; l 支持Spring、Pico、Plexus、Loom等容器。 XFire 与Axis1性能的比较如下: l XFire 比Axis1.3快2-6倍; l XFire 的响应时间是Axis1.3的1/2到1/5。 XFire 在WebService框架中开始较晚,它从现有的框架中借鉴了许多优秀的理念,力争将Web Service的应用开发难度降到最低。此外,还提供了各种绑定技术、支持多种传输协议,对WebService体系中许多新的规范提供了支持。 下面让我们来看一个XFire于Spring集成的helloWorld的简单例子。 一.实现的功能和特点 本例具有如下功能和特点: 1)基于J2EE平台的Web Service服务; 2)开发方便,配置简单;

E-Message服务器安装手册

E-M e s s a g e服务器安 装手册 https://www.doczj.com/doc/371965133.html,work Information Technology Company.2020YEAR

E-Message服务器安装手册

版权说明 本手册以及相关的计算机软件程序仅用于为泛微协同管理平台最终用户提供信息,上海泛微软件有限公司有权。本手册是上海泛微软件有限公司的专有信息,并受中华人民共和国版权法和国际公约的保护。 未得到上海泛微软件有限公司明确的书面许可,不得为任何目的、以任何形式或手段辅助或传播本手册的任何部分内容。 本手册内容若有变动,恕不另行通知。本手册中例子中所引用的公司、人名和数据若非特殊说明,均属虚构。 本手册以及本手册所提及的任何产品的使用均受适应的最终用户许可协议限制。本手册由上海泛微软件有限公司制作。本手册中提及的所有商标、商标名称、服务标志及徽标均归其各自公司所有。

目录 第1章配置及启动服务 (6) 一、升级E-cology (6) 二、E-message服务端安装 (7) 1.2.1解压安装包 (7) 1.2.2安装服务 (7) 1.2.3配置云存储 (7) 第2章引导安装 (9) 第3章管理控制台设置 (15) 一、概述 (15) 二、服务器 (15) 3.2.1服务器管理 (15) 3.2.2服务器设置 (18) 3.2.3服务器授权信息 (19) 三、用户 (20) 3.3.1用户摘要 (20) 3.3.2用户搜索 (21) 四、会话 (22) 五、客户端 (22)

3.5.1客户端管理 (22) 3.5.2客户端快捷图标 (23) 3.5.3其它设置 (26)

在Eclipse上使用XFire开发WebService

在Eclipse上使用XFire开发WebService Web Service概述 什么是Web Service Web Service是能够基于网络,尤其是基于万维网(World Wide Web)直接调用的能够处理离散任务或连续任务的软件模型。目前较为流行的应用是,由一家公司对其专有数据进行封装,提供Web Service,然后其它公司就可以通过Internet来动态使用这些在线服务。这为未来全球的电子商务发展提供了新的标准和架构。 Web Service架构 Web Service是独立的、模块化的应用,能够通过因特网来描述、发布、定位以及调用。在Web Service的体系架构中包括三个角色:服务提供者(Service Provider)、服务请求者(Service Requestor)、服务注册器(Service Registry)。角色间主要有三个操作:发布(Publish)、查找(Find)、绑定(Bind)。 下图清楚的描述了三种角色,以及角色之间的作用关系。 图示一: 图示二: 这个流程图显示了Web Services中的核心技术是如何工作的。 这里,Provider是提供服务的应用程序组件,Requester是使用服务的客户端程序。很多其他技术也会参与到交互中,但是这个图只显示了在Web Services环境中必需的核心技术组件。

Web Service协议标准 简单对象访问协议(SOAP) SOAP是Simple Object Access Protocol的缩写,是一种基于XML的不依赖传输协议的表示层协议,用来在分散或分布式的应用程序之间方便地以对象的形式交换数据。在SOAP的下层,可以是HTTP/HTTP,也可以是SMTP/POP3,还可以是为一些应用而专门设计的特殊的通信协议。 SOAP包括三个主要部分: 2SOAP封装结构:定义了一个整体框架,以表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。 2SOAP编码规则:定义了用以交换应用程序定义的数据类型的实例的一系列机制。 2SOAP RPC表示:定义了一个用来表示远程过程调用和应答的协定。 Web Service描述语言(WSDL) WSDL是Web Service Des cription Language的缩写,该语言将网络服务定义成一个能交换消息的通信端点集,为分布式系统提供了帮助文档,同时也可作为自动实现应用间通信的解决方案。 统一描述、发现和集成协议(UDDI) UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。 以上概念转自https://www.doczj.com/doc/371965133.html,/Article/203/207/2005/2005082532541.html

背书品牌的基本构架

背书品牌的基本架构 背书品牌是指在不同的类别环境使用不同的主品牌,但同时也使用另外一个品牌对其进行担保。背书品牌不仅明朗了品牌的来源以及品牌之间的关系,而且保证了品牌战略的灵活性:被背书品牌既不独立于背书者之外,它被背书品牌确保能够实现所承诺的价值主张和功能优势;同时也有足够的自由来发展自己的识别性资产,被背书品牌拥有不同于背书者的品牌联想和品牌个性。 背书品牌是广义品牌关系谱中品牌之间分离程度较高的一种定位,在背书品牌架构的品牌组合中,品牌之间存在着相当大的独立性,诸被背书品牌在各自的领域都发挥着基本的驱动者作用,尽管背书品牌也有一定程度的驱动力但并不扮演主角,其对被背书品牌的认知影响也仅仅是提供信誉和保障(当然在某些情况下也会附带一些实质性的支持内容)。 万豪公司的品牌组合就是背书品牌架构的典型,marriott开发了一系列新的被背书品牌如courtyard、fairfield inn、residence inn、towneplace suites、springhill suites来运营不同的旅客市场,这些被背书品牌凭借着自己独特的主权身份和品牌体验吸引着各自的顾客,但做为背书者的marriott也提供了识别支持(marriott的核心识别“和谐亲切的服务”能延伸病作用于各个市场)、信誉担保(旅客、加盟商、社区由此明白是marriott在背后支持而大表欢迎)和常客计划(跨品牌的积分和优待活动)。 背书品牌包括三个次级架构:象征背书、关联名称和强势背书。 象征背书的次级架构 背书品牌的次级架构之一是象征背书,象征背书是指被背书品牌在各自领域的舞台都是需要特写大写的主角,而背书品牌则不占据中心位置安居幕后。在象征背书架构的品牌组合中,各业务背景在共用一个背书品牌的基础上都拥有自己的主权品牌,被背书品牌拥有主权化的品牌资产和品牌识别并发挥着主要的驱动作用,背书品牌只是起到辅助驱动的作用,其资产价值和品牌识别对受托品牌影响不大仅限于提供信誉和保证,品牌体验活动以被背书品牌为中心展开,主要的管理资源和预算也集中使用于被背书品牌。 联合利华是采取象征背书架构的典型,联合利华是堪与宝洁媲美的全球日化巨头,但在竞争中由于缺少全球领导品牌而出现了持续的业绩下滑和竞争力衰退:2004年在联合利华和宝洁的收入都接近520亿美元的基础上,宝洁的利润是64亿美元同比增长13%,而联合利华的利润只有24.2亿美元同比下降32%,

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

如何在MyEclipse和Eclipse下安装XFire插件CXF插件 WebService 首先,现在都用CFX了(CFX部分源于XFire)吧,所以建议大家使用CXF,本文后面讲XFire安装……CXF的安装参见: Apache CXF: An Open-Source Services Framework https://www.doczj.com/doc/371965133.html,/ 源文件的下载在https://www.doczj.com/doc/371965133.html,/download.html 博客更新时最新为2.42 一共两个文件,要下载的是其中的二进制下载包,也就是Binary distribution,下载File下的zip(for win)或者tar.gz(for linux)我用的是winXP 下载完成后按照如下配置: 将你的Binary distribution加压至任意文件夹(将被设为%CXF_HOME%) 我的电脑->属性->高级->环境变量 创建一个CXF_HOME变量,值为CXF框架所在根目录,修改一下 CLASSPATH=%CXF_HOME%/lib;PATH=%CXF_HOME%/bin; 以方便在DOS窗口下直接运行java2ws,wsdl2java等可执行文件。 在%JAVA_HOME%/jre/lib目录下创建一下endorsed文件夹,将 jaxb-api.jar,jaxws.jar拷贝进去。(建议在%CXF_HOME%的文件夹中搜索endorsed,就包括这两个文件,当然,你也可以直接将这个路径包含 在%CXF_HOME%\lib\endorsed包含在CLASSPATH中尝试一下,我没有试过) 配置好了后,你在DOS窗口下输入java2ws,看看配置是否有效,有效会提示Missing argument: classname。这样就OK了。 MyEclipse安装XFire 要进行基于XFire的开发,需要在MyEclipse或者Eclipse里安装XFire,但是网上基本没有安装插件的说明,在这里做一个介绍: 在Eclipse里添加XFire,请遵照XFire官网说明 https://www.doczj.com/doc/371965133.html,/Eclipse+Plugin进行安装 在MyEclipse (9.0)骤如下: 进入help->MyEclipse Configer Center ,点选Software选项卡,左侧有个Browse Software,点击导航右侧的 Add Site,弹出对话框,填入名称“XFire”(任填)和站点"https://www.doczj.com/doc/371965133.html,/xfire/update/",点击确定,稍等片刻,你会发现在Browse Software下多了XFire的两个选项(只是找到,还没安装),OK,分别双击这两个选项,这连个添加会排程到等待更新的列

JAVA之WebService框架---Xfire全解

Java WebService框架之XFire使用说明 声明:此文档只为做学习交流用,如果你有任何异议或更好的想法,欢迎你在群里讨论或者与我讨论!希望能够帮到你! WebService这个字眼,或许大家听起来,并不陌生,一般做过几年开发经验的程序员,几乎都跟它打过交道,首先,我要说明的是,WebService并不是java的特权,也就是说,并不是java只有WebService,.net有,C#有。。。等等 不罗嗦,首先我得让大家知道,WebService是干嘛用的,从字面意思理解就是web服务,其实,说白了,Web Services就是发布的、完成其特定需求的、在线应用服务。其他公司或应用软件能够通过Internet来访问并使用这项在线服务。WebService的主要目标是跨平台的可互操作性。他独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。(相关详细解释,大家可以百度的文库) 我举个例子,或许大家就明白了,我举个它的应用, 比如说,现在有这么一个需求: WebService应用案例一:张三传递给李四某个城市的名字比如说北京,李四反馈给张三北京的天气预报为:晴,王五传递给李四的城市名字济南,李四反馈给王五济南的天气预报为:阴;赵六传递给李四武汉。。。。。。。。等等。。。。但是,无论是谁想给李四传递城市的名字,必须遵循李四开放出来的一个发送地址,要不然你找不到李四,李四也收不到你的请求城市。 那么,在该示例中,无非就是想实现的一个功能就是,任何人传递给李四一个城市的相关名字,李四反馈给请求者该城市的天气情况,前提是,按照李四公布给大家的发送地址,那么,所有向李四发送请求城市的人,都会收到李四反馈的请求的城市的天气情况,那么这就是一个典型的webservice的调用,它与平台无关,跟每一个系统都无关,是独立的在线服务,那么,在此例中,每一个向李四发送请求的人,都是客户端,而李四所实现的接受城市,反馈回天气预报的功能,就是webservice的服务断,而李四提供的发送地址,就是大名鼎鼎的访问Webservice得到WSDL地址 再给大家举一个例子: WebService应用案例二:有两套系统,A系统为用。Net语言开发的,B系统用java语言开发的,现在有一个需求,就是要实现A系统跟B系统之间的信息交互,那么此时,A系统,可以写一个。Net的webService,之后,公布给B系统webservice的访问地址,那么B系统就可以访问A系统,而A系统如果想访问B系统的数据,那么B系统可以写一个java 的webService,把地址告知给A系统,A系统就可以访问B系统的数据。 可能有的人会有疑问,貌似。。当前不同系统间交互数据都用XML么?如果你能想到这,恭喜你,你已经跟设计webservice的人的想法一样了,呵呵。。因为它的描述WSDL就是xml 其实一般说到webservice,就是开发它的服务端,客户端,基本上没什么技术含量,按照某种格式调用就OK。

XFire配置webService 调用报错:org.codehaus.xfire.util.stax.DepthXMLStreamReader

XFire配置webService调用报错: org.codehaus.xfire.util.stax.DepthXMLStreamReader --------------------------------------解决ok 添加weblogic.xml文件到WEB-INF /rootpath_sxwh true --------------------------------------解决ok 2012-10-14服务器端错误日志: <2012-10-14 01:43:25> [org.codehaus.xfire.handler.DefaultFaultHandler] - Fault occurred! https://www.doczj.com/doc/371965133.html,ng.UnsupportedOperationException at weblogic.xml.stax.XMLStreamReaderBase.getTextCharacters(XMLStreamReaderBase.java:515) at org.codehaus.xfire.util.stax.DepthXMLStreamReader.getTextCharacters(DepthXMLStreamReader.java:180) at org.codehaus.xfire.util.stax.DepthXMLStreamReader.getTextCharacters(DepthXMLStreamReader.java:180) at org.codehaus.xfire.aegis.type.basic.Base64Type.readObject(Base64Type.java:74) at org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:169) at org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:206) at org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:51) at org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42) at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131) at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64) at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38) at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304) at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129) at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116) atjavax.servlet.http.HttpServlet.service(HttpServlet.java:727) atjavax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

计算机基础知识面试

精品文档考试教学资料施工组织设计方案 1、写出你知道的排序算法名称及其复杂度(至少三种) 答:1)冒泡排序(简单) 2)插入排序(最复杂) 3)选择排序(较复杂) 2、给出TCP,IP,HTTP,FTP之间的层次关系(参照网络七层协议划分)答:百度“网络七层协议” 3、设有下列数据表 如何将该数据表的对应关系规范化到第三范式 答:车间编号车间名称车间主任名称 职工号姓名职工工资所属车间编号 4、设有学生表A和考试成绩表B,结构如下: A A表主键(a) B B表主键(a,b,c)

a)写一个sql语句,列出”200411”号课程考试成绩不及格的学生的学号、姓名、年龄Select a,b,d from A where a in(select a from B where b=’200411’ and d<60) b)写一个sql语句,列出考试成绩不及格的课程门数大于6门的学生的学号、姓名、年龄 Select a,b,d from A where a in(Select a from b where d<60 group by a having count(*)>6) c)写一个sql语句,列出考试成绩尚未及格的课程门数大于6门的女生的学号、姓名、年龄 Select a,b,d from A where a in(Select a from b where d<60 group by a having count(*)>6) and c=1 第三部分:实际开发经验 一、程序设计部分(5,6题任选一题即可) [使用任意一种语言均可] 5、编写一个表达式,计算月收入为x元时的个人所得税,假定x<=5000。所得累进 税率为5%,累进点为1000元,1500元和3000元 如: x=1200时,税为(1200-1000)*5% x=2000时,税为(2000-1000)*5%+(2000-1500)*5% x=5000时,税为(5000-1000)*5%+(5000-1500)*5%+(5000-3000)*5% 特别注意:要求写的是一句的表达式,而不是一段程序,其中不得有分行符,尽量短 x>3000? (x-1000)*5%+(x-1500)*5%+(x-3000)*5%:x>1500? (x-1000)*5%+(x-1500)*5%:(x-1000)*5% 6、编写字符串查找函数 函数有三个参数,一个是源字符串,一个是目标子串,一个是查找方向(自右向左或自左向右),函数实现按照查找方向在源字符串中查找目标子串,并返回查找到的位置。查不到返回-1

Java使用XFire调用WebService接口

看了一些Java调用WebService接口的例子,很多都是Ctrl+C,Ctrl+V的,其中有很多拿来使用后发现有错误,令人郁闷,特此写了一篇经过测试的,只是一个小例子。 服务端(为客户端提供Webservice接口): 使用工具:myeclipse-8.6.1-win32,apache-tomcat-7.0.11 开发步骤:1.创建工程 File->New->Web Service Project,弹出Web Service Project窗口,需要填写Project Name(例子是Demo),选择XFire,然后一路next,直到完成。 创建完成后,打开生成的web.xml文件,可以看到,XFire已经配置好了。 1 2 3 4XFireServlet 5org.codehaus.xfire.transport. .XFireConfigurableServlet 60 7 8 9XFireServlet 10/services/* 11 12 13index.jsp 14 15 2.创建WebService服务 选择Toolbars上的New Web Service,弹出New Web Service窗口,选择Strategy:Create web service from Java class(Bottom-up scenario)并勾选下面的Create new Java bean,然后Next>,在Web service name中填写MyService,在Java package栏点击New...弹出窗口中Name:中填com.demo.service,然后点Finish。 完成后,生成了一个Service的配置services.xml

XML Web services 基础结构

XML Web services 基础结构 若要在 Web 的多样性世界里取得成功,在涉及到操作系统、对象模型和编程语言的选择时,XML Web services 不能有任何倾向性。同样,若要使 XML Web services 像其他基于 Web 的技术一样被广泛采用,则它们必须是: ?松耦合的:如果对两个系统的唯一要求是要理解前面提到的自我描述的基于文本的消息,那么这两个系统就被认为是松耦合的。另一方面,紧耦合系统要求大量自定义系统开销来进行通信,并要求系统之间有更多的了解。 ?常见的通信:大概不会有人会在现在或不远的将来生成一个无法连接到 Internet 的操作系统,因此,需要提供常见的通信信道。同样,能够将几乎所有系统或设备连接到 Internet 的能力将确保这样的系统和设备能够为连接到Internet 的所有其他系统或设备所使用。 ?通用数据格式:通过用现有的开放式标准而不是专用的封闭通信方法,任何支持同样的开放式标准的系统都能够理解 XML Web services。在采用自我描述的基于文本的消息时,XML Web services 及其客户端无须知道每个基础系统的构成即可共享该消息,这使得自治系统和完全不同的系统之间能够进行通信。XML Web services 使用 XML 实现此功能。 XML Web services 采用一种基础结构,该基础结构提供下列内容:定位 XML Web services 的发现机制、定义如何使用这些服务的服务说明以及通信时使用的标准连网形式。下图显示了此基础结构的一个示例。 XML Web services 基础结构

XFire

author: calvin,smallnest 1.概述 网站:https://www.doczj.com/doc/371965133.html, Smallnest写的XFire初级中文教程。 官方网站的User Guide和Quick Start。 JavaWorld的介绍文章 XFire是与Axis 2并列的新一代WebService框架。之所以并称为新一代,因为它:?支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security等; ?使用Stax解释XML,性能有了质的提高。XFire采用Woodstox作Stax实现; ?Easily Create Services from POJOs; ?Spring的结合; ?灵活的Binding机制,包括默认的Aegis,xmlbeans,jaxb2,castor。 其中第3,4,5项对一个Pragmatic的应用很重要。SpringSide就是使用了这三样,组合了一个比Axis简单得多的WebService最简做法。 关注一个WebService框架,通常关注Java代码遵循什么接口和规范,做什么XML配置,最后执行什么命令来发布一个Web Service,另外还关注Java类如何绑定为XML与其他语言沟通,下面将分别介绍XFire里的最简做法。 2.WebService的最快创建 2.1.抽取WebService用的窄接口

BookManger.java只须为POJO即可,不需要含任何WebService相关代码。 为它抽取一个for WebService的窄接口BookService.java。 窄接口一方面满足了由于安全原因,不愿意整个XXXManager所有方法导出为Web Service 的需求,另一方面,XFire暂时也只支持基于接口的Proxy。 2.2.至简单的Aegis Binding XFire默认的Aegis Binding语法非常简单,int,String,Date等类型的参数和返回值都无需定义,只要定义一下List findBooksByName()的返回值List里的对象是Book就可以了,是我见过最简单的binding定义,大大优于其他以设计复杂为终极目标的方案。 为了以约定俗成代替配置,所有Service和Entity Bean的binding文件要求命名为 xxx.aegis.xml,而且要和原来的类sit together在同一目录里。 具体介绍见Aegis Binding。 2.3.配置Spring 导出Web服务 配置文件见applicationContext-webservice.xml ,靠一个XFire Exporter将窄接口导出成Web服务,然后靠Spring MVC的URL Mapper将它绑定到某个URL。

最新计算机基础知识面试资料

1、写出你知道的排序算法名称及其复杂度(至少三种) 答:1)冒泡排序(简单) 2)插入排序(最复杂) 3)选择排序(较复杂) 2、给出TCP,IP,HTTP,FTP之间的层次关系(参照网络七层协议划分)答:百度“网络七层协议” 3、设有下列数据表 如何将该数据表的对应关系规范化到第三范式 答:车间编号车间名称车间主任名称 职工号姓名职工工资所属车间编号 4、设有学生表A和考试成绩表B,结构如下: A A表主键(a) B B表主键(a,b,c)

a)写一个sql语句,列出”200411”号课程考试成绩不及格的学生的学号、姓名、年龄Select a,b,d from A where a in(select a from B where b=’200411’ and d<60) b)写一个sql语句,列出考试成绩不及格的课程门数大于6门的学生的学号、姓名、年龄 Select a,b,d from A where a in(Select a from b where d<60 group by a having count(*)>6) c)写一个sql语句,列出考试成绩尚未及格的课程门数大于6门的女生的学号、姓名、年龄 Select a,b,d from A where a in(Select a from b where d<60 group by a having count(*)>6) and c=1 第三部分:实际开发经验 一、程序设计部分(5,6题任选一题即可) [使用任意一种语言均可] 5、编写一个表达式,计算月收入为x元时的个人所得税,假定x<=5000。所得累进 税率为5%,累进点为1000元,1500元和3000元 如: x=1200时,税为(1200-1000)*5% x=2000时,税为(2000-1000)*5%+(2000-1500)*5% x=5000时,税为(5000-1000)*5%+(5000-1500)*5%+(5000-3000)*5% 特别注意:要求写的是一句的表达式,而不是一段程序,其中不得有分行符,尽量短 x>3000? (x-1000)*5%+(x-1500)*5%+(x-3000)*5%:x>1500? (x-1000)*5%+(x-1500)*5%:(x-1000)*5% 6、编写字符串查找函数 函数有三个参数,一个是源字符串,一个是目标子串,一个是查找方向(自右向左或自左向右),函数实现按照查找方向在源字符串中查找目标子串,并返回查找到的位置。查不到返回-1 答:public int findStr(String source,String target,int type){ int position=-1; if(type==0){ //自左向右 position=source.indexOf(target);

相关主题
文本预览
相关文档 最新文档