Eclipse下使用Xfire创建WebService入门示例

Eclipse下使用Xfire创建WebService入门示例
Eclipse下使用Xfire创建WebService入门示例

Eclipse下使用Xfire创建WebService入门示例(上)

关键字: Eclipse Xfire Java 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包括三个主要部分:

2 SOAP封装结构:定义了一个整体框架,以表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。

2 SOAP编码规则:定义了用以交换应用程序定义的数据类型的实例的一系列机制。

2 SOAP RPC表示:定义了一个用来表示远程过程调用和应答的协定。

Web Service描述语言(WSDL)

WSDL是Web Service Des cription Language的缩写,该语言将网络服务定义成一个能交换消息的通信端点集,为分布式系统提供了帮助文档,同时也可作为自动实现应用间通信的解决方案。

统一描述、发现和集成协议(UDDI)

UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

以上概念转自https://www.360docs.net/doc/ab391534.html,/Article/203/207/2005/2005082532541.html

XFire

XFire是一个免费的开源SOAP框架,它不仅可以极大方便地实现这样一个环境,并且可以提供许多Web Services规范中高级特征,这些特征在多数的商业或者开源工具都没有提供。https://www.360docs.net/doc/ab391534.html,/Download是它的官方网站下载区,同时你也可以了解关于它的更多内容。

创建过程示例

下面我们就来使用Java构建一个WebService并且构建一个客户端来测试访问它。

首先请确保你的JDK和Tomcat在Eclipse环境中是可用的,配置方法不做赘述。并且你了解一些java编程技术和tomcat的发布常识。

版本信息:MyEclipse6.0.0M1;Tomcat6.0;JDK1.5;Xfire1.2

1、打开MyEclipse新建一个WebService Project,为你的项目命名,我选择了Java EE5.0,项目在你的WorkSpace 目录下。下一步:看到了这个界面

在这里Eclipse为你创建了webService的配置文件services.xml(主意文件名是有“s”的),并进行了Xfire的Servlet基本配置告诉项目你使用了Xfire改信息将体现在项目的web.xml文件中。继续下一步,加载Xfire相关的jar包,你看到了

在这个项目里我勾选了Xfire1.2 Core Libraries;HTTP Client Libraries;XML Beans Libraries。主要是确保引入了这些包包:

?? activation-1.0.2.jar

?? commons-codec-1.3.jar

?? commons-httpclient-3.0.jar

?? commons-logging-1.0.4.jar

?? jaxen-1.1-beta-8.jar

?? jdom-1.0.jar

?? log4j-1.2.x.jar

?? mail-1.3.3_01.jar

?? spring-1.2.x.jar

?? stax-api-1.0.jar

?? wsdl4j-1.5.2.jar

?? wstx-asl-2.9.jar

?? xbean-2.1.0.jar

?? xbean-spring-2.2.jar

?? xfire-all-1.0.jar

?? XmlSchema-1.0.jar

如果你好奇其他的包包是做什么用的就有待于我们在今后的学习中继续探究了~点击“Finish”完成了项目创建。目录结构如下图所示:

打开web.xml我们可以看到如下片断:

xml 代码

1.

2. XFireServlet

3. org.codehaus.xfire.transport.http.XFireConfigurableServlet

4. 0

5.

6.

7. XFireServlet

8. /services/*

9.

10.

11. index.jsp

12.

13.

接下来我们要写一个服务端java类。模拟应用是一个银行转账应用,从账户A转账到账户B并需要给出金额和货币种类。我们先来实现一个接口IBankingService.java代码全文如下:

java 代码

1.package com.mybank.xfire.example;

2.

3.public interface IBankingService {

4.

5. public String transferFunds(

6. String fromAccount, String toAccount, double amount, String currency);

7.

8.}

9.

然后编写一个普通的Java类BankingService包含了一个叫做transferFunds()的方法来为我们完成这项工作。它需要四个输入参数:

?1、 String fromAccount

?2、 String toAccount

?3、 double amount

?4、 String currency

代码如下:

java 代码

1.package com.mybank.xfire.example;

2.

3.import java.text.NumberFormat;

4.import java.text.DecimalFormat;

5.

6.public class BankingService implements IBankingService {

7.

8. //Default constructor.

9. public BankingService(){

10. }

11.

12. /** Transfers fund from one account to another.

13. */

