1.建立工程:名称为AxisWebService,导入spring,axis所需的包
(博客中有一篇文章讲解了axis的配置问题)
2.建立接口类
IUserService 代码如下:
package com.gis.service;
public interface IUserService {
String login(String name) ;
}
3.建立接口实现类
UserService 代码如下:
package com.gis.service.impl;
import com.gis.service.IUserService;
public class UserService implements IUserService {
public String login(String name) {
if("liqi".equals(name))
{
return "success" ;
}
else
{
return "fault" ;
}
}
}
4.建立继承ServletEndpointSupport并实现IUserService接口的类
UserWebService,代码如下
package com.gis.service.webservice;
import javax.xml.rpc.ServiceException;
import org.springframework.remoting.jaxrpc.ServletEndpointSupport;
import com.gis.service.IUserService;
public class UserWebService extends ServletEndpointSupport implements
IUserService {
private IUserService userService ;
protected void onInit() throws ServiceException
{
userService = (IUserService)this.getWebApplicationContext().getBean("userService") ;
}
public String login(String name) {
return userService.login(name) ;
}
}
5.配置Web工程的web.xml文件,
文件路径为WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>axis</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>axis</servlet-name>
<url-pattern>/webservices/*</url-pattern>
</servlet-mapping>
</web-app>
6.配置bean,即添加
spring的配置文件applicationContext.xml,路径为WEB-INF/applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="userService"
class="com.gis.service.impl.UserService">
</bean>
</beans>
7.编写axis使用的WSDD文件,
名称为server-config.wsdd,路径为WEB-INF/server-config.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler name="URLMapper"
type="java:org.apache.axis.handlers.http.URLMapper" />
<!-- 系统服务 -->
<service name="AdminService" provider="java:MSG">
<parameter name="allowedMethods" value="AdminService" />
<parameter name="enableRemoteAdmin" value="false" />
<parameter name="className" value="org.apache.axis.utils.Admin" />
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
</service>
<service name="Version" provider="java:RPC">
<parameter name="allowedMethods" value="getVersion" />
<parameter name="className" value="org.apache.axis.Version" />
</service>
<!-- 自定义服务 -->
<service name="userWebService" provider="java:RPC">
<parameter name="className"
value="com.gis.service.webservice.UserWebService" />
<parameter name="allowedMethods" value="*" />
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper" />
</requestFlow>
</transport>
</deployment>
8.浏览器测试wsdl信息
在浏览器中输入http://localhost:8888/AxisWebService/webservices/userWebService?wsdl测试是否返回webservice描述信息
9.代码测试调用并验证返回,编写测试类
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import org.apache.axis.client.Service;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
String wsdlUrl = "http://localhost:8888/AxisWebService/webservices/userWebService?wsdl";
String nameSpaceUri = "http://localhost:8888/AxisWebService/webservices/userWebService";
// 创建调用对象
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
// 调用sayHello
System.out.println(">>>getMessage");
call.setOperationName(new QName(nameSpaceUri, "login"));
call.setTargetEndpointAddress(wsdlUrl);
String ret = (String) call.invoke(new Object[] {"liqi"});
System.out.println("return value is " + ret);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
4. **部署和发布服务**:如果我们要在Spring中发布一个Web服务,可以使用Axis2的`SpringServiceDeployer`。这需要将服务类和相关的配置文件打包成一个Axis2模块(.aar文件),然后部署到Axis2服务器上。 5. **测试...
标题中的“axis2+spring webservice”指的是使用Apache Axis2框架与Spring框架集成来开发Web服务。Apache Axis2是Java环境中广泛使用的Web服务引擎,它提供了高性能、灵活且可扩展的架构。Spring框架则是一个全面的...
在本文中,我们将深入探讨如何使用SpringBoot框架开发基于Axis的Web服务。SpringBoot以其便捷的启动和配置方式,已经成为Java开发中的首选框架之一。而 Axis 是一个流行的Apache项目,用于创建和部署Web服务,它提供...
spring集成axis发布webservice源码 spring集成axis发布webservice源码 spring集成axis发布webservice源码 spring集成axis发布webservice源码
当我们谈论“Spring + Axis2 开发 WebService”时,这通常指的是使用Spring框架与Apache Axis2工具来创建、部署和消费基于SOAP(Simple Object Access Protocol)的Web服务。以下是关于这个主题的详细知识点: 1. *...
本文将深入探讨如何使用Spring与Axis进行集成,以便开发和消费Web服务。 首先,让我们了解Spring和Axis的基本概念。Spring是一个开源Java框架,它为构建灵活、模块化且可测试的应用程序提供了强大的支持。它包含多...
在IT行业中,开发Web服务是常见的任务,而Axis2和Spring框架的整合为开发者提供了强大的工具来实现这一目标。本文将深入探讨如何利用这两个技术来发布多个WebService,并着重讲解项目管理和整合过程。 首先,让我们...
3. **定义Web服务**: 在Spring配置文件中,使用`ServiceDeployer` bean部署Axis2服务。这通常涉及到将服务的aar文件添加到Axis2的Repository目录,并在Spring配置中声明: ```xml <value>/path/to/service....
在这个"spring+axis编写webservice"的例子中,我们将深入探讨如何结合这两者来创建高效、灵活的Web服务,并利用JDOM解析XML数据。 首先,Spring框架是Java企业级应用开发的重要工具,提供了依赖注入(DI)和面向切面...
在Web服务开发中,Spring框架可以用来管理服务的生命周期和提供事务控制。 接下来,我们引入Apache Axis2,它是Apache的一个项目,专门用于构建和部署Web服务。Axis2是一个高效的Web服务引擎,它提供了一种模块化的...
在IT行业中,Axis2是Apache软件基金会开发的一个用于构建Web服务和Web服务客户端的框架,主要基于Java语言。本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解...
标题中的“在自己的项目中利用axis2+spring发布webservice与客户端调用包括session”指出的是一个关于在实际项目开发中如何使用Axis2和Spring框架来发布Web服务,并且涉及了Web服务客户端调用以及会话(session)...
【标题】"Axis2 WebService 详细教程"涵盖了在Java环境中使用Apache Axis2框架创建、部署和使用Web服务的核心概念和技术。Apache Axis2是Apache软件基金会开发的一个强大的Web服务引擎,它提供了高度优化的Web服务...
通过axis2与spring进行集成,发布webservice服务,
### Axis2 WebService 开发指南知识点详述 #### 一、Axis2 WebService 技术概览 **Axis2** 是Apache的一个开源项目,旨在提供一个高性能、灵活且可扩展的Web服务框架,用于实现基于SOAP协议的Web服务。与前代产品*...
3. **使用Axis2作为Web服务引擎**:在Spring配置中,你需要指定Axis2作为Web服务的运行时环境,这通常涉及到添加相应的bean配置。 4. **服务发布**:Spring可以自动发现标记为Web服务的bean,并使用Axis2将其发布到...
【使用Axis在项目中开发WebService服务】 在软件开发中,有时我们需要通过Web Service来实现不同系统间的通信,以便共享数据和服务。本篇文章将详细介绍如何使用Axis框架在现有Web服务器上开发一个WebService服务。...
Axis2_WebService_开发指南详细介绍了如何使用Axis2开发WebService。 首先,在进行Axis2的准备工作时,需要下载Axis2的相关jar包,这些依赖包可以在Axis2的官方网站上找到。截至文档提供的信息,最新的版本是1.5.4...
标题中的“spring-axis2-test.rar_Axis2 Spring3_axis2_axis2 spring3_axis2 s”指的是一个关于Spring和Axis2集成的示例项目,它包含了一组用于演示如何在Spring框架中使用Apache Axis2来开发和部署Web服务的源代码...