axis初体验

step 0:介绍
apache axis是一款开源的soap服务器和客户端框架,soap是在internet环境中供不同系统下不同编程语言开发的应用程序之间通信的一种机制,soap通常通过http协议来进行信息交换:客户端送出一条soap请求信息,然后收到一条http回送代码和soap信息。
soap消息是xml格式的消息。消息格式由一系列soap元素构成,包括消息头和消息体。axis在soap信息传送和接收过程中可以将soap信息和java对象相互转换。当出现错误时,axis可以把soap出错信息转换为java异常对象。
soap旨在连接通信不同的系统,它不单单可以绑定同一项目组所开发的java程序,而且可以绑定所有java程序,这不包括rmi和corba。
axis实现了JAX-RPC API(一种开发java services的标准方式),同时也对其进行了相应的扩展,可以写出更优良的程序,但是前提是通信双方必须都是在axis下开发。
axis打成axis.jar包,它所实现的JAX-RPC API在jaxrpc.jar和saaj.jar中,它也需要其他的库,日志记录,WSDL处理等。
step 1:准备webapp
将下载的axis-1_4文件夹中webapps目录下的axis文件夹考入到tomcat/webapps下。
step 2:准备相应的库文件
这里要注意的是有关解析xml的jar包,jdk1.4使用的是Crimson解析器,但axis推荐使用Xerces。
step 3:验证安装是否成功
在浏览器中输入http://127.0.0.1:8080/axis/
点击Validation到http://localhost:8080/axis/happyaxis.jsp这个页面显示本地安装配置,
包括必须和可选的包信息。如果缺少必须的包axis则不会运行,可选的包可以根据需要来安装。如果你看到
的是服务器的错误信息,说明当前你有多个xml解析器在classpath中,这会造成冲突,去除多余的xml解析器重新启动服务器即可。
在起始页可以查看当前部署的web services列表,点击list。点击wsdl以确认web service是否运行。
现在可以测试服务了,虽然soap1.1使用http post提交xml request到服务端点,axis也支持http get访问机制,这在测试的时候非常有用,首先先对axis的版本服务进行测试,调用getVersion方法:
http://localhost:8080/axis/services/Version?method=getVersion
浏览器应该显示如下:
<soapenv:Envelope>
 <soapenv:Body>
  <getVersionResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <getVersionReturn xsi:type="xsd:string">
      Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)
   </getVersionReturn>
  </getVersionResponse>
 </soapenv:Body>
</soapenv:Envelope>
Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)为当前axis的版本和编译日期。
现在测试JWS web service,axis的JWS web services就是一些java文件,它们存放在axis应用程序的任何目录下除了WEB-INF下,它们的扩展名为.jws。当其他人通过url请求.jws文件时它们便编译和执行。
我们现在调用EchoHeaders.jws,这个文件在axis目录下,在浏览器中输入
http://localhost:8080/axis/EchoHeaders.jws?method=list
以xml形式返回application heads
<soapenv:Envelope>
    <soapenv:Body>
      <listResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
        <listReturn soapenc:arrayType="xsd:string[9]" xsi:type="soapenc:Array">
         <listReturn xsi:type="xsd:string">host:localhost:8080</listReturn>
          <listReturn xsi:type="xsd:string">
            user-agent:Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.8) Gecko/20061201 Firefox/2.0.0.8 (Ubuntu-feisty)
         </listReturn>
          <listReturn xsi:type="xsd:string">
            accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
         </listReturn>
         <listReturn xsi:type="xsd:string">accept-language:zh-cn,zh;q=0.5</listReturn>
         <listReturn xsi:type="xsd:string">accept-encoding:gzip,deflate</listReturn>
         <listReturn xsi:type="xsd:string">accept-charset:gb2312,utf-8;q=0.7,*;q=0.7</listReturn>
         <listReturn xsi:type="xsd:string">keep-alive:300</listReturn>
         <listReturn xsi:type="xsd:string">connection:keep-alive</listReturn>
         <listReturn xsi:type="xsd:string">cookie:JSESSIONID=1204F8FA6261607B9DA3045EC15B9B2B</listReturn>
        </listReturn>
     </listResponse>
   </soapenv:Body>
</soapenv:Envelope>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值