14. public String transferFunds(

15. String fromAccount, String toAccount, double amount, String currency){

16.

17. String statusMessage = "";

18.

19. //调用业务逻辑执行操作.

20. //建立并返回状态信息.

21. try {

22. NumberFormat formatter = new DecimalFormat("###,###,###,###.00");

23. statusMessage = "COMPLETED: " + currency + " " + formatter.format(amount)+

24. " was successfully transferred from A/C# " + fromAccount + " to A/C# " + toAccount;

25. } catch (Exception e){

26. statusMessage = "BankingService.transferFunds(): EXCEPTION: " + e.toString();

27. }

28. return statusMessage;

29. }

30.

31.}

32.

你可以看到BankingService是一个普通的Java类,没有任何代码告诉我们它将会在Web Services中使用。只是要有默认的构造函数,类型是public。这是必须的。否则,XFire不能够初始化这个类。好的,这里我们不需要增加任何东西。我们所有的工作都在部署描述符里完成。

Web应用的部署描述符

在Java中,Web应用程序通常需要至少一个部署描述符(叫做web.xml)对其进行配置。XFire本身是一个基于servlet的应用程序。因此,我们需要增加必要的引用到描述符文件中。然后我们还必须配置将要创建的Web Services。我们使用一个称为services.xml的新文件来完成这件事。在使用Eclipse工具构建工程的时候我们已经完成了这项配置(参见(上)文)。

services.xml

现在我们不得不说一下我们的Web Services的由什么组成的了。这由一个叫做services.xml的文件完成,当这个项目在tomcat发布后,它存放在WEB-INF/classes/META-INF/xfire目录下,它在Web应用程序的标准类路径中。而在Eclipse环境中我们可以清除的看到Eclipse已经为我们把它清楚的列在项目路径中。这里是services.xml中的基本配置条目:

xml 代码

1.

2.

3.

4. Banking

5. mybank

6. com.mybank.xfire.example.IBankingService

7. com.mybank.xfire.example.BankingService

8.

9.

10.

Web Services的定义包含在元素中,它还含有一些子元素。

第一个子元素是Banking,它可以是你提供任何的合法名字。这将会被客户端程序和其它需要定位你的服务的组件用到。例如,在服务准备好以后,你将在浏览器上使用这个名字来查看WSDL。

下一个子元素是。任何合法的XML名字都是可以的。用来唯一标识你的服务的各个参数。(注释@)

注释@:Namespace派什么用?namespace的作用是要避免命名冲突。如果我建立一项Web

Service,其中的WSDL文件包含一个名为"foo"的元素,而你想要使用我的服务与另一项服务连接作为补充,这样的话另一项服务的WSDL文件就不能包含名为"foo"的元素。两个服务器程序只有在它们在两个事例中表示完全相同的东西时,才可以取相同的名字。如果有了表示区别的namespace,我的网络服务里的"foo"就可以表示完全不同于另一个网络服务里"foo"的含义。在你的客户端里,你只要加以限制就可以引用我的"foo"。

元素包含了Java类的名字,它指定了方法签名。在我们的例子中,它是接口IBankingService。如果Java类没有实现任何接口,你就需要把类的名字放在这里。在你的Java类或者接口中可能有几个方法。只需要一个入口把它们全部发布为Web Services。

保存了实现方法的Java类名。这是一个可选元素。如果上一个元素包含了一个接口,那么相应的实现类必须在这里指定。

就是这样。我们的Web Services配置完成了。

我们如何知道Web Service正在工作呢?

为了了解Web Service是否正在工作,我们需要测试。首先,我们测试来看WSDL是否可用。我们在浏览器中输入URL。哪个URL?因为我们的应用程序的war文件是aa.war,并且在services.xml中给出的服务名是Banking,WSDL 的URL应该是:http://localhost:8080/aa/services/Banking?wsdl。

