书签 分享 收藏 举报 版权申诉 / 31
上传文档赚钱

类型webservice培训(共31张).pptx

  • 上传人(卖家):三亚风情
  • 文档编号:3188785
  • 上传时间:2022-07-30
  • 格式:PPTX
  • 页数:31
  • 大小:665.75KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《webservice培训(共31张).pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    webservice 培训 31
    资源描述:

    1、Webservice培训顾邹阳Webservice简介 我自己理解Web service就是调用其他网站的资源的就是调用其他网站的资源的一种方法一种方法。主要分成:Web服务和调用即服务端与客户端服务和调用即服务端与客户端 Webservice是一种能简单快速实现服务与客户端调是一种能简单快速实现服务与客户端调用的用的一种可以由多种语言实现的方法(可以是一种可以由多种语言实现的方法(可以是java,C#等等)具体的工作原理具体的工作原理:服务器端发布一个服务,然后客户服务器端发布一个服务,然后客户端通过服务器端发布出来的端通过服务器端发布出来的wsdl来进行访问来进行访问 现在比较流行的jav

    2、a开发包有axis,axis2,CXF,xfire 具体开发的时候所用的工具我这边是eclipse发布服务器我这边用的是Tomcat5.5具体的程序开发axis1.axis所要用到的包为:axis.jar,axis-ant.jar,commons-discovery-0.2.jar,commons-logging-1.0.4.jar,jaxrpc.jar,log4j-1.2.8.jar,saaj.jar,wsdl4j-1.5.1.jar具体的开发的时候要先配制web.xml要在web.xml里加入如下内容:AxisServletorg.apache.axis.transport.http.Ax

    3、isServletAdminServletorg.apache.axis.transport.http.AdminServlet100具体的程序开发axisSOAPMonitorServiceorg.apache.axis.monitor.SOAPMonitorServiceSOAPMonitorPort5001100AxisServlet/servlet/AxisServletAxisServlet*.jwsAxisServlet/services/*SOAPMonitorService/SOAPMonitor具体的程序开发axis 具体举例:服务器端的类:public class SayH

    4、ello public static String sayHello(String name)return Hello+name;这个方法要定义成public 要有返回类型,参数和具体的返回具体的程序开发axis发布:要在server-config.wsdd里进行发布我们在server-config.wsdd里找到 在这之后添加我们自己的要进行发布的方法这里定义的方法名为:SayHello(可以随便),如果是简单的方法一般格式为RPC 就可以了com.land.axis.server.SayHello这个就是类的路径 配制完保存后我们就可以启动TOMCAT了我这里工程名为axisws,tomc

    5、at的端口为9001所以得到 以下路径http:/localhost:9001/axisws/services大家可以看到以下页面具体的程序开发axis点击SayHello可以看到以下页面具体的程序开发axis具体的程序开发axis如果看到以上的页面说明你的发布成功了那么我们就可以再去写一个客户端程序如下:import .MalformedURLException;import java.rmi.RemoteException;import javax.xml.rpc.ServiceException;import org.apache.axis.client.Call;import org.

    6、apache.axis.client.Service;public class SayHelloClient public static void main(String args)/TODO 自动生成方法存根自动生成方法存根String endpoint=http:/localhost:9001/axisws/services/SayHello;Service service=new Service();/回调返回值在这里进行序列化回调返回值在这里进行序列化Call call;trycall=(Call)service.createCall();/定义回调用的callcall.setTarg

    7、etEndpointAddress(new .URL(endpoint);/把要调用的方法的地址放在这里把要调用的方法的地址放在这里call.setOperationName(sayHello);/这个是方法名String name=顾邹阳;/这个是sayHello方法的参数定义String obj=(String)call.invoke(new Objectname);/开始调用开始调用obj是返回值是返回值System.out.println(返回值:+obj);catch(ServiceException e)e.printStackTrace();catch(MalformedURLE

    8、xception e)e.printStackTrace();catch(RemoteException e)e.printStackTrace();我们执行一下如果成功的话会在控制台出现如下的打印 返回值:Hello顾邹阳具体的程序开发axis22.AXIS2用POJO实现0配置的WebServiceAxis2支持SOAP1.1和SOAP1.2,我这里只讲几个简单的例子Axis2的下载和安装的下载和安装 可以从如下的网址下载Axis2的最新版本:http:/ws.apache.org/axis2/我使用了目前Axis2的最新版本1.4.1。可以下载如下两个zip包:axis2-1.4.1-b

    9、in.zip axis2-1.4.1-war.zip 其中axis2-1.4.1-bin.zip文件中包含了Axis2中所有的jar文件,axis2-1.4.1-war.zip文件用于将WebService发布到Web容器中。将axis2-1.4.1-war.zip文件解压到相应的目录,将目录中的axis2.war文件放到webapps目录中并启动Tomcat。在浏览器地址栏中输入如下的URL:http:/localhost:9001/axis2/如果在浏览器中显示出如图1所示的页面,则表示Axis2安装成功。具体的程序开发axis2具体的程序开发axis2编写和发布编写和发布WebServi

    10、ce 在Axis2中不需要进行任何的配置,就可以直接将一个简单的POJO发布成WebService。其中POJO中所有的public方法将被发布成WebService方法。下面我们来实现一个简单的POJO,代码如下:public class TestService public String sayHello(String name)/这个方法是有参数的 return Hello:+name;public int getRandom()/这个方法是没有参数的 return new java.util.Random().nextInt(1000);在TestService类中有两个方法,由于这两

    11、个方法都是public方法,因此,它们都将作为WebService方法被发布。编译TestService类后,将TestService.class文件放到webappsaxis2WEB-INFpojo目录中(如果没有pojo目录,则建立该目录)。现在我们已经成功将TestService类发布成了WebService。在浏览器地址栏中输入如下的URL:http:/localhost:9001/axis2/services/listServices具体的程序开发axis2具体的程序开发axis2 在浏览器地址栏中输入如下的两个URL来分别测试sayHello和getRandom方法:http:/l

    12、ocalhost:9001/axis2/services/TestService/sayHello?name=billhttp:/localhost:9001/axis2/services/TestService/getRandom具体的程序开发axis2在编写、发布和测试配置的WebService时应注意如下几点:1.POJO类不能使用package关键字声明包。2.Axis2在默认情况下可以热发布WebService,也就是说,将WebService的.class文件复制到pojo目录中时,Tomcat不需要重新启动就可以自动发布WebService。如果想取消Axis2的热发布功能,可以

    13、打开webappsaxis2WEB-INFconfaxis2.xml,找到如下的配置代码:true 将true改为false即可。要注意的是,Axis2在默认情况下虽然是热发布,但并不是热更新,也就是说,一旦成功发布了WebService,再想更新该WebService,就必须重启Tomcat。这对于开发人员调试WebService非常不方便,因此,在开发WebService时,可以将Axis2设为热更新。在axis2.xml文件中找到false,将false改为true即可。3.在浏览器中测试WebService时,如果WebService方法有参数,需要使用URL的请求参数来指定该WebS

    14、ervice方法参数的值,请求参数名与方法参数名要一致,例如,要测试sayHello方法,请求参数名应为name,如上面的URL所示。4.发布WebService的pojo目录只是默认的,如果读者想在其他的目录发布WebService,可以打开axis2.xml文件,并在元素中添加如下的子元素:上面的配置允许在webappsaxis2WEB-INFmy目录中发布WebService。例如,将本例中的TestService.class复制到my目录中也可以成功发布(但要删除pojo目录中的TestService.class,否则WebService会重名)。具体的程序开发axis2实现调用实现调

    15、用WebService的客户端程序的客户端程序 import javax.xml.namespace.QName;import org.apache.axis2.addressing.EndpointReference;import org.apache.axis2.client.Options;import org.apache.axis2.rpc.client.RPCServiceClient;public class RPCClient public static void main(String args)throws Exception /使用RPC方式调用WebService RP

    16、CServiceClient serviceClient=new RPCServiceClient();Options options=serviceClient.getOptions();/指定调用WebService的URL EndpointReference targetEPR=new具体的程序开发axis2EndpointReference(http:/localhost:9001/axis2/services/TestService);options.setTo(targetEPR);/指定getGreeting方法的参数值 Object opAddEntryArgs=new Obj

    17、ect gzy;/参数的内容参数的内容 /指定getGreeting方法返回值的数据类型的Class对象 Class classes=new Class String.class;/返回值为返回值为String /指定要调用的getGreeting方法及WSDL文件的命名空间 QName opAddEntry=new QName(http:/ws.apache.org/axis2,sayHello);/调用getGreeting方法并输出该方法的返回值 System.out.println(serviceClient.invokeBlocking(opAddEntry,opAddEntryAr

    18、gs,classes)0);/这里有一个参数 /下面是调用getPrice方法的代码,这些代码与调用getGreeting方法的代码类似 classes=new Class int.class;/返回值为返回值为int opAddEntry=new QName(http:/ws.apache.org/axis2,getRandom);/具体的方法名具体的方法名 http:/ws.apache.org/axis2为命名空间为命名空间 System.out.println(serviceClient.invokeBlocking(opAddEntry,new Object,classes)0);/

    19、参参数为空时不能为数为空时不能为null只能为只能为new Object具体的程序开发CXF CXF是不需要web就能直接发布的一个webservice工具 下面我们直接用例子来说明CXF的使用 我这里用到的包为apache-cxf-2.1.8.zip 1先建立一个HelloWorld的工程 Java运行环境要1.5以上 然后选择构建路径导入外部jar如图具体的程序开发CXF把apache-cxf-2.1.8里面解压之后的lib下面的包全部导入进来(我在这里是先在工程下建立了一个lib把所有的lib都导入到 了里面)具体的程序开发CXF建立一个接口接口名叫HelloWold具体的程序开发CXF

    20、 package test;import javax.jws.WebService;WebService public interface HelloWorld public String sayHello(String name);具体的程序开发CXF再添加一个实现类package test;import javax.jws.WebService;WebServicepublic class HelloWorldImpl implements HelloWorld public String sayHello(String name)System.out.println(say hello

    21、is called);return Hello+name;这里接口和实现类里都有一个标注WebService这是为了把这个类发布成webservice所要用到的在标注后还要导入import javax.jws.WebService;具体的程序开发CXF然后我们建立一个webservice启动的类package test;import org.apache.cxf.endpoint.Server;import org.apache.cxf.jaxws.JaxWsServerFactoryBean;public class MainServer public static void main(St

    22、ring args)JaxWsServerFactoryBean factory=new JaxWsServerFactoryBean();factory.setServiceClass(HelloWorldImpl.class);/这里的是实现类而不是接口factory.setAddress(http:/localhost:8080/HelloWorld);Server server=factory.create();server.start();这里的端口和后面的地址可以自己定义一下因为cxf自己带了一个servlet用于webservice的发布所以我们发布这个webservice就直接

    23、运行这个类就可以了然后在浏览器中输入http:/localhost:8080/HelloWorld?wsdl就可以看到如下的页面具体的程序开发CXF具体的程序开发CXF如果能看到这个wsdl那么就是发布成功了这里我们发布的地址是可以改的然后我们建立一个客户端package test;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;public class HelloWorldClient public static void main(String args)JaxWsProxyFactoryBean factory=new JaxWsPro

    24、xyFactoryBean();factory.setAddress(http:/localhost:8080/HelloWorld);factory.setServiceClass(HelloWorld.class);/接口的接口的classHelloWorld hello=(HelloWorld)factory.create();System.out.println(hello.sayHello(gzy);具体的程序开发CXF 然后运行一下这个客户端的调用 就会有输出的结果:Hello gzy 就说明运行成功具体的程序开发CXF具体的程序开发CXF具体的程序开发CXF具体的程序开发CXF演讲完毕,谢谢观看!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:webservice培训(共31张).pptx
    链接地址:https://www.163wenku.com/p-3188785.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库