webservice培训(共31张).pptx
《webservice培训(共31张).pptx》由会员分享,可在线阅读,更多相关《webservice培训(共31张).pptx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Webservice培训顾邹阳Webservice简介 我自己理解Web service就是调用其他网站的资源的就是调用其他网站的资源的一种方法一种方法。 主要分成:Web服务和调用即服务端与客户端服务和调用即服务端与客户端 Webservice是一种能简单快速实现服务与客户端调是一种能简单快速实现服务与客户端调用的用的一种可以由多种语言实现的方法(可以是一种可以由多种语言实现的方法(可以是java,C#等等) 具体的工作原理具体的工作原理:服务器端发布一个服务,然后客户服务器端发布一个服务,然后客户端通过服务器端发布出来的端通过服务器端发布出来的wsdl来进行访问来进行访问 现在比较流行的j
2、ava开发包有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.transpor
3、t.http.AxisServletAdminServletorg.apache.axis.transport.http.AdminServlet100具体的程序开发axisSOAPMonitorServiceorg.apache.axis.monitor.SOAPMonitorServiceSOAPMonitorPort5001100AxisServlet/servlet/AxisServletAxisServlet*.jwsAxisServlet/services/*SOAPMonitorService/SOAPMonitor具体的程序开发axis 具体举例: 服务器端的类:public
4、class SayHello 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了我这里工程名
5、为axisws,tomcat的端口为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
6、;import org.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();/定义回调用
7、的callcall.setTargetEndpointAddress(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.printStackTrac
8、e(); catch (MalformedURLException 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
9、.4.1。可以下载如下两个zip包: axis2-1.4.1-bin.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安装成功。具体的程序
10、开发axis2具体的程序开发axis2编写和发布编写和发布WebService 在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.Rand
11、om().nextInt(1000); 在TestService类中有两个方法,由于这两个方法都是public方法,因此,它们都将作为WebService方法被发布。 编译TestService类后,将TestService.class文件放到webappsaxis2WEB-INFpojo目录中(如果没有pojo目录,则建立该目录)。现在我们已经成功将TestService类发布成了WebService。在浏览器地址栏中输入如下的URL:http:/localhost:9001/axis2/services/listServices具体的程序开发axis2具体的程序开发axis2 在浏览器地址
12、栏中输入如下的两个URL来分别测试sayHello和getRandom方法: http:/localhost:9001/axis2/services/TestService/sayHello?name=billhttp:/localhost:9001/axis2/services/TestService/getRandom具体的程序开发axis2在编写、发布和测试配置的WebService时应注意如下几点: 1. POJO类不能使用package关键字声明包。 2. Axis2在默认情况下可以热发布WebService,也就是说,将WebService的.class文件复制到pojo目录中时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- webservice 培训 31
限制150内