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

axis webService实例

阅读更多

Axis 简单说明:

 

1. Lib 包引用

2.web.xml配置

<listener>

        <listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>

    </listener>

 

    <servlet>

        <display-name>Apache-Axis Servlet</display-name>

        <servlet-name>AxisServlet</servlet-name>

        <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>

    </servlet>

    <servlet>

        <display-name>Axis Admin Servlet</display-name>

        <servlet-name>AdminServlet</servlet-name>

        <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>

        <load-on-startup>100</load-on-startup>

    </servlet>

    <servlet>

        <display-name>SOAPMonitorService</display-name>

        <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>

 

    <session-config>

        <!-- Default to 5 minute session timeouts -->

        <session-timeout>5</session-timeout>

    </session-config>

 

    <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>

 

3.添加相应的axis配置文件

<?xml version="1.0" encoding="UTF-8"?>

<deployment xmlns="http://xml.apache.org/axis/wsdd/"

    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

 

    <handler type="java:org.apache.axis.handlers.http.URLMapper"

        name="URLMapper" />

 注:定义相关webservice访问类

    <service name="userManage" provider="java:RPC">

        <parameter name="className"value="com.axis.service.UserManageWebService" />

        <parameter name="allowedMethods" value="*" />

注:定义相关webservice访问类中方法传递参数类型,其中User为客户端相对应UserBean的类型。

         <beanMapping languageSpecificType="java:com.axis.bean.UserBean" qname="n1:user" xmlns:n1="urn:User"  />

         <parameter name="scope"  value="session" />

    </service>

    <transport name="http">

        <requestFlow>

            <handler type="URLMapper" />

        </requestFlow>

    </transport>

</deployment>

 

4.关于spring与 axis的相关问题

如上:com.axis.service.UserManageWebService,在axis配置文件中定义,所以其内的DAO对象实例化不能进行spring自动注入,需要手动进行注入,如下是相关的解决方法:

 

定义相关mapping:

 

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import org.springframework.context.ApplicationContext;

import org.springframework.web.context.WebApplicationContext;

importorg.springframework.web.context.support.WebApplicationContextUtils;

 

 

public class SpringInit implements ServletContextListener {

   

 

    private static WebApplicationContext springContext;

   

    public SpringInit() {

        super();

    }

   

    public void contextInitialized(ServletContextEvent event) {

        springContext = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());

    }

   

 

    public void contextDestroyed(ServletContextEvent event) {

    }

   

    public static ApplicationContext getApplicationContext() {

        return springContext;

    }

 

   

}

Mapping在Web.xml中配置:

<listener>

 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<listener>

        <listener-class>gxlu.gmap.web.util.SpringInit</listener-class>

</listener>

 

然后在服务端方法中进行调用相关配置的Bean就可以了:

userDaoOther = (UserDao) SpringInit.getApplicationContext().getBean("userDaoOther");

 

 

5.服务端调用:

 

1)引用lib如下:

2)调用相关方法:

 

String url = "http://localhost:7001/gmap/services/userManage";

 

            Service service = new Service();

            Call call = (Call) service.createCall();

//定义本地User类,关联到服务UserBean

            QName  qn = new QName("urn:User","user");

            call.registerTypeMapping(User.class, qn,

                neworg.apache.axis.encoding.ser.BeanSerializerFactory(User.class,qn),

                neworg.apache.axis.encoding.ser.BeanDeserializerFactory(User.class,qn));

            call.setTargetEndpointAddress(new  java.net.URL(url));

//调用服务端方法register

            call.setOperationName(new QName("user","register"));

            User user=new User();

            user.setUserName("webservicetest1");

            user.setLoginName("webservicetest1");

            user.setPassword("123");

            user.setUserId(1);

            user.setTelephone("13597436721");

            user.setEnabled(1);

            user.setCreator("webservice");

           

            Integer ret = (Integer) call.invoke(new Object[] {user });

分享到:
评论