请注意:URL的第一部分,例如,http://localhost:8080,可能会根据你的应用服务器不同而不同。无论怎样,当你输入URL后,将会看到一个XML文档,这个文档叫做服务的WSDL。如果你看到了,这就是你的应用作为Web Service 已经可用的第一个证明。

正确的执行情况:

在这个WSDL中我们可以看到的服务方法明以及他的四个参数描述等信息。但是这个测试是不够的。可能会发生这种情况,可以看到WSDL,但是从客户端程序可能会访问不到服务。因此为了核实服务是否可以访问了,我们必须使用一个客户端进行服务的实际调用来进行一个真正的测试。

开发一个客户端

编写BankClient.java

java 代码

1.package com.mybank.xfire.client;

2.

3.import https://www.360docs.net/doc/ab391534.html,.MalformedURLException;

4.import org.codehaus.xfire.XFire;

5.import org.codehaus.xfire.XFireFactory;

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

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

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

9.

10.import com.mybank.xfire.example.IBankingService;

11./**

12. * @author AdminiDD

13. *

14. */

15.public class BankClient {

16.

17. /**

18. * @param args

19. */

20. public static void main(String[] args) {

21. // TODO Auto-generated method stub

22.

23. }

24. /* Call the Web service

25. *

26. */

27. public String callWebService(

28. String fromAccount, String toAccount, double amount, String currency)

29. throws MalformedURLException, Exception {

30.

31. //Create a metadata of the service 创建一个service的元数据

32. Service serviceModel = new ObjectServiceFactory().create(IBankingService.class);

33. System.out.println("callSoapServiceLocal(): got service model." );

34.

35. //Create a proxy for the deployed service 为XFire获得一个代理工厂对象

36. XFire xfire = XFireFactory.newInstance().getXFire();

37. XFireProxyFactory factory = new XFireProxyFactory(xfire);

38. //得到一个服务的本地代理

39. String serviceUrl = "http://127.0.0.1:8080/wstest/services/Banking";

40.

41. IBankingService client = null;

42. try {

43. client = (IBankingService) factory.create(serviceModel, serviceUrl);

44. } catch (MalformedURLException e) {

45. System.out.println("WsClient.callWebService(): EXCEPTION: " + e.toString());

46. }

47.

48. //Invoke the service 调用服务返回状态结果信息

49. String serviceResponse = "";

50. try {

51. serviceResponse = client.transferFunds(fromAccount, toAccount, amount, currency);

52. } catch (Exception e){

53. System.out.println("WsClient.callWebService(): EXCEPTION: " + e.toString());

54. serviceResponse = e.toString();

55. }

56. System.out.println("WsClient.callWebService(): status=" + serviceResponse);

57.

58. //Return the response

59. return serviceResponse;

60. }

61.

62.}

63.

编写两个JSP页来模拟请求和响应

index.jsp;发送请求

java 代码

1.

2.

3.

4."-//W3C//DTD HTML 4.01 Transitional//EN">

5.

6.

7. "">

8.

9.

10. "pragma" content="no-cache">

11. "cache-control" content="no-cache">

12. "expires" content="0">

13. "keywords" content="keyword1,keyword2,keyword3">

14. "description" content="This is my page">

15.

16.

17.

18.

19.

Welcomle to WebService!

20.

21. Bank test : give my money to you!

22. "form1" action="say.jsp" method="POST">

23. your account ID:"toAcc" type="text"/>

24. How much do you want:"amount" type="text" />

25. "center">"submit" value="提交">

26.

27.

28.

29.

say.jsp,接收请求并返回响应结果

java 代码

1.

2.

3.

4.

5."-//W3C//DTD HTML 4.01 Transitional//EN">

6.

7.

8. "">

9.

10.

11.

12. "pragma" content="no-cache">

13. "cache-control" content="no-cache">

14. "expires" content="0">

15. "keywords" content="keyword1,keyword2,keyword3">

16. "description" content="This is my page">

17.

18.

19.

20.

21.

22.

Welcomle to WebService!

23.

24. Message from WebService:

25.

26.

27.

