`
congjl2002
  • 浏览: 215842 次
  • 性别: Icon_minigender_1
  • 来自: 辽宁
社区版块
存档分类
最新评论

【译】如何将基于Axis2的Web Service集成到自己的webapp?

阅读更多

原文地址:http://wso2.org/library/90


Q:如何将基于Axis2的Web Service集成到自己的webapp?
A:让我们试着发布一个简单的Axis2到我们自己的webapp中。首先我们需要将Axis2 Servlet写到我们的web.xml中。看下面一段:

<web-app>
  <servlet>
    <servlet-name>AxisServlet</servlet-name>
    <display-name>Apache-Axis Servlet</display-name>
    <servlet-class>
      org.apache.axis2.transport.http.AxisServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
</web-app>

接下来,我们需要一个简单的web service。让我们看一下BookService.java中的2个函数片段findBook和getBooks(译者注:其总的Book类需要自己另外实现,很简单,所以作者和译者都没有给出:)):

public Book[] getBooks() {
  return new Book[]{onlyBook};
}
public Book findBook(String isbn) {
   if (isbn.equals(onlyBook.getIsbn()))
      return onlyBook;
   return null;
}

接下来,我们需要为BookService写一个部署描述。正如你看到的,你可以用RPCMessageReceiver发布一个POJO,你也可以为web service本身的schema指定一个namespace。

<serviceGroup>
        <service name="BookService"             targetNamespace="http://ws.apache.org/axis2/samples/book/">
        <description>Book sample service</description>
        <schema schemaNamespace="http://ws.apache.org/axis2/samples/book/xsd/"/>
        <parameter name="ServiceClass" locked="false">samples.demo.BookService</parameter>
                <operation name="getBooks">
                        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
                </operation>
        <operation name="findBook">
            <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
        </operation>
        </service>
</serviceGroup>

接下来我们需要准备aar吗?aar是为了热部署和service的隔离,这个是一个集成,所以接下来的“Exploded deployment option”意思是在WEB-INF中建立一个如下的目录结构:

\---WEB-INF
    |   web.xml
    |
    \---services
        \---BookService
            \---META-INF
                    services.xml

通常我们都会将BookService.aar发布到services目录中,这里,我们建立一个为BookService的目录并将部署描述文件(services.xml)放到META-INF目录下。恩,我们忘记什么了吗?是的,如何使用maven2的环境尽行简单的构建?一下是我们maven2的结构:

\---book
    |   pom.xml
    |   README
    |
    \---src
        +---main
        |   |   log4j.properties
        |   |
        |   \---samples
        |       \---demo
        |               Book.java
        |               BookService.java
        |        +---test
        \---webapp
            \---WEB-INF
                |   web.xml
                |
                \---services
                    \---BookService
                        \---META-INF
                                services.xml

  

所有需要的jars通过maven2都自动从Apache和Ibiblio下载了。因此,你甚至可以不下载Axis2就可以发布这个简单的工程。所有你需要处理的就是解压zip包如下:

$ mvn install war:war

然后将等到的war文件重命名为axis2.war,你可以将它放到任何servlet引擎。一旦你的servlet引擎启动,你可以通过如下service看到wsdl:
http://yourhost:port/axis2/services/BookService?wsdl

 

 

分享到:
评论
1 楼 tigershuang 2008-03-03  
不错,我就刚刚实现了一个,步骤跟这个差不多。

相关推荐

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

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

    用axis2开发web service

    【用Axis2开发Web Service】是本文的核心主题,轴心技术是Java开发Web服务的一种框架,相较于Axis1,其过程更为简洁。以下是关于使用Axis2开发Web Service的详细步骤和知识点: 1. **实验环境搭建**: - 首先确保...

    Axis2与Was7

    接下来介绍如何将Axis2集成到现有的Web项目中。 1. **准备工作** - 创建一个名为`myproject`的Web项目。 - 将Axis2的`lib`目录下的所有JAR文件复制到`myproject/WEB-INF/lib`目录下。 - 将`axis2.war`中的MAR...

    axis2教程文档

    - 使用 **Ant** 命令执行 `C:\JavaPlatform\axis2\webapp\build.xml` 文件,完成构建后会在 `C:\JavaPlatform\axis2\dist` 目录下生成 `axis2.war` 文件。 - 将 `axis2.war` 文件复制到 Tomcat 的 `webapps` 目录...

    用axis2+Tomcat5[1].5+Eclipse3.2部署和访问Web服务

    下面我们将逐步讲解如何在Eclipse集成开发环境中,结合Tomcat服务器,使用Axis2来创建并部署Web服务。 1. **下载与解压Axis2**: 首先,你需要从官方网站或者指定链接下载Axis2的发行版,例如axis2-1.1.1.zip,并...

    axis2+Tomcat5.5+Eclipse3.3

    2. 使用ant命令处理axis2\webapp目录下的build.xml文件,生成axis2.war文件,然后将其复制到Tomcat的webapps目录下。启动Tomcat,通过浏览器访问http://127.0.0.1:8080/axis2,如果看到axis2的欢迎页面,说明axis2已...

    Axis2 WebService 开发指南 技术文档 入门文档

    本指南将详细讲解如何使用Axis2进行Web服务的开发,从基础准备到高级特性,全方位解析Axis2的功能。 一、开发准备 1. 开发环境 开发前需要下载Axis2的相关JAR包,可从Apache官网获取最新版本。同时,为了简化开发...

    Axis2 WebService 开发指南

    - 将编译后的`HelloWorldService.class`文件复制到Tomcat的`webapps/axis2/WEB-INF/pojo`目录下。(如果不存在`pojo`目录,则需手动创建)。 - 访问`http://localhost:8080/axis2/services/listServices`查看已发布...

    axis2_WebService_开发指南

    将编译后的`.class`文件放入Tomcat的`webapps/axis2/WEB-INF/pojo`目录下。 - 如果`pojo`目录不存在,则需手动创建。 - 在浏览器中输入:[http://localhost:8080/axis2/](http://localhost:8080/axis2/) 或 ...

    axis2和xcf比较

    在Java Web服务开发领域,Apache Axis2和Apache CXF都是广泛使用的框架,但它们各自有着不同的定位和特点。下面是关于Axis2和CXF的详细比较,以及如何使用它们来创建和发布Web服务。 1. 对比 Axis2 和 CXF Axis2是...

    webservice简单实现demo

    本教程将通过一个简单的实现示例来介绍如何创建和使用Web服务,具体演示项目名为“simple-service-webapp”。 首先,我们要理解Web服务的基本概念。Web服务通常基于SOAP(Simple Object Access Protocol)协议,...

    Java实训教程 Java软件开发实战 Java开发框架介绍 webservices-cxf 共30页.pptx

    - **中间件服务器提供的技术**:如JBoss、WebLogic等应用服务器都内置了自己的Web Service实现。 - **第三方框架**:如Apache CXF、Apache Axis、XFire等专门针对Web Service的开源框架。 #### 三、Apache CXF...

Global site tag (gtag.js) - Google Analytics