相关推荐

    Axis WebService 实例源码

    【标题】"Axis WebService 实例源码"的解析与详解 在IT行业中,Web服务是一种重要的技术,它允许不同的应用程序之间通过网络交换数据。Apache Axis是Java平台上的一个开源工具,专门用于创建和部署Web服务。本实例...

    webService—Axis实例webService—Axis实例webService—Axis实例

    webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例

    java axis webservice 开发实例

    通过这个简单的Java Axis WebService实例,你应该对Web服务的开发有了初步的认识。继续深入学习,包括理解SOAP消息结构、WSDL的细节以及如何处理更复杂的数据类型,将使你成为Web服务开发的专家。实践中不断探索,祝...

    详解axis调用webservice实例

    标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...

    axis调用webservice实例,包含jar包

    标题中的“axis调用webservice实例”涉及到的是在Java开发中使用Apache Axis库来调用Web服务的过程。Apache Axis是一个开放源代码的SOAP栈,它允许开发者创建和部署Web服务,同时也提供了客户端工具来调用这些服务。...

    WebService之Axis2实例

    WebService之Axis2实例是Web服务开发中的一个重要环节,它基于SOAP协议,允许不同平台和语言间的应用程序进行通信。本文将详细介绍Axis2实例的创建、配置和运行,以及如何利用Eclipse IDE、JDK 1.7和Tomcat 7.0进行...

    axis2 webservice 实例

    标题中的“Axis2 WebService 实例”指的是使用Apache Axis2框架创建和使用的Web服务示例。Apache Axis2是Java平台上一个强大的Web服务引擎,它允许开发者轻松地构建和部署Web服务。这个实例可能是为了帮助开发者理解...

    Axis实现webservice完整实例

    ** Axis 实现 WebService 完整实例** 在 IT 领域,Web 服务是一种用于应用程序之间进行通信的标准协议,而 Axis 是一个流行的开源 Java 框架,它允许开发者轻松地创建和部署 Web 服务。本实例将详细介绍如何使用 ...

    eclipse+axis2=webservice实例-亲测

    eclipse+axis2学习webservice实例,亲测!

    axis2webservice接口例子

    标题中的“axis2webservice接口例子”指的是使用Apache Axis2框架创建的一个Web服务接口实例。Apache Axis2是Java平台上的一款强大的Web服务开发工具,它提供了高效、灵活且可扩展的环境来构建和部署Web服务。这个...

    用Java 开发 WebService Axis简单实例

    在开发之前, 先了解一下AXIS,axis目前出现的2版本以其灵活性,快速开发工具的集成高于xfire而使用者居...这是对此版本的基本功能与简单实例的描术) 本人的开发环境eclipse3.2 ,tomcat5.0.28 ,jdk1.4 axis_1.4目前最新版

    java axis的webservice实例

    java基于axis的webservice实例,包含服务器端和客户端,开发工具为eclipse,下载后将TestServiceLocator类的地址改成你服务器端所在的机器ip地址,然后部署到tomcat中部署既可以运行。有问题可以留言

    axis2发布webservice各种方式实例

    2. **编程方式**:如果你更倾向于代码驱动的方法,可以在Java代码中直接创建ServiceDeployer实例,然后调用其deploy()方法来部署服务。这种方式灵活且适用于动态环境,但可能需要更多的代码维护。 接下来,我们重点...

    axis2 webservice实例程序

    这个实例程序包含了实现和消费Axis2 Web服务所需的所有组件,包括必要的库文件(jar包)以及客户端和服务器端的代码示例。下面将详细阐述Axis2 Web服务的核心概念、工作原理以及如何利用提供的实例程序进行学习和...

    axis2 webservice 实例(包括服务端代码及客户端代码)

    标题中的“Axis2 WebService 实例”是指一个用于学习和实践Web服务开发的项目,它基于Apache Axis2框架。Apache Axis2是Java平台上的一个Web服务引擎,专门用于构建和部署Web服务。这个实例提供了服务端和服务端所需...

    SAP&Java的Webservice实例

    SAP&Java的Webservice实例 Webservice 是一种基于 SOAP 传输协议,用 WSDL 描述,用 XML 封装数据的接口技术。由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、...

    Axis开发WebService实例.pdf

    ### Axis开发WebService实例知识点解析 #### 一、Axis概述与安装配置 - **Apache Axis简介**:Apache Axis是Apache组织提供的一个开源项目,用于在Java环境中实现WebService技术规范。它支持SOAP协议,并提供了...

Global site tag (gtag.js) - Google Analytics