所谓Web Service就是客户端以标准的SOAP消息将服务请求发给服务提供者,不论服务提供者用什么样的技术,Java、EJB、或者.NET执行相应的程序得到结果,然后将结果以SOAP消息返回给服务请求者。以axis为例,创建一个简单的Web Service
首先到http://ws.apache.org/axis/上去下载最新的axis版本。最新版本是axis-src-1_4.zip
NEWS (April 22, 2006): Axis 1.4 Final is now available!
第一步:创建WebService项目,命名为Webservice_Begin
解压axis-src-1_4.zip后,拷贝lib目录下最基本的jar包至项目WEB-INF/lib目录下,如下列表:
axis.jar
commons-discovery-0.2.jar
commons-logging-1.1.jar
jaxrpc.jar
mailapi_1_3_1.jar
wsdl4j-1.5.1.jar
junit-4.9-SNAPSHOT-20100512-0041.jar
第二步:创建WebService服务器端接口和实现类
package com.unis.p2p.server;
/**
* WebService服务器端业务逻辑接口
*
* @author Posey 2010-12-17
*/
public interface Hello {
/**
* 接口方法:接收客户端WebService请求
*
* @author Posey 2010-12-17
* @param message
* @return
*/
public String executeTaskList(String message);
}
package com.unis.p2p.server;
/**
* WebService服务器端业务逻辑实现类
* @author Posey 2010-12-17
*
*/
public class HelloImpl implements Hello {
/**
* 接收客户端WebService请求,具体执行相关操作
*
* @author Posey 2010-12-17
*/
public String executeTaskList(String message) {
return "OK|调用成功! " + message;
}
}
第三步:修改WEB-INF/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">
<!-- ********************************************** -->
<!-- WebService核心处理类 -->
<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>/services/*</url-pattern>
</servlet-mapping>
<!-- ********************************************** -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
第四步:创建WebRoot/WEB-INF/server-config.wsdd文件,定义服务的名称,具体的实现类,以及发布的方法和属性等等
<?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" />
<service name="executeTask" provider="java:RPC">
<parameter name="className" value="com.unis.p2p.server.HelloImpl" />
<parameter name="allowedMethods" value="executeTaskList" />
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper" />
</requestFlow>
</transport>
</deployment>
第五步:启动应用服务器,发布Web Service服务。
地址栏输入:http://127.0.0.1:8080/Webservice_Begin/services回车,如果没有错误提示,则恭喜你,你的Web Service已经发布成功。
点击wsdl,还可以看到具体的wsdl的配置信息如下:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://127.0.0.1:8080/Webservice_Begin/services/executeTask" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://127.0.0.1:8080/Webservice_Begin/services/executeTask" xmlns:intf="http://127.0.0.1:8080/Webservice_Begin/services/executeTask" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)
-->
- <wsdl:message name="executeTaskListResponse">
<wsdl:part name="executeTaskListReturn" type="soapenc:string" />
</wsdl:message>
- <wsdl:message name="executeTaskListRequest">
<wsdl:part name="message" type="soapenc:string" />
</wsdl:message>
- <wsdl:portType name="HelloImpl">
- <wsdl:operation name="executeTaskList" parameterOrder="message">
<wsdl:input message="impl:executeTaskListRequest" name="executeTaskListRequest" />
<wsdl:output message="impl:executeTaskListResponse" name="executeTaskListResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="executeTaskSoapBinding" type="impl:HelloImpl">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="executeTaskList">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="executeTaskListRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://server.p2p.unis.com" use="encoded" />
</wsdl:input>
- <wsdl:output name="executeTaskListResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://127.0.0.1:8080/Webservice_Begin/services/executeTask" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="HelloImplService">
- <wsdl:port binding="impl:executeTaskSoapBinding" name="executeTask">
<wsdlsoap:address location="http://127.0.0.1:8080/Webservice_Begin/services/executeTask" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
第六步:创建WebService客户端测试类
/Webservice_Begin/test/com/unis/p2p/client/WebServiceTest.java
package com.unis.p2p.client;
import java.net.URL;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.junit.Test;
/**
* 类说明:Client端测试类,发出请求
* @author Posey 2010-12-17
*
*/
public class WebServiceTest {
@Test
public void testExecuteTask() throws Exception {
String res = "";
String ss = "ERR|2352|5683|2235|8428";
String[] str = ss.split("\\|");
String tempMsg = "";
for (int i = 1; i < str.length; i++) {
tempMsg += str[i] + ",";
}
tempMsg = tempMsg.substring(0, tempMsg.length()-1);
//调接口
res = this.executeTask("http://127.0.0.1:8080/Webservice_Begin/services/executeTask",
"executeTaskList",
new Object[]{ tempMsg });
System.out.println(res); //输出结果
}
//核心处理方法
private synchronized String executeTask(String url, String method, Object[] args) throws Exception {
// 创建Service实例
Service service = new Service();
// 通过Service实例创建Call实例
Call call = (Call) service.createCall();
// 将WebService的服务路径加入到Call实例中,并为Call设置服务的位置
URL webServiceUrl = new URL(url);
call.setTargetEndpointAddress(webServiceUrl);
// 调用WebService方法
call.setOperationName(method);
// 调用WebService传入参数
String result = (String) call.invoke(args);
return result;
}
}
第七步:Run As - JUnit Test,执行成功
输出结果:OK|调用成功! 2352,5683,2235,8428
分享到:
相关推荐
标题 "axis 开发webservice经典入门例子" 指向的是使用Apache Axis工具来创建和使用Web服务的基本教程。Apache Axis是开源的Java框架,它允许开发者轻松地在Java应用程序中构建和部署Web服务。本教程可能是为了帮助...
本篇文章将深入探讨如何使用Axis开发Web服务,并详细解释相关jar包的作用。 首先,让我们了解Web服务的基本概念。Web服务是一种通过互联网进行通信的应用程序,遵循W3C制定的SOAP(Simple Object Access Protocol)...
Axis2 WebService是一个开源的、基于Java的Web服务框架,由Apache软件基金会开发。它提供了构建和部署Web服务以及处理SOAP消息的强大工具。这个源码包可能是为了帮助开发者深入理解Axis2的工作原理,或者用于自定义...
本文档主要介绍了如何使用Eclipse和AXIS框架开发和发布Web服务,以及进行客户端测试。以下是详细步骤和关键知识点: 1. **Eclipse插件安装**: - Eclipse提供了Web服务开发的插件,可以从官方网站下载WTP(Web ...
在Java世界中,Spring框架以其强大的灵活性和可扩展性,被广泛用于构建企业级应用程序。当我们需要在Spring项目中提供Web服务时,Axis2是一个常用的工具,它是一个高效的Web服务引擎,支持SOAP 1.1和1.2,以及...
【标题】中的“基于axis2实现的webservice简单实现(客户端+服务端)”表明了本文将探讨如何使用Apache Axis2框架来创建和消费Web服务。Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了高效且灵活的...
标题中的“Axis和WebService配置使用之Hello”表明我们将探讨如何在Java环境中使用Axis库来创建和使用Web服务,实现一个简单的“Hello World”示例。 Axis是一个开源的Java SOAP(简单对象访问协议)工具包,它允许...
Axis 是 Apache 组织开发的 Java WebService 工具包,它简化了 WebService 的开发过程。Axis 支持 SOAP 1.1 和 1.2,以及 WSDL 1.1 标准,允许开发者快速创建服务端和客户端代码。 ### 3. Axis 服务端实现 - **...
本文将深入探讨如何利用Axis开发WebService,以及相关的技术要点。 首先,了解WebService的基础概念是至关重要的。WebService是一种基于开放标准(如XML、WSDL和SOAP)的互联网应用程序,它能够跨平台、跨语言地...
本指南主要针对使用AXIS开发和消费Web服务的初级开发者,涵盖AXIS的基本概念、环境搭建、服务生成与调用等关键环节。 **1.3 词汇和缩略语** - **WebService**: 一种基于互联网的、可互相操作的软件服务。 - **AXIS*...
Web服务是一种基于开放标准的软件架构,允许不同系统之间的应用程序通过互联网进行通信,而Axis是实现这一目标的一个强大工具。 【压缩包子文件的文件列表】: 1. `xx.bat` - 这可能是一个批处理文件,用于自动化...
本文将深入探讨使用Axis2开发Web服务的相关知识点,包括Axis2的基础概念、环境搭建、服务创建与发布、Eclipse集成及详细教程。 1. Axis2基础概念: - Web服务:是一种通过HTTP协议进行通信的应用程序,使得不同...
标题“Java-tomcat-axis2开发webservice返回json数据”涉及的是使用Java、Tomcat服务器以及Axis2框架来创建Web服务,并返回JSON格式的数据。这是一个常见的技术组合,用于构建RESTful API或者提供服务化接口。下面...
在本实例中,我们将深入探讨如何使用Axis开发一个简单的"Hello World" WebService。这个教程是基于网上流行的一个文档,但原文档存在四处错误,我已经进行修正并经过Eclipse IDE的调试验证,确保其正确无误。 首先...
### Axis开发WebService实例知识点解析 #### 一、Axis概述与安装配置 - **Apache Axis简介**:Apache Axis是Apache组织提供的一个开源项目,用于在Java环境中实现WebService技术规范。它支持SOAP协议,并提供了...
AXIS发布WebService是一个在IT行业中常见的任务,尤其在企业级应用集成或Web服务开发中扮演着重要角色。AXIS是一个开放源码的Java库,它提供了用于创建、部署和使用Web服务的工具和API。本篇文章将深入探讨AXIS如何...
【摘要】:本文档主要总结了使用Axis2框架开发Web服务的相关知识,包括Web服务技术介绍、开发流程、必要的开发前准备以及具体的开发实例。 【详细内容】: 1. **Web Service技术介绍** Web服务是一种基于互联网的...
Java Axis WebService 开发实例详解 在Java世界中,开发Web服务时,Axis是一个非常流行的开源工具,它允许开发者创建、部署和使用Web服务。本实例将深入探讨如何使用Axis来构建一个简单的Web服务,并进行调用。这个...
在IT行业中,Web服务是一种广泛使用的通信协议,它允许不同应用程序之间进行数据交换。Web服务的一个常见实现方式是使用Web Service Description Language (WSDL)来定义服务接口,以及Simple Object Access Protocol...
本文将深入探讨如何使用Spring与Axis进行集成,以便开发和消费Web服务。 首先,让我们了解Spring和Axis的基本概念。Spring是一个开源Java框架,它为构建灵活、模块化且可测试的应用程序提供了强大的支持。它包含多...