知识大全 使用Axis2以普通的Java类建立Web Services

Posted

篇首语:不怕读得少,只怕记不牢。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用Axis2以普通的Java类建立Web Services相关的知识,希望对你有一定的参考价值。

使用Axis2以普通的Java类建立Web Services  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Apache Axis 是一个Web Services系统服务和客户端的实现

   下载和部署Axis

   )下载地址

  

  下载Binary Distribution和WAR Distribution这两个压缩包

   )将下载的axis war zip解压 解压后将axis war复制到tomcat的webapps目录下

   )启动tomcat 浏览器访问//localhost: /axis / 出现以下界面 部署成功

  

  

   以普通的Java类建立Web Services

   )需要注意的 这个普通的Java类是没有package的

   )在\\apache tomcat \\webapps\\axis \\WEB INF\\目录下建立pojo目录

   )Java类

  /** * 第一个Web Services  * @author Luxh */public class FirstService

  public String sayHello(String name)

  String result = Hello +name+ this is first Axis Application! ;

  return result;

  

  public String getInfo()

  return This is first Axis Application! ;

  

  

  将这个类编译后的FirstService class文件复制到\\apache tomcat \\webapps\\axis \\WEB INF\\pojo目录下 无需重启tomcat Axis 支持热部署

   )访问//localhost: /axis /services/listServices

  

  可以看到普通的Java类已经发布为web Services

   )访问web Services

  //localhost: /axis /services/FirstService/getInfo

  其中//localhost: /axis /services/FirstService/  是Web Services 的地址 getInfo是方法名称

  

  其中//localhost: /axis /services/FirstService/  是Web Services 的地址 sayHello是方法名称 ?name=LiHuai是参数名称和参数值

  传参数的时候要注意 一定要跟提供服务的方法中的参数名一致public String sayHello(String name)

  

   Java客户端使用RPC方式调用Web Services

   )新建一个Java Project 将axis bin zip解压 解压后将\\axis \\lib\\目录下的所有jar引入到项目的classpath路径中

   )客户端代码

  package cn luxh ws client;import javax xml namespace QName;import apache axis AxisFault;import apache axis addressing EndpointReference;import apache axis client Options;import apache axis rpc client RPCServiceClient;import junit Test;public class FirstClient

  /** * 用RPC方法调用Web Services * @throws AxisFault

  */@Testpublic void testGetServices() throws AxisFault     //创建一个访问服务的客户端

  RPCServiceClient client = new RPCServiceClient()     //获取操作客户端选项的持有者

  Options options = client getOptions()     //设置要调用的Web Services 的地址

  String ServiceEPR = //localhost: /axis /services/FirstService ;

  EndpointReference epr = new EndpointReference(ServiceEPR)

  options setTo(epr)

  //因为提供Web Services普通的Java类没有package

  //所以默认是

  //getInfo是要调用的方法

  QName qName = new QName( getInfo )

  //qName    调用的方法

  //new Object[] 传递的参数值

  //new Class[]  返回值类型

  Object[] result = client invokeBlocking(qName new Object[] new Class[]String class)

  System out println( 返回的结果是 +result[ ]) //调用sayHello方法

  qName = new QName( sayHello )

  result = client invokeBlocking(qName new Object[] LiHuai new Class[]String class)

  System out println( 返回的结果是 +result[ ])

  

   使用生成stub的方式调用Web Services

  可以使用wsdl java命令生成调用Web Services的客户端代码

  wsdl java命令格式 wsdl java //localhost: /axis /services/FirstService?wsdl p cn luxh ws client s o stub

   uri 指定访问的Web Services wsdl文件路径

   p 指定了生成的Java类的包名

   o 指定了生成文件保存的根目录

   )在命令行进入到axis bin zip解压后的\\axis \\bin\\目录 因为wsdl java命令在这个目录中

   )输入 wsdl java //localhost: /axis /services/FirstService?wsdl p client s o stub 然后回车

   )执行完后 在\\axis \\bin\\目录下有个stub文件夹 在stub文件夹下的src\\cn\\luxh\\ws\\client包下有个FirstServiceStub java和FirstServiceUnsupportedEncodingExceptionException java类 我们把这两个类复制项目中相应的包下 就可以直接调用Web Services方法了

   )stub客户端代码

  package cn luxh ws client;import java rmi RemoteException;import javax xml namespace QName;import junit Test;public class FirstClient @Testpublic void testGetServiceByStub() throws RemoteException FirstServiceUnsupportedEncodingExceptionException FirstServiceStub firstServceStub = new FirstServiceStub()

  //wsdl java命令将Web Services 的方法封装成了静态类

  //所以需要通过下面的方法获取返回结果FirstServiceStub GetInfo getInfo =  new FirstServiceStub GetInfo()

  String ruselt = firstServceStub getInfo(getInfo) get_return()

  System out println( getInfo方法返回值 +ruselt)

  FirstServiceStub SayHello sayHello = new FirstServiceStub SayHello()

  sayHello setName( LiHuai ) ruselt = firstServceStub sayHello(sayHello) get_return()

  System out println( sayHello方法返回值 +ruselt)

  

cha138/Article/program/Java/hx/201311/26702

相关参考

知识大全 用struts+spring+hibernate组装web应用

  其实就算用Java建造一个不是很烦琐的web应用程序也不是件轻松的事情当为一个应用程序建造一个构架时有许多事情需要考虑从高层来说开发者需要考虑怎样建立用户接口(userinterfaces)?在哪

知识大全 Java Web 服务学习报告—Web简介

JavaWeb服务学习报告—Web简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在网络飞速

知识大全 类的基本概念

      Java程序的基本单位是类类的定义可以看作是建立对象的原形你建立类之后就可用它来建立许多你需要的对象Java把每一个可执行的成分都变成类使面向对象发展到极点  类的基本定义成员函数如下  

知识大全 利用Javascript建立Web应用

利用Javascript建立Web应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!文摘本文作者在

知识大全 Java实现简单web服务器

Java实现简单web服务器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  该程序简单实现web

知识大全 如何利用JSP建立Web站点

如何利用JSP建立Web站点  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JSP与ASP非常相

知识大全 java与其他web开发编程语言的比较

  现在的软件开发语言太多了尤其现在的所有软件都基本是B/S结构的所以对WEB开发语言的使用也就越来越多搞了几年的JAVA开发 这段时间也抽了点时间玩玩dotnetperlphp等其它WEB

知识大全 如何用Java实现Web服务器

如何用Java实现Web服务器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一HTTP协议的作

知识大全 常用的Java Web框架简介

常用的JavaWeb框架简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Web框架是人们在使

知识大全 使用Java实现Comet风格的Web应用(一)

使用Java实现Comet风格的Web应用(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!