项目aa编译完毕并发布到Tomcat上,启动Tomcat测试开始!访问http://127.0.0.1:8080/aa/index.jsp 执行效果:

添上你的账户,想要多少钱就写多少钱,嘿嘿提交!请求转发到say.jsp如果你看到下面的情况:

恭喜你!成功啦~可以看到有 RMB$ 1,000.00 从affman(a fit foolish man~)的账户转到了liudan的账户上!

总结:

基本的Web Services开发步骤清单

这个清单总结了将一个Java方法发布为Web Service所必须的步骤:

o1、检查Java类的方法和默认构造函数确保为public

o2、增加XFire servlet相关条目到web.xml中

o3、创建services.xml,把它放到WEB-INF/classes/META-INF/xfire目录下

o4、增加XFire和第三方包到你的Web应用的WEB-INF/lib文件夹中

嗯~确实不复杂!

以上步骤均经过亲自测试执行,如有勘误请至mail to: sweetmoondd@https://www.360docs.net/doc/ab391534.html, 欢迎指教和共同探讨

以下相关讨论(转自原文https://www.360docs.net/doc/ab391534.html,/showweb/0/0/516946.aspx)

XFire的其他高级特性

XFire的使用可能比较简单,但是在特性和功能性上,它却占据着领导者的位置。下面是它的高级特性: o---本地数据绑定支持POJOs(plain-old Java objects)、XMLBeans、JAXB(Java Architecture for XML Binding)、Castor等等。数据绑定说明了Web Services的XML请求和映射到Java对象的XML响应。

o---使用StAX(Streaming API for XML)处理XML文档。同DOM的基于树和SAX的事件驱动的处理方式相比,StAX使用了拉(pull)机制,它使处理更快速,内存效率更高。

o---支持多种传输协议,如HTTP、JMS(Java Message Service)和JVM内部传输。

o---嵌入式,这是XFire的核心功能之一。你可以把这个SOAP引擎嵌入到你的应用中,完全隐藏所有XFire特定引用,同样所有配置都是程序驱动。

o---丰富的API,它使XFire可高度自定义,允许开发者在不同的阶段截获请求,并且对他们进行处理。

o---兼容最新的标准例如SOAP1.1(没有加密远程工程调用,或者RPC)和1.2、WSDL1.1、the Web Services Interoperability Organization’s Basic Profile 1.0、Web Services Addressing和

WS-Security。

最重要的是,XFire属于新一代Web Services引擎。不仅仅是营销用语,“新一代”有一些重要的意义。Apache Axis是第一代Java语言的Web Services引擎,已经成为了所有后来工具的参考标准。在过去的几年里,Axis以及这些其它的工具已经在很多生产环境中进行了实地测试。从中得出的一个关键的问题就是Web Services并不最适合RPC类型的通信。对于性能和效率,面向文档的消息形式是最好的方式。但是Apache Axis 和很多其他的Web Services引擎都被设计成了面向RPC的(尽管它们支持文档形式)。现在,整个行业正在开发新一代的SOAP引擎,设计为面向文档的。Apache已经宣布结束旧版本的Axis引擎开发,现在专注于Axis2,现在它的预发布版本是0.95。XFire在今年的2月份发布了它的第一个产品版本(1.0)。它的下一个版本(1.1)仅仅在几个星期之后就进行了发布。

局限性

XFire有些重要的局限性你应该清楚:

o---开发Web Services的好的实践是从WSDL开始。大部分的SOAP引擎提供了从WSDL生成服务stub 的工具。XFire也提供了这样一个工具。但是它是基于注释(annotations-based)的,因此需要J2SE5.0。

对于仍坚持使用J2SE1.4.x的人来说,它不是一个令人拍手叫好的工具,因为我们有很多其他方式来编写客户端,一个就是文章中演示的方式。

o---附件支持,它将会包含在未来发行的版本中。

o---易于学习的用户向导。XFire团队在这个方面还有很多工作需要做。

结论

Java当前的趋势是简化技术的使用。因此,我们正看到一波基于POJO的开发成就。同时,面向服务架构(SOA,Services-oriented architecture)和Web Services已经变成了当前行业的热点话题。XFire正是在这种情况下产生的。它能够使POJO发布为最少的Web Services,而只需要付出最小化的努力。从而,它使希望

使用这项技术的初级开发者的学习曲线变得平缓。同时,由于它兼容最新标准和提供了丰富的API,XFire为高级用户提供了更多的大好机会。

版权声明:

本文内容为作者经过查阅资料,编码实践,编辑实属原创,仅限学习与个人收藏,为避免制造网络垃圾请误用于商业性的原文转载。如有勘误请至mail to:sweetmoondd@https://www.360docs.net/doc/ab391534.html, 期待共同探讨!

参考资料:

通过WebService实现Java与.Net互联作者:itlove

图文并茂的阐述了WebService相关概念。

轻松简单地开发Web Services作者:Shahid Ahmed ;mydeman

文章语言组织简练明确,是众多资料中表述最确切全面的,很多语言也被我原文转述了,原因是说的很好无须再由本人重新组织语言。可惜也是被转载的。

利用xfire开发webservice专题[四]作者:MSN:spell_zheng@https://www.360docs.net/doc/ab391534.html,

借鉴了测试客户端的jsp形式实现。

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变得有现实的意义。这两个项目都开发不够成熟,但是最主要的区别在以下几个方面:

Eclipse调试方法入门

Eclipse调试 这个教程将帮助学生获得关于调试的一些关键概念,以及如何进行一个调试 这是我们所熟悉的Eclipse环境,我们从这里开始教程。打开一个我们想进行调试的工程 需要做的第一件事就是给我们的工程设置一个调试特性,点击bug图标之后的下拉三角。弹出Debug窗口 双击Jave Application,我们可以对程序创建一个Java Application型的新配置。选择工程及主类。点击“Apply”然后关闭。

放置断点 断点起到告诉程序什么时候暂停的作用。进入你想放置断点的代码行。右键点击选中行前面的的兰色竖条部分。选择toggle breakpoint。或者双击兰色竖条。 选择toggle breakpoint. 选择Window菜单,切换到debug透视图。这就是Debug透视图,如果你注意到,我们的代码窗口在下方。并且上面多出了两个窗口,左边就是显示我们运行程序的窗口,以及堆栈。右边将显示变量和表达式。

下的箭头符号,进行选择 代码变为绿色,意思是这是将要执行的下一行代码。

现在我们可以执行几个操作。其中比较基础的一个是单步操作。如果断点标注的是一个函数调用,选择单步进入Step Into,你可以执行并进入到代码的下一行;同样的如果你想不执行方法的这一行,你可以执行“Step over”,并且不进入方法。 假设我们使用单步跳入,并且进入了一个函数调用开始调试。这时如果我们使用一个“Step Return”,这将完成执行方法的余下部分。你将顺利的处于方法后的将要执行的那一行代码中。

(继续)按钮。 最后,如果我们不再想进行调试,并且想要程序结束,你可以点击位于左窗口顶端的“terminate”按钮。

学习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.360docs.net/doc/ab391534.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.360docs.net/doc/ab391534.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)开发方便,配置简单;

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

