`
ningkun
  • 浏览: 19312 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Axis2快速开发web服务

阅读更多
使用Axis2开发web服务一般有以下三种形式:
1.pojo模式,此方法最为简便,但是也有很多的局限性,最为明显的就是不能有package
   step1:编写pojo对象
             public class HelloWorld{
             public String sayHello(String name){
               return "Hello,"+name;
             }
           }
           编译成class文件。
    step2:在Tomcat目录/webapps/axis2/WEB-INF/下新建pojo文件夹。
    step3:将class文件拷贝到pojo文件夹中。
    setp4:启动tomcat,在浏览器中输入:
            http://localhost:8080/axis2/services/HelloWorld/sayHello? 
            param0="ningkun"将会看到,"Hello,ningkun"的消息。


  2.如果我们想以pojo的形式发布web服务,并且与package的话,可以使用jar包的形式发
  布web服务。

    step1:编写java类
    AddressService类

    package sample;
    import javax.jws.WebService;

    @WebService
     public class AddressService {
public Address getAddress(){
Address address = new Address();
address.setStreet("Street");
address.setNumber("Number 15");
return address;
}
     }

   Address类
     package sample;

    public class Address {
private String street;
private String number;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}

     }
    
    step2:修改axis2/WEB-INF/conf/axis2.xml
     添加
        <deployer extension=".jar" derectory="pojo" class="org.apache
         .axis2.deployment.POJODeployer"/>
   
    step3:将pojo类打包后放到pojo文件夹下。
    

   3.用Serice文件发布web服务。
       step1:编写java类,此处我们使用1中的HelloWorld类
       step2:编写services.xml
       <service name="HelloService">
<description>
This is a sample Web Service.
</description>
<parameter name="ServiceClass" locked="false">
     HelloWorld
</parameter>
<operation name="sayHello">
<messageReceiver
       class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
</service>
      注:messageReceiver中的class属性有多种选择,
             RawXMLINOutMessageReceiver 接受参数,并有返回值
             RawXMLINOnlyMessageReceiver 无返回值
    4.打包aar文件
      项目目录如下
          HelloWorld.class
         META-INF
            services.xml
        
       jar cvf HelloService.aar .

       step3:
     
    
分享到:
评论
7 楼 点子二木 2008-11-04  
难道说还有其他形式吗
6 楼 liang1022 2008-10-16  
ningkun 写道
liang1022 写道

setp4:启动tomcat,在浏览器中输入: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://localhost:8080/axis2/services/HelloWorld/sayHello?&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; param0="ningkun"将会看到,"Hello,ningkun"的消息。 ===================================================== 請問 一下, webservice可以從以上介上的方法來進行調用嗎? 我試了Axis2 內建的getVersion怎麼都調不出來呢? 在ie輸入: http://localhost:8080/axis2/services/Version?param0="hi" 回應的是HTTP500 內部伺服錯誤

不是吧,正常情况下是可以得到回应的啊。


我用 .Net WebServiceStudio 2.0 的工具來測試是正常,
但我比較好奇的是, 可以使用原作者 所提的方式,在IE的輸入網址來Resquest
,真的可以嗎??
5 楼 紧急下潜 2008-10-15  
ningkun 写道
紧急下潜 写道

经我研究axis2的pojo这种方式有问题,在生成的soap消息内,会加上一个特殊属性type="类名" 但是在wsdl定义中是找不到这个属性定义的,有的soap解析会出问题的,这不是标准通用的方式

目前尚未发现,有待进一步研究。

axis2有一个SOAPMonitor,你可以配置好用它查看发送的soap消息
本来我也没注意到这个问题,我是在使用tuscany做客户端调用axis2的pojo服务端的时候,出问题了,死循环导致溢出,后来跟踪eclipse的sdo实现发现到这个问题的,因为这个type属性在wsdl和schema中未定义,所以导致循环解析出错
4 楼 ningkun 2008-10-15  
liang1022 写道

setp4:启动tomcat,在浏览器中输入: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://localhost:8080/axis2/services/HelloWorld/sayHello?&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; param0="ningkun"将会看到,"Hello,ningkun"的消息。 ===================================================== 請問 一下, webservice可以從以上介上的方法來進行調用嗎? 我試了Axis2 內建的getVersion怎麼都調不出來呢? 在ie輸入: http://localhost:8080/axis2/services/Version?param0="hi" 回應的是HTTP500 內部伺服錯誤

不是吧,正常情况下是可以得到回应的啊。
3 楼 ningkun 2008-10-15  
紧急下潜 写道

经我研究axis2的pojo这种方式有问题,在生成的soap消息内,会加上一个特殊属性type="类名" 但是在wsdl定义中是找不到这个属性定义的,有的soap解析会出问题的,这不是标准通用的方式

目前尚未发现,有待进一步研究。
2 楼 紧急下潜 2008-10-15  
经我研究axis2的pojo这种方式有问题,在生成的soap消息内,会加上一个特殊属性type="类名"
但是在wsdl定义中是找不到这个属性定义的,有的soap解析会出问题的,这不是标准通用的方式
1 楼 liang1022 2008-10-15  
setp4:启动tomcat,在浏览器中输入:
            http://localhost:8080/axis2/services/HelloWorld/sayHello? 
            param0="ningkun"将会看到,"Hello,ningkun"的消息。
=====================================================
請問 一下, webservice可以從以上介上的方法來進行調用嗎?
我試了Axis2 內建的getVersion怎麼都調不出來呢?
在ie輸入:
http://localhost:8080/axis2/services/Version?param0="hi"
回應的是HTTP500 內部伺服錯誤

相关推荐

    MyEclipse+Axis2插件开发Web服务

    ### MyEclipse+Axis2插件开发Web服务 在当今高度网络化的环境中,Web服务作为实现不同系统间通信的关键技术之一,在企业级应用中扮演着重要角色。本文将详细介绍如何利用MyEclipse集成开发环境(IDE)结合Axis2插件...

    axis2 axis webservice web 服务

    在本文中,我们将深入探讨Axis2在开发Web服务中的应用,以及其相关的核心概念和技术。 Apache Axis2是基于Java的,提供了一种灵活且高效的架构来创建和部署Web服务。它的核心特性包括: 1. **模块化**:Axis2采用...

    基于AXIS2实现Web Service开发

    基于AXIS2的Web Service开发涉及多个步骤,包括环境配置、服务创建、服务实现、服务部署和测试。理解这些步骤并熟练掌握AXIS2的使用,对于开发高效、稳定的Web Service至关重要。同时,了解相关的Web Service标准和...

    基于Axis开发Web服务

    为了使用Axis开发Web服务,首先需要搭建合适的开发环境。这通常涉及到以下几个步骤: 1. **安装Java JDK**:确保系统上已经安装了最新版本的Java JDK。 2. **配置Tomcat服务器**:Tomcat是一个流行的开源Java ...

    如何用axis2开发web服务

    ### 如何用Axis2开发Web服务 #### 一、引言 随着互联网技术的发展,Web服务作为一种新兴的应用程序分支,在...通过本文的学习,读者应该能够掌握使用Axis2开发Web服务的基础知识,并能够在实际项目中应用这些知识。

    axis2开发Web Services入门

    本文旨在介绍如何使用 Axis2 开发 Web Services 的全过程,包括环境搭建、插件安装等基础准备工作,以及具体的开发流程与实例演示。 #### 1. 环境搭建 ##### 1.1 安装配置 JDK、Tomcat 和 Eclipse **JDK (Java ...

    Axis2与Eclipse整合开发的Web Service的服务端

    【描述】:本文将详细介绍如何在Eclipse环境中利用Axis2框架开发一个Web Service服务端,包括计算器服务CalculateService的实现步骤。 【标签】:Axis2, Eclipse, 整合开发, Web Service 【内容】: 开发Web ...

    Axis2快速构建Web Service ppt

    【基于Axis2的Web Service快速开发】 Axis2是Apache组织开发的Web Service引擎,它是Axis的下一代产品,提供了更高效、更灵活的服务处理模型。Axis2基于Servlet,需要在Servlet容器如Tomcat中运行,但也可以使用其...

    Axis2创建web service快速入门

    本教程将引导你快速入门,掌握使用Axis2创建Web服务的基本步骤。 **一、了解Axis2** Axis2是Axis1的下一代产品,它提供了更强大的功能和更高的性能。Axis2基于模块化架构,支持多种传输协议(如HTTP、HTTPS、SMTP...

    基于Axis2的Web Service 快速开发.ppt

    总的来说,基于Axis2的Web Service快速开发涉及到理解Web Service的基本概念,熟悉WSDL、SOAP和UDDI等关键技术,以及掌握Axis2的安装、部署和使用方法。通过这些步骤,开发者可以快速构建和发布自己的Web Service,...

    方便Web Service开发的axis2插件

    标题中的“方便Web Service开发的axis2插件”指的是Axis2,这是一个开源的Web服务框架,专门用于简化和加速在Java环境中开发Web服务的过程。它提供了丰富的功能集,包括自动代码生成、服务部署以及多种协议的支持,...

    SpringBoot开发WebService之Axis示例

    总的来说,SpringBoot和Axis的结合为Java开发者提供了一种快速开发Web服务的方法。通过理解这两个工具的核心功能以及如何将它们集成在一起,我们可以更好地利用它们的特性来满足项目需求,同时享受到SpringBoot带来...

    Axis开发Web Service实例

    本文将详细介绍使用Axis开发Web服务的全过程,包括安装、编写服务、发布服务以及客户端调用。 **一、Axis安装** 1. **环境需求**:确保你已安装J2SE SDK 1.3或1.4版本,这里以1.4.2为例,并且配置了Servlet容器,...

    基于axis2实现的webservice简单实现(客户端+服务端)。

    Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了高效且灵活的Web服务解决方案。 **Web服务**是一种在互联网上不同系统间交换数据的方式,它允许应用程序之间通过标准协议进行通信。Web服务通常使用...

    用Axis2快速发布自己的wsdl服务

    而Axis2是Apache软件基金会开发的一个高效、灵活且可扩展的Web服务框架,它为开发人员提供了一个快速创建和部署Web服务的平台。本教程将详细介绍如何使用Axis2快速发布自己的WSDL(Web Service Definition Language...

    Axis2与Eclipse整合开发Web Service

    【Axis2与Eclipse整合开发Web Service】是一个关于在Eclipse集成开发环境中使用Apache Axis2创建和部署Web服务的教程。Apache Axis2是用于构建Web服务的高效且灵活的框架,而Eclipse作为流行的Java IDE,提供了方便...

    axis2开发webservice

    本文将深入探讨使用Axis2开发Web服务的相关知识点,包括Axis2的基础概念、环境搭建、服务创建与发布、Eclipse集成及详细教程。 1. Axis2基础概念: - Web服务:是一种通过HTTP协议进行通信的应用程序,使得不同...

    Spring + axis2 开发 webservice

    学习者可以通过分析这个样本项目来更好地理解和实践Spring与Axis2结合开发Web服务的过程。 总之,"Spring + Axis2 开发 WebService"涵盖了从设计、实现、部署到消费Web服务的全过程,涉及到Spring框架的高级特性...

    AXIS2快速学习资料

    AXIS2是Apache软件基金会开发的一个开放源代码的Web服务框架,主要用于构建高效、灵活且可扩展的Web服务。这个框架基于SOAP(简单对象访问协议)和WSDL(Web服务描述语言),支持多种协议和消息格式,如HTTP、HTTPS...

Global site tag (gtag.js) - Google Analytics