`
yjshengshe
  • 浏览: 204565 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JSP学习笔记(一百二十三):使用axis1.4开发webservice应用(二)

 
阅读更多

拷贝自博客园--

魔豆的BLOG

 

 

通过上篇文章,已经可以通过axis1.4发布服务以及调用服务了,不过上篇文章发布服务使用的方法不够灵活,这里介绍一种灵活的方式

一、以Stubs的方式发布服务


1.以这种方式发布还需要两个J2EE包

activation.jar
  
mail.jar



2.修改web.xml,我使用了struts2,和axis的配置会有冲突,为了避免冲突,对struts2的相关配置也做了对应修改,这里贴出完整web.xml文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
    <display-name>static</display-name>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/struts/dojo/*</url-pattern>
    </filter-mapping> 
  
    <servlet>
        <servlet-name>AxisServlet</servlet-name>
        <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
    </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>/services/*</url-pattern>
    </servlet-mapping>
  
    <welcome-file-list>
        <welcome-file>index.htm</welcome-file>
    </welcome-file-list>
</web-app>



3.编写服务类 com.site.webservice.MyService.java

package com.site.webservice;
  
public class MyService{
    public String getName(String name)
    {
        return "hi," + name;
    }
}



4.在项目WEB-INF目录下创建deploy.wsdd文件,内容为:

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
    <service name="MyService" provider="java:RPC">
        <parameter name="className" value="com.site.webservice.MyService" />
        <parameter name="allowedMethods" value="*" />
    </service>
</deployment>



5.在项目WEB-INF目录下创建deploy.bat文件,内容为:

set Axis_Lib=D:\workspace\proj1\WebContent\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8080/proj1/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd


dos下进入D:\workspace\proj1\WebContent\WEB-INF目录,执行deploy.bat,执行成功后会提示:

Processing file deploy.wsdd
<Admin>Done processing</Admin>


通过http://localhost:8080/proj1/services可以检查服务是否发布成功



6.编写客户端代码调用我们创建的服务:

Service service = new Service();
Call call = (Call)service.createCall();
call.setOperationName(new QName(endPoint,"getName"));
call.setTargetEndpointAddress(new URL(endPoint));
String result = (String)call.invoke(new Object[]{"abcd"});
System.out.println(result);


执行该代码打印内容为:hi,abcd



7.如果需要卸载MyService服务,在WEB-INF目录下创建undeploy.wsdd文件:

<undeployment xmlns="http://xml.apache.org/axis/wsdd/">  
 <service name="MyService"/>  
</undeployment>


在WEB-INF目录下创建undeploy.bat文件:

set Axis_Lib=D:\workspace\proj1\WebContent\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8080/proj1/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% undeploy.wsdd


dos下进入D:\workspace\proj1\WebContent\WEB-INF目录,执行undeploy.bat,MyService服务就被卸载了


二、以Stubs的方式调用服务

 
1、在WEB-INF目录下创建client.bat文件:

set Axis_Lib=D:\workspace\proj1\WebContent\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\proj1\src
set Package=com.site.client
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http://localhost:8080/proj1/services/MyService?wsdl


dos下进入D:\workspace\proj1\WebContent\WEB-INF目录,执行client.bat,会在com.site.client下自动生成如下文件类:

MyServiceSoapBindingStub.java

SayHello.java

SayHelloService.java

SayHelloServiceLocator.java


2、客户端调用

SayHelloService service = new SayHelloServiceLocator();
SayHello client = service.getMyService() ;
String result = client.getName("abcdefg");
System.out.println(result);
分享到:
评论

相关推荐

    axis1.4及webService开发教程

    Axis1.4是Apache软件基金会提供的一个开源工具,专门用于开发和部署Web服务。本教程将详细讲解如何使用Axis1.4进行Web服务的开发,包括创建服务端和客户端。 首先,我们需要了解Web服务的基本概念。Web服务是通过...

    axis1.4开发webservice详细实例

    在本文中,我们将深入探讨如何使用Axis1.4版本来开发Web服务,这是一个基于Java的开源工具,专门用于创建和部署Web服务。我们将通过一个详细实例来阐述整个过程,包括Web服务的发布和客户端调用。 一、 Axis1.4简介...

    springboot+axis1.4

    3. **创建WebService**:在Spring Boot应用中,你可以通过Axis1.4创建一个WebService。首先,定义一个Java类,包含你想要公开的方法。然后,使用Axis的工具生成服务端点接口和服务类。 4. **配置Spring Boot**:...

    axis1.4开发webservice

    在描述中提到的“近期使用到webservice做了一个axis1.4的例子,以备以后再用”,表明这个例子是一个实践项目,用于展示如何使用Axis1.4来开发Web服务,并且这个例子已经被保存下来,以便未来参考。这通常包括创建...

    webservice axis1.4 开发资料

    通过学习和实践相关的开发指南,掌握使用jar包,创建、发布和调用Web服务,以及理解其工作原理,可以有效地利用Axis1.4进行Web服务开发。然而,随着技术的演进,开发者也应关注更新的框架,以便利用更先进的功能和更...

    [原创]使用Axis1.4开发WebService

    ### 使用Axis 1.4开发WebService:关键技术与实践 #### 一、Axis 1.4 简介 Axis是一个开放源代码的Web服务引擎,它由Apache软件基金会开发和维护,支持SOAP协议,用于创建和部署Web服务。Axis 1.4版本是其稳定且...

    手把手教你用axis1.4搭建webservice

    标题中的“手把手教你用axis1.4搭建webservice”是指一篇教程,旨在指导读者如何使用Axis1.4这个开源工具来创建和部署Web服务。Axis是Apache软件基金会的一个项目,它提供了一种简单的方式来实现Java到SOAP(Simple ...

    axis1.4 部署webservice说明

    Axis1.4是Apache软件基金会开发的一个开源Java框架,用于创建和部署Web服务。这个框架在Web服务领域中扮演着重要角色,特别是在早期的Web服务实现中。标题和描述提到的知识点主要集中在如何使用Axis1.4来部署Web服务...

    springboot使用axis1.4的demo

    Spring Boot以其简化配置和快速开发能力而受到广泛欢迎,而Axis1.4是Apache软件基金会的一个开源项目,主要用于生成和消费SOAP Web服务。当我们需要在Spring Boot应用程序中集成Web服务时,Axis1.4提供了一个强大的...

    AXIS1.4webservice服务端和客户端例子

    AXIS1.4是Apache软件基金会开发的一个开源Java库,用于构建和使用Web服务。它提供了在Java平台上创建Web服务的工具和API,使得开发者能够快速实现SOAP(Simple Object Access Protocol)通信。在这个"AXIS1.4 ...

    手写Axis1.4发布WebService以及客户端调用

    标题中的“手写Axis1.4发布WebService以及客户端调用”指的是使用Apache Axis1.4框架来创建和消费Web服务的过程。Apache Axis是用于构建Web服务的一个开源工具,它允许开发者将Java类转换为Web服务,并且提供客户端...

    axis1.4发布webservice接口步骤(java).docx

    ### Axis 1.4 发布WebService接口步骤详解 ...通过以上步骤,你已经成功地使用Axis 1.4框架发布了一个简单的WebService接口。这些步骤不仅可以帮助你理解发布WebService的基本流程,还可以作为后续更复杂应用的基础。

    axis1.4完整包下载

    标题“axis1.4完整包下载”表明我们关注的是Apache Axis的1.4版本,这是一个较早但仍然在某些环境中使用的版本。 在描述中提到,“包含Axis1.4的所有完整包”,这意味着下载包中包含了运行和开发SOAP Web服务所需的...

    axis1.4带lib包java开发webservice客户端和服务端

    标题 "axis1.4带lib包java开发webservice客户端和服务端" 涉及到的是一个基于Java的Web服务开发工具包,Axis1.4,它包含必要的库文件(lib)来支持创建和消费Web服务。这个压缩包是为MyEclipse集成开发环境设计的,...

    webservice axis1.4服务实例

    Web服务(Web Service)是一种基于网络的、分布式的模块化组件,它提供了标准的方法...通过学习和掌握Axis1.4,你可以更好地理解和利用Web服务这一现代软件架构中的关键组成部分,实现不同系统间的互操作性和数据交换。

    java客户端调用webservice所调用的axis1.4包和方法调用

    本方法是用axis1.4技术,实现java客户端调用webservice。已经可实现过可行的,如果不行可加我QQ号302633进行详细解析。

    axis1.4帮助文档

    Axis1.4是Apache软件基金会开发的一个开源SOAP(简单对象访问协议)库,主要用于构建和部署Web服务。这个版本的Axis是基于Java平台的,它为开发者提供了强大的工具集,以便于实现符合WS-I(Web Services ...

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

    在Java开发中,Axis1.4是一个常用的开源工具,用于构建和部署Web服务。本实例主要探讨如何将Axis1.4与Java项目整合,搭建Web服务的服务端。下面我们将详细阐述Axis1.4、Web服务以及如何在服务端进行设置。 一、 ...

    axis1.4生成客户端

    Axis1.4是Apache软件基金会提供的一个开源工具,专门用于处理Web服务,特别是基于SOAP(Simple Object Access Protocol)的Web服务。本文将深入探讨如何使用Axis1.4生成客户端,以及与之相关的知识点。 1. **Web...

    Springboot集成axis1.4的demo

    首先,了解 Axis1.4:Axis 是一个开源的Java Web服务框架,它允许开发者快速地创建和部署Web服务。Axis1.4是该框架的一个较老版本,尽管它可能不如最新版本的功能强大,但在某些场景下,如支持老版本的Web服务规范或...

Global site tag (gtag.js) - Google Analytics