E-Message服务器安装手册

E-M e s s a g e服务器安 装手册 https://www.360docs.net/doc/ab391534.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.360docs.net/doc/ab391534.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.360docs.net/doc/ab391534.html,/ 源文件的下载在https://www.360docs.net/doc/ab391534.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.360docs.net/doc/ab391534.html,/Eclipse+Plugin进行安装 在MyEclipse (9.0)骤如下: 进入help->MyEclipse Configer Center ,点选Software选项卡,左侧有个Browse Software,点击导航右侧的 Add Site,弹出对话框,填入名称“XFire”(任填)和站点"https://www.360docs.net/doc/ab391534.html,/xfire/update/",点击确定,稍等片刻,你会发现在Browse Software下多了XFire的两个选项(只是找到,还没安装),OK,分别双击这两个选项,这连个添加会排程到等待更新的列

Eclipse_CDT安装及使用教程

Eclipse CDT安装及使用教程 Eclipse CDT安装教程 一、安装配置JDK 1、下载windows jdk 安装包,可以从官网下载,也可以从这里下载,下载完成后,按照一般软件安装的方法安装; 2、安装完成后,找到安装目录,如C:\Program Files\Java\jdk1.6.0_35,记录下来; 3、Windows7下右击电脑桌面的计算机,选择属性,然后点击右边的“高级系统设置”,在弹出的对话框点击“环境变量”,如图。 4、在步骤3中弹出的对话框的下方,看到系统变量,点击下方的“新建”(见图12),然后在变量名的地方填入JA V A_HOME,变量值填入步骤2中记录的路径,然后点击确定;

