`
weigang.gao
  • 浏览: 491515 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

axis1.4 HelloWorld

 
阅读更多

转载:http://www.iteye.com/topic/1121971#

Axis开发WebService 指南

一、 开发环境

l          MyEclipse 6.5

l          Tomcat 6.0.24

l          Jdk 1.6.0_22

l          Axis1.4

 

二、Axis简介:

axis全称Apache EXtensible Interaction System 即 阿帕奇 可扩展交互系统。Axis本质上就是一个SOAP引擎,提供创建 服务器端、客户端和网关SOAP操作的基本框架。Axis目前版本是为Java编写的,不过为C++的版本正在开发中。但Axis并不完全是一个SOAP引擎,它还是一个独立的SOAP服务器和一个嵌入Servlet引擎(例如Tomcat)的服务器。

下载1.4 Final 链接地址:

http://ws.apache.org/axis/

 

三、Java开发Webservice 示例

Axis支持三种WebService 的部署和开发,分别为: 

    1、Dynamic Invocation Interface(DII)方式 

    2、Dynamic Proxy方式 

    3、Stubs方式

Stubs方式是最通用的做法,又因其灵活的特点,建议使用这种方式.

下面是详细的开发步骤:

1)       创建web工程

1、  MyEclipse 6.5创建web project,取名为axistest;

2、  新建文件夹 文件夹名为lib ,然后 将下载下来的axis 其 axis-1_4\lib 目录下的jar 拷贝到ib目录下,将这些jar引入到axistest classpath 下,如图:



2) .编写Server 程序

1、  新建class,包取名:server  类名:HelloServer

声明sayHello方法,具体代码如下:

package Server;  
/** 
 
 * 开发webservice: 服务器端 
 
 * @author lvqing 
 
 * 
 
 */  
  
public class HelloServer {  
  
   
  
public String sayHello(String name){  
  
return "hello:"+name;  
  
}  
  
}

结构图:


 

2、配置web.xml

web.xml文件很容易配置,拷贝axis包里面的WebService示例的web.xml配置到我们的工程中的web.xml中就可以了。

<?xml version="1.0" encoding="UTF-8"?>    
<web-app version="2.5"     
    xmlns="http://java.sun.com/xml/ns/javaee"     
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">    
  <welcome-file-list>    
    <welcome-file>index.jsp</welcome-file>    
  </welcome-file-list>    
      
    <!-- =============== Axis Webservice =============-->    
    <servlet>    
        <servlet-name>AxisServlet</servlet-name>    
        <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>    
    </servlet>    
    <servlet>    
        <servlet-name>AdminServlet</servlet-name>    
        <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>    
        <load-on-startup>100</load-on-startup>    
    </servlet>    
    <servlet>    
        <servlet-name>SOAPMonitorService</servlet-name>    
        <servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class>    
        <init-param>    
            <param-name>SOAPMonitorPort</param-name>    
            <param-value>5001</param-value>    
        </init-param>    
        <load-on-startup>100</load-on-startup>    
    </servlet>    
    <servlet-mapping>    
        <servlet-name>AxisServlet</servlet-name>    
        <url-pattern>/servlet/AxisServlet</url-pattern>    
    </servlet-mapping>    
    <servlet-mapping>    
        <servlet-name>AxisServlet</servlet-name>    
        <url-pattern>*.jws</url-pattern>    
    </servlet-mapping>    
    <servlet-mapping>    
        <servlet-name>AxisServlet</servlet-name>    
        <url-pattern>/services/*</url-pattern>    
    </servlet-mapping>    
    <servlet-mapping>    
        <servlet-name>SOAPMonitorService</servlet-name>    
        <url-pattern>/SOAPMonitor</url-pattern>    
    </servlet-mapping>    
    <mime-mapping>    
        <extension>wsdl</extension>    
        <mime-type>text/xml</mime-type>    
    </mime-mapping>    
    <mime-mapping>    
        <extension>xsd</extension>    
        <mime-type>text/xml</mime-type>    
    </mime-mapping>    
      
</web-app>

 

3) 部署 web project

利用MyEclipse部署工具 将我们的项目部署到Tomcat\webapp目录下

部署完成后,访问:http://localhost:8080/axistest/servlet/AxisServlet

 

4) 创建 deploy.wsdd文件

这个文件可以在任意目录下创建,但是为了维护方便 ,我将它创建在axistest 项目Src目录下

示例代码:

<deployment xmlns="http://xml.apache.org/axis/wsdd/"   
  
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">   
  
    <!-- 这里的helloserver为wsdd描述符中的ServiceNamespace  -->   
  
    <service name="helloserver" provider="java:RPC">   
  
        <!-- 这里的ClassName就是我的服务类了,这个服务主要功能就是传递一个自定义的对象  -->   
  
        <parameter name="className" value="Server.HelloServer" />   
  
        <!-- 这里描术的意思是,此服务类中的方法全部享出来. value值为*号   
  
        如果你只想让你的客户端只能调用其中一个方法时,value值改为方法名就可以了. -->   
  
        <parameter name="allowedMethods" value="*" />   
  
    </service>   
  
</deployment>

  

5) 生成 server-config.wsdd  文件

在这里我们写一个批处理脚本deploy.bat,它会根据deploy.wsdd文件生成server-config.wsdd文件。server-config.wsdd 文件只需要一次生成,以后添加新服务,直接在server-config.wsdd 文件中配置。

server-config.wsdd 文件是WebService的核心配置文件,Web服务能否发布,很大程度上取决于次文件的配置。

这里 我们写个批处理脚本deploy.bat:

set Axis_Lib=D:\workspace\MEE\NMA\axistest\lib   设置axis.jar包所在路径,因为要用到AdminClient
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%      执行java的环境
set Axis_Servlet=http://localhost:8080/axistest/servlet/AxisServlet   注意axistest是你自己的项目名
%Java_Cmd% org.apache.axis.client.AdminClient -l %Axis_Servlet% deploy.wsdd
pause;

接下来,在执行deploy.bat前,请确保Tomcat 服务已运行,否则在Dos命令窗口中看到如下错误:


 

看到如下图运行的结果,表明已经在Tomcat\webapps\axistest\WEB-INF目录下生成了server-config.wsdd文件. (Activation.jar 和 mail.jar这两个包虽然没有加入到CLASSPATH中,但是不影响我们的开发。)

 

好了,大功告成了!webservice 发布成功了,重启Tomcat,我们来测试一下,看是否发布成功.

在IE上输入: http://localhost:8080/axistest/services/helloserver?wsdl

看到如图结果表明发布成功:

并且,当我们再次访问:http://localhost:8080/axistest/servlet/AxisServlet的时候,发现多出了一个服务

 

6) 生成客户端Client wsdl文件

在IE上输入: http://localhost:8080/axistest/services/helloserver?wsdl ,点击文件 → 另存为,存到axistest 项目Src:目录下

7)WSDL2Java

为了方便,我们写个批处理脚本 WSDL2Java.bat

set Axis_Lib=D:\workspace\MEE\NMA\axistest\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\MEE\NMA\axistest\src
set Package=client
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o %Output_Path% -p %Package% helloserver.wsdl
pause;

 

解释下此命令:

%Output_Path%是客户端文件输出路径,%Package%是包名

这时 我们可以看到 axistest 工程下已经生成了客户端程序,如图:


 

8) 客户端测试代码:

package client;  
  
import java.net.URL;  
  
/** 
 
 * webservice  客户端 程序 
 
 */  
  
public class ClientTest {  
  
public static void main(String[] args) {  
  
HelloServerService service = null;   
  
        HelloServer helloServer = null;   
  
        try {   
  
            System.out.println("connect......");   
  
            String StrPortAddress = "http://localhost:8080/axistest/services/helloserver";   
  
            URL portAddress = new URL(StrPortAddress);   
  
            // 得到客户端服务   
  
            service = new HelloServerServiceLocator();   
  
            // 得到客户端stub   
  
            helloServer = service.gethelloserver(portAddress);  
  
            // 测试服务方法   
  
            String resultStr = helloServer.sayHello("iteye");  
  
            System.out.println(resultStr);   
  
        } catch (Exception e) {   
  
            e.printStackTrace();   
  
        } finally {   
  
            System.out.println("End.");   
  
        }   
}  
}

终结 ……

 

  • 大小: 17.1 KB
  • 大小: 9.2 KB
  • 大小: 15.9 KB
  • 大小: 9.4 KB
  • 大小: 18.4 KB
  • 大小: 51.9 KB
  • 大小: 9.6 KB
  • 大小: 16.3 KB
  • 大小: 3.1 KB
  • 大小: 8.9 KB
分享到:
评论

相关推荐

    axis1.4实现全过程,不少任何jar包

    - 访问 URL `http://localhost:8080/axis/HelloWorld.jws?wsdl` 来验证 WSDL 文件是否正确生成。 - 编写客户端程序调用 Web Service。例如创建一个 `YLClient` 类来调用服务: ```java public class YLClient { ...

    【java项目整合Axis1.4webservice搭建实例】客户端代码

    在Java开发中, Axis1.4 是一个广泛使用的开源框架,用于构建和部署Web服务。本文将深入探讨如何使用Axis1.4与Java项目整合,搭建Web服务客户端,并通过具体的客户端代码实例进行详解。 首先,我们需要理解Web服务...

    axis1.4开发webservice详细实例

    return "Hello, World!"; } } ``` 2. 生成WSDL:然后,使用Axis的`wsdl2java`工具,根据这个Java类生成相应的WSDL(Web Service Definition Language)文件。WSDL文件描述了Web服务的接口和消息格式。 3. 创建...

    axis1.4部署webSevice项目测试(已有所相关的jar包)+开发指南+源码+部署相关配置wsdd文件,内有说明

    例如,你可以创建一个名为`HelloWorld`的接口,包含一个`sayHello`方法,然后实现这个接口。 3. **生成WSDD文件**:Web Service Deployment Descriptor (WSDD)是Axis用来配置和部署Web服务的XML文件。你可以使用...

    axis1.4 webservice java服务端配置

    在Java世界中,Axis1.4是一个非常经典的Web服务(Web Service)框架,它用于创建和部署SOAP(Simple Object Access Protocol)服务。本教程将深入探讨如何在Java服务端配置Axis1.4来构建和运行Web服务。我们将不涉及...

    axis-1.4.zip

    - Axis 1.4 文档通常包含一些简单的示例,如 "Helloworld" 示例,帮助初学者快速理解如何创建和调用 Web 服务。 7. **社区和文档** - 开源性质使得 Axis 拥有丰富的社区资源,包括在线论坛、邮件列表和教程,为...

    AxisWebService实例

    【AxisWebService实例】是关于使用Axis1.4框架创建并部署Web服务的实践教程。Axis是Apache软件基金会开发的一个开源工具,主要用于简化SOAP(简单对象访问协议)Web服务的开发。在本文中,我们将深入探讨如何利用...

    Weblogic10.3及tomacat6.0下使用axis发布webService

    此压缩包不仅仅只有文档,还有axis1.4相关资源。详细描述了如何在tomacat6.0下发布webService,并以此为基础,进一步重点描述了如何在Weblogic10.3下发布webService。网上多半描述的是Weblogic8.1版本,而很少有关...

    AXIS配置说明新手上路

    - 将`src`文件夹下的`Helloworld.java`文件复制到`WebRoot`文件夹下,并重命名为`Helloworld.jws`。 - 修改`Helloworld.java`文件内容如下: ```java public class Helloworld { public String getName(String ...

    axis实现webservice

    - **部署服务**:将上述Java代码保存为`HelloWorld.jws`,并放置在Tomcat的webapps/axis目录下。 - **生成WSDL**:访问`http://localhost:8080/axis/HelloWorld.jws?wsdl`,查看自动生成的WSDL文件。 ##### 2. 编写...

    在WTP 2中使用Axis 1_4 构建Web Services

    在Java开发环境中,Apache Axis 1.4 是一个广泛使用的Web服务框架,它简化了Web服务的创建、部署和使用过程。而WTP(Web Tools Platform)是Eclipse IDE中的一个插件集合,为开发Web应用程序提供了强大的支持。本...

    axis+webservice教程,高级部分

    public class HelloWorld implements javax.xml.rpc.HelloWorld { public String getGreeting() { return "Hello, World!"; } } ``` - **配置`web.xml`**: ```xml &lt;servlet-name&gt;HelloWorld ...

    《Axis实例与分析详解》

    2. **部署服务**:将`HelloWorld.java`编译成`.class`文件后,将其放置于Axis的部署目录下,并重命名为`HelloClient.jws`。 3. **生成WSDL**:通过访问`http://localhost:8080/axis/HelloClient.jws?wsdl`,可以查看...

    使用axis自动生成webservice客户端代码.docx

    set Axis_Servlet=http://localhost:8090/myAxis/services/HelloWorld?wsdl %Java_Cmd% org.apache.axis.wsdl.WSDL2Java -u %Axis_Servlet% ``` 4. **代码生成结果** 运行批处理文件后,将在指定目录下生成多个...

    axis2 web service完整教学

    2. **创建Web Service**:对着`HelloWorld`类右键选择`Web Services &gt; Create Web Service`,配置运行时为Axis2,服务器为之前创建的Server,按照提示完成操作。 **验证服务** 1. **查看服务状态**:访问`...

    使用axis自动生成webservice客户端代码.pdf

    本文档主要介绍了如何使用Axis工具生成客户端代码,以Myeclipse7.0为开发环境,axis1.4为工具版本,以及tomcat5.5作为应用服务器,JDK版本为1.5。 首先,你需要下载并解压Axis的jar包,例如axis-bin-1_4.zip。解压...

    Axis2 配置与简单运用

    2. **创建 Web 服务**: 选中 `HelloWorld` 类,右键 `Web Services &gt; Create Web Service`,配置运行时环境为 Axis2,选择服务器,然后完成设置。 **验证服务** 1. **启动服务器**: 点击 Start Server 启动 Tomcat...

Global site tag (gtag.js) - Google Analytics