webservice开发总结
- 格式:doc
- 大小:60.50 KB
- 文档页数:21
java webservice admindao接口层实训总结概述及范文模板1. 引言1.1 概述在这篇长文中,我将总结我的Java WebService ADMINDAO接口层实训经验。
这个实训课程旨在帮助学生深入理解Java WebService的概念和应用,并通过ADMiNDAO接口层的实践来加强他们的实际技能。
通过本文,读者将了解到我在实训过程中所面临的挑战以及取得的成果。
1.2 文章结构本文分为引言、正文和结论三个部分。
在引言部分,我将介绍文章的目标和概述文章内容。
接下来,在正文部分,我将详细介绍Java WebService的基本知识,并提供ADMiNDAO接口层实训内容的概述。
同时,我也会分享在实训过程中遇到的挑战以及如何应对这些挑战的经验。
最后,在结论部分,我会总结ADMINDAO接口层实训取得的成果,并提出未来发展和改进方向的展望和建议。
1.3 目的撰写这篇长文有两个主要目的。
首先,通过总结自己在Java WebService ADMINDAO接口层实训中所学到的知识和经验,加深自己对该领域的理解和掌握。
其次,分享这些知识与经验,帮助其他读者更好地理解Java WebService 的应用和ADMiNDAO接口层的实训内容,并为他们在类似领域的学习和实践提供一些建议和指导。
以上是“1. 引言”部分的内容,在正文中你可以详细介绍Java WebService的相关知识和ADMINDAO接口层实训内容介绍,在结论部分总结实训成果并提出展望和建议。
希望对你的写作有所帮助!2. 正文:2.1 Java WebService简介:Java WebService是一种基于SOAP协议的分布式系统的通信技术。
它允许不同平台和语言的应用程序进行互操作,使得这些应用程序能够通过网络相互交换数据和功能。
Java WebService提供了一种松耦合的方式来实现分布式系统间的通信。
通过将应用程序的功能封装成可调用的远程服务,其他应用程序可以通过网络调用这些服务,并与之交互。
WebService优点和缺点⼩结最近做的⼏个项⽬都⽤到了webservice,通过⾃⼰的实践和⽹上资料的汇总,现在做个⼩结:当前WebService是⼀个热门话题。
但是,WebService究竟是什么?,WebService有什么优点和缺点,什么情况下应该⽤WebService?什么情况下不应该⽤WebService?是需要我们正确认识的。
实际上,WebService的主要⽬标是跨平台的可互操作性。
为了达到这⼀⽬标,WebService完全基于XML(可扩展标记语⾔)、XSD (XMLSchema)等独⽴于平台、独⽴于软件供应商的标准,是创建可互操作的、分布式应⽤程序的新平台。
由此可以看出,在以下三种情况下,使⽤ WebService会带来极⼤的好处。
优点⼀:跨防⽕墙的通信 如果应⽤程序有成千上万的⽤户,⽽且分布在世界各地,那么客户端和服务器之间的通信将是⼀个棘⼿的问题。
因为客户端和服务器之间通常会有防⽕墙或者代理服务器。
在这种情况下,使⽤DCOM就不是那么简单,通常也不便于把客户端程序发布到数量如此庞⼤的每⼀个⽤户⼿中。
传统的做法是,选择⽤浏览器作为客户端,写下⼀⼤堆ASP页⾯,把应⽤程序的中间层暴露给最终⽤户。
这样做的结果是开发难度⼤,程序很难维护。
举个例⼦,在应⽤程序⾥加⼊⼀个新页⾯,必须先建⽴好⽤户界⾯(Web页⾯),并在这个页⾯后⾯,包含相应商业逻辑的中间层组件,还要再建⽴⾄少⼀个ASP页⾯,⽤来接受⽤户输⼊的信息,调⽤中间层组件,把结果格式化为HTML形式,最后还要把“结果页”送回浏览器。
要是客户端代码不再如此依赖于HTML表单,客户端的编程就简单多了。
如果中间层组件换成WebService的话,就可以从⽤户界⾯直接调⽤中间层组件,从⽽省掉建⽴ASP页⾯的那⼀步。
要调⽤WebService,可以直接使⽤MicrosoftSOAPToolkit或.NET这样的SOAP客户端,也可以使⽤⾃⼰开发的 SOAP客户端,然后把它和应⽤程序连接起来。
在win7系统上部署IIS发布webservice1.webservice的机制:将发布web service的机器称为服务端,而将调用web service的机器称为客户端。
首先服务端将发布web 服务。
客户端调用步骤:step 1:加入web 应用,将刚才发布的web服务加入,这时生成了上述web服务在本地的一个代理,我们假设为WebProxy。
step 2:客户端调用之前首先实例化一个该代理的对象,然后调用发布的方法step 3:客户端将调用信息包括方法名和参数加入到soap消息中通过http传送给web service服务端step 4:服务端从soap消息中获得调用信息,然后执行方法,将返回结果加入到soap 消息中然后通过http传回step 5:客户端代理得到这个soap消息后解析处结果返回给调用客户端方法2.安装IIS过程,在控制面板程序→程序功能→打开或关闭windows功能3.将Internet信息服务中的选项全部选中,点击确定。
4.验证IIS是否正确安装,等待几分钟后IIS配置完成在浏览器输入http://localhost/iisstart.htm若出现下面的图标说明IIS安装成功5.发布服务的方式:①接下来是发布服务的情况,可以将服务直接放在C:\inetpub\wwwroot目录下,C:\inetpub\wwwroot即为网站的根目录,输入相应的网址即可访问(仅能在本地测试,不建议)。
②通过Internet信息服务(IIS)管理器发布网站,先在vs上生成网站 发布网站。
“生成”->“发布网站”,这里会弹出一个对话框,什么也不需要修改,记下发布的目录。
比如:D:\WebSite1,我们需要目录下的文件。
在IIS管理器- 网站-新建网站(根据具体情况确定应用程序池以及是否新建主要修改选项:.net 版本,windows是32还是64主要涉及的是编译的dll是32还是64位的)-自己新建网站下新建一个虚拟目录(注意修改端口),比如webservice,并将发布目录中的所有文件和目录拷贝到这个目录中。
web开发实习总结范文web开发实习总结范文1一、实训项目工作中不是那么的顺利。
别人是因为任务重,工作压力大。
而我则是因为任务太轻而烦恼。
我的任务总是比较简单,我很快就能做完,我体现不了自己的价值,我不开心。
我去向组长争取机会,赢得了自己的第一份比较有挑战性的工作。
二、实训目的和要求很欣慰的是我们组内有一个女生。
她性格很柔和。
每次,和他请教问题他都会耐心的帮助你。
我和他成为了闺蜜,我经常的去问他问题,一些环境的配置,系统的某部分业务或者其他的问题等等。
很感谢她,他帮助我尽快的去熟悉了系统的环境及业务。
除了组长,组内还有李大牛和许小牛。
后来许小牛走了,又来了两名同事,工作期间,他们都对我有很大的帮助,无论是工作上还是生活上,很欣慰能够遇到他们并共事一场。
三、实训项目的开发环境和所使用的技术刚进到公司,我内心是很惶恐的。
我对自己没有一个正确的定位,对公司的环境也是那么的陌生。
我不知道自己能不能胜任公司的工作。
我所能做的就是努力再努力,用自己的勤奋来掩饰自己内心的慌张。
四、实训地点、日程、分组情况:实训地点:4栋303机房日程:第一阶段:1、班级分组,选定课题,查阅相关资料半天。
2、划分模块、小组成员分工半天。
3、利用CASE工具进行系统设计和分析,并编制源程序5天。
第二阶段:上机调试,修改、调试、完善系统2天。
第三阶段:撰写、上交课程设计报告,上交课程设计作品源程序(每人1份)2天。
web开发实习总结范文2在xx工作了5个月,自己从刚开始的一名新人到最后和大家融为一体,为组内贡献自己的一份力量,我经历了很多,成长了很多。
惶恐最后一个月,我们组要进行封闭开发。
这是我在xx的最后一个月了。
刚开始我以为不会给我分配什么有含量的活了。
这里非常感谢组长,他并没有让我的这一个月荒废。
我有我的任务,而且也很重要。
因为这些,我可以和大家共同奋斗。
全组成员一起加班到晚上两点那次,虽然很累,但是我很开心。
这是一件很值得回忆的事情。
使用XFire实现webservice1 导入必要的包在eclipse里面导入xfire核心包导入xfire http client libraries包或下载XFire1.2.6,解压缩后单独导入下载xalan-j_2_7_1-bin-2jars.zip解压缩后放到tomcat/common/endorsed下Myeclipse中右键→Myeclipse→add webservice2做一个接口public interface IProcessCredit {int creditProcess(String creditCard, double total);}做一个接口的实现类,类中定义了具体的web服务业务逻辑import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import y2javaee.sg.ch05.ConnectionManager;public class ProcessCreditCard implements IProcessCredit{public int creditProcess(String creditCard, double total){int result = 0;Connection con = null;PreparedStatement pStatement = null;try {con = ConnectionManager.getConnction();String strSql = "update Account "+ "set balance = balance - ? where creditcard = ?";pStatement = con.prepareStatement(strSql);pStatement.setDouble(1, total);pStatement.setString(2, creditCard);System.out.println(strSql);result = pStatement.executeUpdate();} catch (SQLException sqlE) {sqlE.printStackTrace();} finally {ConnectionManager.closeStatement(pStatement);ConnectionManager.closeConnection(con);}return result;}}3 在src下手动创建/META-INF/xfire/services.xml,然后刷新工程,输入以下内容<beans xmlns="/config/1.0"><service><name>CreditCard</name><namespace>/CreditCard</namespace><serviceClass>sell.IProcessCredit</serviceClass><implementationClass>sell.ProcessCreditCard</implementationClass></service></beans>4 修改web.xml<servlet><servlet-name>XFireServlet</servlet-name><servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> </servlet><servlet-mapping><servlet-name>XFireServlet</servlet-name><url-pattern>/servlet/XFireServlet/*</url-pattern></servlet-mapping><servlet-mapping><servlet-name>XFireServlet</servlet-name><url-pattern>/services/*</url-pattern></servlet-mapping>////////////////////////////////////////////////察看webservice是否可用可以输入地址http://localhost:7000/sell/services/CreditCard?wsdl如果看到wsdl文件,说明服务可用///////////////////////////////////////////////调用service程序,做一个普通的servletimport java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import .MalformedURLException;import org.codehaus.xfire.XFire;import org.codehaus.xfire.XFireFactory;import org.codehaus.xfire.aegis.AbstractXFireAegisTest;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.ServiceFactory;import org.codehaus.xfire.service.binding.ObjectServiceFactory;import org.codehaus.xfire.service.invoker.ObjectInvoker;import javax.servlet.http.*;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 获取会话HttpSession session = request.getSession();// 读取订单的参数//String creditcard = request.getParameter("creditcard");String creditcard ="1001";//double total = ((Double) session.getAttribute("total")).doubleValue();double total=1000;// 创建服务的元数据Service serviceModel = new ObjectServiceFactory().create(IProcessCredit.class);System.out.println("返回了服务的模型.");// 创建服务的代理XFire xfire = XFireFactory.newInstance().getXFire();XFireProxyFactory factory = new XFireProxyFactory(xfire);String serviceUrl = "http://localhost:8088/store/services/CreditCard";// 服务的地址IProcessCredit client = null;try {client = (IProcessCredit) factory.create(serviceModel, serviceUrl);} catch (MalformedURLException e) {System.out.println("客户端调用异常: " + e.toString());}// 调用服务int serviceResponse = 0;try {serviceResponse = client.creditProcess(creditcard, total);System.out.println("WsClient.callWebService(): status="+ serviceResponse);} catch (Exception e) {System.out.println("WsClient.callWebService(): EXCEPTION: "+ e.toString());}if (serviceResponse == 1) {request.getRequestDispatcher("/ch09/bye.jsp").forward(request,response);} else {request.getRequestDispatcher("/ch09/error.jsp").forward(request,response);}session.invalidate();}WSDL(Web Service Description Language)Web服务器描述语言是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,由Ariba、Intel、IBM、MS等共同提出,通过WSDL,可描述Web服务的三个基本属性:·服务做些什么——服务所提供的操作(方法)·如何访问服务——和服务交互的数据格式以及必要协议·服务位于何处——协议相关的地址,如URLWSDL文档以端口集合的形式来描述Web服务,WSDL 服务描述包含对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网络端点规范。
C#关于自己开发WebService的一些心得WebService的用途我的理解就是开发人员或者服务端所开发的一种在线应用服务,客户端通过Internet来访问并使用这种在线服务。
服务端WebService的创建(用VS2008)打开VS2008新创建一个 Web Service Application项目,如图其中最重要的是在.asmx文件里写好将要被客户端调用并返回数据的方法,切记每一个方法前都必须带有[WebMethod]让该方法可以被客户端调用.服务端IIS的设置(win2003)设置IIS让客户端可以通过Web的形式远程访问到服务端,方法如下:首先要确保服务端已装有IIS,如果没安装请到网上下载一个.打开“我的电脑”--“控制面版”--“添加删除程序”--“添加或删除系统组件”双击“应用服务”--“Internet信息服务(IIS)”选中“FTP服务”并打开“万维网服务”选中“Active Server Pages”和“万维网服务”和“Internet Data Connector”和“Server Side Includes”,如图:然后保存即可,如果是新安装的IIS,保存的时候会提示让你找IIS的安装文件.保存成功后,用户即可通过Web来访问你的服务器了.设置客户端访问服务端时的地址和权限等虽然设置好了IIS客户端可以通过Web来访问服务端,但是服务端并还没指定一个地址给客户端访问,这时候就要设置服务端IIS服务的一些相关设置.打开“程序”—“管理工具”—“IIS管理”打开“网站”,这时候你可以通过修改默认网站或者自己新建网站右建打开默认网站或者新建网站,点击“属性”即可进行设置.首先在“主目录”下设置“本地路径”,该路径即是客户端访问时的路径。
所有Web Service服务端执行文件都放在该路径下(可以通过把WebService的文件直接放在这里,也可以发布的时候将WebService的文件发布到这里)。
什么是WebService:这个不用我在这里废话,网上的资料一搜一大把,如果你没有接触过这方面的知识,你可以先去网上查一下。
这里我只想说一下我印象比较深刻的几点:WebService是基于soap协议的。
说实话这个知识刚开始我理解的并不是很到位。
这也在很长的时间局限了我在代码过程中的思维。
我会在后面一个关于天气预报的实例中进行详细介绍的。
总之,所有的webService请求、应答都是建立在soap协议的基础上的,而soap传输数据的载体是xml。
关于soap协议的介绍,在W3C上有很详细的教程。
WSDL是WebService的描述语言,它定义了Web Service做什么,怎么做和查询的信息。
在验证一个WebService是否好用的时候,我们通常会选则在浏览器中输入http://…….*?wsdl。
如果显示出一个xml文件,我们就认为这是好用的,反之就是不可用的。
在项目刚刚开始的时候,我也是这么天真的认为的,因为教程上都是这么演示的。
但事实并非如此,就如同以下调用天气预报的wsdl。
如果你在浏览器中输入/getweather.asmx?WSDL,它是不显示的,但事实证明这个webservice服务时可以使用的(你可以通过/getweather.asmx?WSDL生成本地代理类)。
这也一直是初学WebService者的一个误区。
之所以不能通过浏览器访问,可能原因是服务发布者,或者服务器做了一些限制,就如同互联网上很多服务器,我们可以访问却ping不同一样,服务者做了一些限制。
(我的猜测)怎样使用WebService是不是调用WebService时,必须要得到wsdl?必须要生成本地代理类?在回答这个问题,之前,我想先介绍一下网上一些资源:有很多热心的人,收集了很多常用的WebService,如:/blog/308407。
其中罗列的每一种服务,作者都提供了三种连接:Endpoint Disco WSDL 。
一、背景介绍在互联网繁荣的当今社会,web service作为一种跨评台、跨语言的通信技术,已经成为了各种软件系统之间实现互联互通的重要手段。
了解并掌握webservice接口层的实训技能,成为了现代软件工程人员必备的技能之一。
二、实训目标本次实训的目标主要包括:1. 掌握webservice接口层的相关概念和原理;2. 能够使用各种语言和工具实现webservice接口的开发;3. 能够设计并实现高效、稳定的webservice接口;4. 能够对webservice接口进行调试和测试,发现并解决问题。
三、实训内容在实训过程中,我们主要学习了以下内容:1. WebService接口层的基本概念我们首先学习了webservice的基本概念,包括SOAP协议、WSDL 描述语言等。
通过实际案例的演示和练习,我们深入了解了webservice的工作原理和运行机制。
2. WebService接口的开发在掌握了基本概念之后,我们开始学习如何使用不同的开发工具和语言来实现webservice接口的开发。
我们学习了Java语言中的JAX-WS和JAX-RS框架,C#语言中的 Web API等工具和框架。
通过实际编写和调试代码,我们逐步熟悉了webservice接口的开发流程和技巧。
3. WebService接口的设计与优化在接口开发的基础上,我们进一步学习了如何设计高效、稳定的webservice接口。
我们深入研究了接口的数据格式、传输方式、安全机制等方面的优化方法,确保接口在各种情况下都能够正常运行。
4. WebService接口的调试和测试我们学习了如何对webservice接口进行调试和测试。
我们使用各种工具和方法对接口进行了全面的测试,包括功能测试、性能测试、安全测试等。
通过不断地发现和解决问题,我们提高了自己的webservice 接口调试和测试能力。
四、实训收获通过本次实训,我和我的同学们收获了很多:1. 理论与实践相结合:通过实际操作,我们深入理解了webservice接口层的工作原理和实现方法。
一. web service基本原理Web服务使用一系列的标准协议来对各种请求做出响应,使用HTTP/TCP等标准的网络协议完成底层的传输,以XML作为数据表示的基础,通过SOAP 协议在系统间交换信息,通过WSDL 等来描述和记录Web服务所产生和接收的消息,通过UDDI来登记和寻找服务,这些技术构成了Web服务的支撑技术。
SOAP: 简单对象访问协议SOAP(Simple Object Access Protocol)是一种非集中的、基于分布式网络环境的、基于XML的轻量级协议,它通过把HTTP与XML的灵活性和良好扩展性组合在一起,以实现异构平台的程序之间的消息传递和互操作(W3C,2000;W3C,2003;段智华,2001)。
W3C于2000年5月发表了SOAP 1.1版本(W3C,2001)。
2003年6月推出了SOAP Version 1.2版本(W3C,2003)。
SOAP已经成为W3C推荐的Web Service间进行交换标准消息格式。
WSDL: Web服务描述语言WSDL(Web Service Description Language)是W3C用于描述Web服务的规范,被用来描述一个Web服务能够做什么,该服务在什么地方,以及如何调用该服务。
WSDL利用XML 来描述Web服务,它将Web服务描述为一组对消息进行操作的网络端点(Peter Brittenham et al, 2001)。
一个 WSDL 服务描述包含对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网络端点规范。
WSDL基于XML提供一个正式的描述文档,描述Web服务及其函数、参数和返回值。
由于是基于XML的,所以WSDL既是机器可以阅读的,又是人可阅读的。
新的开发工具既能根据用户的Web服务生成WSDL文档,又能嵌入WSDL文档,生成调用相应的Web服务代码。
UDDI: 通用描述、发现和集成协议UDDI(Universal Description, Discovery Integration)是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web服务加以注册,以使得别的企业能够发现的访问协议的实现标准(柴晓路等,2000;Tom Bellwood,2002;龚健雅等,2004)。
webservice开发总结webservice开发总结webservice开发总结一、环境说明服务器:tomcat5.0.28jdk1.5apachesoa:axis1.4eclipse3.3二、axis安装1.将axis1.4/webapps/axis解压到tomcat/webapps目录下2.将jdk中tools.jar包拷贝到axis/WEB-INF/lib目录下3.然后启动tomcat 4.输入:8080/axis回车出现如下画面,证明成功打开validataion然后,页面上的信息会告诉你已经有的包和还要差的包,然后根据提示将必须的包下载全。
复制到%tomcathome%/webapps/axis/WEB-INF/lib/目录下。
三、创建webservice工程1.在eclipse下创建一个普通的web工程2.将刚才发布成功的axis工程替换新创建的工程3.编写服务端代码,如下: packagecom;publicclassHelloService{publicStringgetName(Stringname){}} return”hello---------------------”+name;四、编写deplo.wsdd发布服务className表示类名allowedMethods表示要发布的方法,*表示所有方法然后编写deploy.bat脚本发布服务然后执行脚本deploy.wsdd和deploy.bat两个文件都放在工程目录下的/WEB-INF/目录下执行bat之后会生成一个server-config.wsdd文件需要注意的是,此bat文件需要在tomcat/webapps/axis/WEB-INF/目录下执行才会成功。
也就是说必须在服务器下执行才会生成server-config.wsdd文件。
然后重启tomcat输入:8080/axis/services便可以看到部署的服务了五、编写动态客户端调用程序importorg.apache.axis.client.Call;importorg.apache.axis.client.Servic e;try{Stringendpoint=“:8080/axis/services/HelloService”;} Serviceservice=newService();Callcall=null;call=(Call)service.createCall();call.setOperationName(“getName”);call.setTargetEndpointAddress(.URL(endpoint));Stringstr=(S tring)call.invoke(newObject[]{“你爸爸”});System.out.println(str);ex.printStackTrace();}catch(Exceptionex){六、stub客户端调用stub调用方式,是用服务生成的wsdl文件,通过axis的wsdl2java工具生成客户端代码来调用服务的。
以下是wsdl2java脚本,可生成客户端代码。
Axis_libaxis环境Output_path生成的客户端代码的输出路径Package对输出的代码打包:8080/axis/services/HelloService?wsdl是wsdl文件的位置,如果你已经有了wsdl文件,可以直接指定为wsdl文件wsdl文件的可以从服务中获得,如下图单击wsdl,便会生成wsdl文件七、jws客户端调用此客户端调用方式只适用java程序。
1.先将写好的服务端java类复制到webroot目录下2.然后将java文件改为.jws例如:xxx.java文件xxx..jws客户端调用如下:注意:此调用方式不要将类打包,直接放在根目录下即可。
(打包的问题还没有研究出来)系统会在WEB-INF目录下生成一个jwsClasses文件夹,jws生成的class文件会产生在此目录下。
扩展阅读:WebService学习,开发总结--唐木之无线观察WebService学习,开发总结--唐木之无线观察发布时间:20xx-7-16阅读:123原文地址:基本概念:1,什么是Web服务?Web是使应用程序可以以与平台和编程语言无关的方式进行相互通信的一项技术。
Web服务是一个软件接口,它描述了一组可以在网络上通过标准化的XML 消息传递访问的操作。
它使用基于XML语言的协议来描述要执行的操作或者要与另一个Web服务交换的数据。
一组以这种方式交互的Web服务在面向服务的体系结构(Service-OrientedArchitecture,SOA)中定义了特殊的Web服务应用程序。
2,什么是SOAP?SOAP(SimpleObjectAccessProtocol)简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的轻量级协议,是一个基于XML的协议。
使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。
SOAP包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encodingrules),用于表示应用程序需要使用的数据类型的实例;SOAPRPC表示(RPCrepresentation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。
应用中比较关注的是envelop,由一个或多个Header和一个Body组成。
SOAP 在可互操作的基础Web服务协议栈中的位置:3,什么是Axis?Axis本质上就是一个SOAP引擎(ApacheAxisisanimplementationoftheSOAP),提供创建服务器端、客户端和网关SOAP操作的基本框架。
但Axis并不完全是一个SOAP引擎,它还包括:是一个独立的SOAP服务器。
是一个嵌入Servlet引擎(例如Tomcat)的服务器。
支持WSDL。
提供转化WSDL为Java类的工具。
提供例子程序。
提供TCP/IP数据包监视工具。
4,Axis相比Soapv2的优点:Axis是第三代ApacheSOAP的实现,从20xx年起,SOAPv2开发小组开始讨论如何让Axis更加灵活、可配置,以及能够处理SOAP和来自W3C的各种XML标准。
通过不断地讨论和代码编写,Axis目前相比SOAPV2取得了如下成果:速度提高。
Axis通过基于事件的SAX对XML文档进行处理,从而在速度和效率上比ApacheSOAP有所提高。
灵活性提高。
稳定性提高。
提供面向组件的部署。
提供一个简洁的传输抽象框架。
其核心引擎完全于传输方式独立。
从而使基于何种协议传输的选择更加灵活。
支持WSDL。
包括WSDL和客户端代码生成等。
5,什么是WSDL?WSDL(WebServiceDescriptionLanguage)Web服务器描述语言是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,由Ariba、Intel、IBM、MS等共同提出,通过WSDL,可描述Web服务的三个基本属性:服务做些什么服务所提供的操作(方法)如何访问服务和服务交互的数据格式以及必要协议服务位于何处协议相关的地址,如URLWSDL文档以端口集合的形式来描述Web服务,WSDL服务描述包含对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网络端点规范。
WSDL在Web服务概念性协议栈中的位置:6,什么是WSDD?WSDD就是WEB服务分布描述(WebServiceDeploymentDescriptor),它定义了WEB服务的接口,如服务名、提供的方法、方法的参数等信息。
7,什么是UDDI? UDDI就是统一描述、发现和集成(UniversalDescription,Discovery,andIntegration)。
UDDI用于集中存放和查找WSDL描述文件,起着目录服务器的作用。
Web服务中的角色、操作和构件:服务提供者。
从企业的角度看,这是服务的所有者。
从体系结构的角度看,这是托管访问服务的平台。
服务请求者。
从企业的角度看,这是要求满足特定功能的企业。
从体系结构的角度看,这是寻找并调用服务,或启动与服务的交互的应用程序。
服务请求者角色可以由浏览器来担当,由人或无用户界面的程序(例如,另外一个Web服务)来控制它。
服务注册中心。
这是可搜索的服务描述注册中心,服务提供者在此发布他们的服务描述。
在静态绑定开发或动态绑定执行期间,服务请求者查找服务并获得服务的绑定信息(在服务描述中)。
对于静态绑定的服务请求者,服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。
同样,服务请求者可以从服务注册中心以外的其它来源得到服务描述,例如本地文件、FTP站点、Web站点、广告和服务发现(AdvertisementandDiscoveryofServices,ADS)或发现Web服务(DiscoveryofWebServices,DISCO)。
8,AXIS的几种服务类型:AXIS有四种servicestyles,分别是:RPC,Document,Wrapped,和Message。
最常用的就是RPC和Message。
RPC:在AXIS中是一个默认选项。
当你部署的时候使用下列两种方式:或则,它遵循SOAPRPC和编码规则。
每个RPC都包括一个表示名称的外部接点和一些表示参数的内部接点。
AXIS会根据规则将一个XML(WSDL文件)文件转化成一个JAVA对象,并对对想赋上在文件中描述的值。
也可以根据规则将一个JAVA对象转化成XML文件。
Document适合于老的XMLschema。
Wrapped和DOCUMENT一样,适合于老的XMLschema。
在大多书情况下,你不许要担心是DOCUMENT服务还是WRAPPED服务。
Message 以这种方式部署的话,会使AXIS失去意义,它使你的代码真正的用XML形式,而不需要转化成JAVA对象。
以这种方式部署的有以下四种服务方法:publicElement[]method(Element[]bodies);publicSOAPBodyElement[]method(SOAPBodyElement[]bodies);publicDocument method(Documentbody);publicvoidmethod(SOAPEnvelopereq,SOAPEnveloperesp);几种服务类型的主要区别:基于RPC(远程过程调用)方式,这也是Web服务最常用的方式。