动态生成webservice

这篇博客详细介绍了如何使用Axis2创建和发布WebService,包括下载安装Axis2,使用POJO形式和services.xml配置文件发布WebService,以及通过Java客户端调用WebService的方法。此外,还提到了wsdl2java工具自动生成客户端代码的便利性。
摘要由CSDN通过智能技术生成

  一、Axis2的下载和安装


     1.可从http://ws.apache.org/axis2/ 下载Axis2的最新版本:
      可以下载如下两个zip包:
      axis2-1.5.4-bin.zip
      axis2-1.5.4-war.zip
      其中 axis2-1.5.4-bin.zip文件中包含了Axis2中所有的jar文件,
      axis2-1.5.4-war.zip文件用于将WebService发布到Web容器中。


     2.将axis2-1.5.4-war.zip文件解压到相应的目录,将目录中的axis2.war文件放到<Tomcat安装目录>\webapps目录中,
     并启动Tomcat,在浏览器地址栏中输入如下的URL:
     http://localhost:8080/axis2/,如看到axis2的主页面则安装成功。

 

  二、编写和发布WebService


   (1)用POJO形式发布(无需配置)


    在Axis2中不需要进行任何的配置,就可以直接将一个简单的POJO发布成WebService。
    其中POJO中所有的public方法将被发布成WebService方法。
    示例代码如下:

    

Java代码   收藏代码
  1. public class HelloService {   
  2.     public String sayHello(){  
  3.         return "hello";  
  4.     }     
  5.     public String sayHelloToPerson(String name){          
  6.         if(name==null){  
  7.             name = "nobody";  
  8.         }  
  9.         return "hello,"+name;  
  10.     }  
  11. }  

   编译HelloService类后,将HelloService.class文件放到<Tomcat安装目录>\webapps\axis2\WEB-INF\pojo目录中
  (如果没有pojo目录,则建立该目录)。现在我们已经成功将HelloService类发布成了WebService。
  在浏览器地址栏中输入如下的URL:
     http://localhost:8080/axis2/services/listServices


  在浏览器地址栏中输入如下的两个URL来分别测试sayHelloToPerson和sayHello方法:
    1.http://localhost:8080/axis2/services/HelloService/sayHello
    2.http://localhost:8080/axis2/services/HelloService/sayHelloToPerson?name=bill


  页面显示如下结果:

Xml代码   收藏代码
  1. <ns:sayHelloToPersonResponse xmlns:ns="http://ws.apache.org/axis2">  
  2.     <return>hello,bill</return>   
  3. </ns:sayHelloToPersonResponse>  

 

  在编写、发布和测试WebService时应注意如下几点:
     1. POJO类不能使用packa

服务安全代理(securityproxy)介绍 war包 运行环境为 jdk1.5+tomcat5+ant+axis2v1.4.1+rampartv1.4 需要的lib如图lib-need-pic.jpg所示(可从官网下载这些lib) 1)webservice的安全需求 安全性 服务访问需要适当的访问控制:认证授权、机密性、完整性。安全性可以分为3级。 灵活性 设计态服务无需考虑安全治理,所以要求提供灵活的的运行态安全标准支持。服务的安全架构是影响服务安全灵活性的重要因素。 适应性 在各种平台下对服务提供统一的安全、审计、日志管理。简化服务提供和服务管理,服务安全及基础设施实施复杂性小。 2)服务安全代理(securityproxy)实现原理 通过设置安全策略(Policy)对服务(webservice)提供实时的访问管理和控制。 通过策略来控制和管理对服务的访问,能够简单灵活的实现访问服务时的安全机制。 服务安全代理(securityproxy)在管理节点(Managed Endpoint)中实现策略 服务安全代理(securityproxy)改变了客户端与服务节点的连接结构 ——它创建了一个管理节点插入到客户端与服务节点之间 一个节点(Endpoint)指对应某个服务的地址(URL)。 随后客户端直接与管理节点连接,而不是与实际的服务节点连接 在管理节点中,服务安全代理(securityproxy)拦截消息并验证他们是否符合策略。 把安全的实现从复杂的编程中解脱出来,通过策略配置实时的组成不同的策略集合实施起来。 通过服务安全代理(securityproxy)可以 ●Authentication(认证) 发送消息时添加用户名令牌或数字签名。接收消息时验证用户名令牌或数字签名。 ●Encryption(加密) 在两个节点之间加密信息。发送信息时加密,接收信息时自动解密。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值