5、按照步骤4的方法,新建另一个变量,变量名是:CLASSPATH,变量值是:.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar;%JA V A_HOME%\jre\lib\rt.jar 统变量中找到变量名为PATH的变量,双击,在变量值的最后加上:;%JA V A_HOME%\bin(见图),然后一路确定。 7、至此,eclipse的运行环境配置成功。

二、配置C/C++编译器MinGW Windows下安装配置MinGW 从MinGW官网下载最新程序,下载地址: https://www.360docs.net/doc/ab391534.html,/project/mingw/Installer/mingw-get-inst/mingw-get-inst-20120426/mi ngw-get-inst-20120426.exe; 双击下载好的程序,然后一路点击“Next”按钮,直到图1的界面,选择“I accept the agreement”,然后点击next。 3、选择路径,默认放在C:\MinGW,点击next;接下来的界面也是next;一直到图中的组件选择界面,勾上C Compiler前面的钩,也可以按自己喜好选上C++ Compiler或其它组件,点击next;在下一个界面点击Install,就会进行安装。

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.360docs.net/doc/ab391534.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

Eclipse教程

附录J:Eclipse教程 By Y.Daniel Liang 付蓉译 该帮助文档包括以下内容: ●Eclipse入门 ●选择透视图 ●创建项目 ●创建Java程序 ●编译和运行Java程序 ●从命令行运行Java Application ●在Eclipse中调试 提示:在学习完第一章后使用本教程第1节~第6节,学习完第二章后可配合本教 程的第7节,开始学习第十四章时可配合本教程的第8节。 0 简介 该教程的使用者包括正在通过使用Eclipse来学习Java课程的学生和想要用Eclipse开发Java项目的程序员。Eclipse是由IBM提供的一个开源的Java程序开发软件。 你也可以使用JDK命令行工具来写Java程序。JDK命令行工具包括一系列独立的程序,如编译器和解释器,都可从命令行来激活。除了JDK命令行工具,市场上还有很多Java的开发工具,包括Borland公司的JBuilder、NetBeans、Sun公司的ONE Studio(商业版的NetBeans)、Eclipse和WebGain Visual Café。这些工具为快速开发Java程序提供集成的开发环境(IDE)。编辑、编辑、构造、调试和在线帮助被集成在一个用户图形界面。有效的使用将会极大的提高编程速度。 这个简短的教程将会帮助你熟悉Eclipse,尤其是在创建项目、创建程序、编译和运行程序方面。 提示:Eclipse可运行在任何的Java虚拟机之上。本文中所有的屏幕截图都来自于运行在Windows之上的Eclipse3.0。你可以到https://www.360docs.net/doc/ab391534.html,下载Eclipse。

安装提示:安装Eclipse之前必须安装JDK1.5。JDK1.5可以从https://www.360docs.net/doc/ab391534.html,/j2se/1.5/download.html下载。Windows版本的Eclipse存放在压缩文件eclipse-SDK-3.0-win32.zip中。将文件解压缩到c:\下,解压缩后所有的文件都放在c:\eclipse中。 1 开始使用Eclipse 假设你已经将Eclipse安装在目录c:\eclipse下。要启动Eclipse,双击c:\eclipse目录下的eclipse图标(如图1): 图1 双击后出现了工作区装载窗口(如图2): 图2 输入你的工作区所在的目录,本例所有项目、程序都存放在c:\smith目录下,故输入c:\smith,然后点击OK,Eclipse的图形界面就展现在你的眼前了(如图3)。

相关文档
最新文档