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 实例源码"的解析与详解 在IT行业中,Web服务是一种重要的技术,它允许不同的应用程序之间通过网络交换数据。Apache Axis是Java平台上的一个开源工具,专门用于创建和部署Web服务。本实例...
webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例
通过这个简单的Java Axis WebService实例,你应该对Web服务的开发有了初步的认识。继续深入学习,包括理解SOAP消息结构、WSDL的细节以及如何处理更复杂的数据类型,将使你成为Web服务开发的专家。实践中不断探索,祝...
标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...
标题中的“axis调用webservice实例”涉及到的是在Java开发中使用Apache Axis库来调用Web服务的过程。Apache Axis是一个开放源代码的SOAP栈,它允许开发者创建和部署Web服务,同时也提供了客户端工具来调用这些服务。...
WebService之Axis2实例是Web服务开发中的一个重要环节,它基于SOAP协议,允许不同平台和语言间的应用程序进行通信。本文将详细介绍Axis2实例的创建、配置和运行,以及如何利用Eclipse IDE、JDK 1.7和Tomcat 7.0进行...
标题中的“Axis2 WebService 实例”指的是使用Apache Axis2框架创建和使用的Web服务示例。Apache Axis2是Java平台上一个强大的Web服务引擎,它允许开发者轻松地构建和部署Web服务。这个实例可能是为了帮助开发者理解...
** Axis 实现 WebService 完整实例** 在 IT 领域,Web 服务是一种用于应用程序之间进行通信的标准协议,而 Axis 是一个流行的开源 Java 框架,它允许开发者轻松地创建和部署 Web 服务。本实例将详细介绍如何使用 ...
eclipse+axis2学习webservice实例,亲测!
标题中的“axis2webservice接口例子”指的是使用Apache Axis2框架创建的一个Web服务接口实例。Apache Axis2是Java平台上的一款强大的Web服务开发工具,它提供了高效、灵活且可扩展的环境来构建和部署Web服务。这个...
在开发之前, 先了解一下AXIS,axis目前出现的2版本以其灵活性,快速开发工具的集成高于xfire而使用者居...这是对此版本的基本功能与简单实例的描术) 本人的开发环境eclipse3.2 ,tomcat5.0.28 ,jdk1.4 axis_1.4目前最新版
java基于axis的webservice实例,包含服务器端和客户端,开发工具为eclipse,下载后将TestServiceLocator类的地址改成你服务器端所在的机器ip地址,然后部署到tomcat中部署既可以运行。有问题可以留言
2. **编程方式**:如果你更倾向于代码驱动的方法,可以在Java代码中直接创建ServiceDeployer实例,然后调用其deploy()方法来部署服务。这种方式灵活且适用于动态环境,但可能需要更多的代码维护。 接下来,我们重点...
这个实例程序包含了实现和消费Axis2 Web服务所需的所有组件,包括必要的库文件(jar包)以及客户端和服务器端的代码示例。下面将详细阐述Axis2 Web服务的核心概念、工作原理以及如何利用提供的实例程序进行学习和...
标题中的“Axis2 WebService 实例”是指一个用于学习和实践Web服务开发的项目,它基于Apache Axis2框架。Apache Axis2是Java平台上的一个Web服务引擎,专门用于构建和部署Web服务。这个实例提供了服务端和服务端所需...
SAP&Java的Webservice实例 Webservice 是一种基于 SOAP 传输协议,用 WSDL 描述,用 XML 封装数据的接口技术。由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、...
### Axis开发WebService实例知识点解析 #### 一、Axis概述与安装配置 - **Apache Axis简介**:Apache Axis是Apache组织提供的一个开源项目,用于在Java环境中实现WebService技术规范。它支持SOAP协议,并提供了...