`
橄榄绿
  • 浏览: 277171 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web service——axis

 
阅读更多

一、服务器端

1、首先创建一个web项目,修改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">
  <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>
</web-app>

 

2、创建server-config.wsdd文件(与web.xml放在同一级目录下)

<?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">     
  
<globalConfiguration>   
  <parameter name="sendMultiRefs" value="true"/>   
  <parameter name="disablePrettyXML" value="true"/>   
  <parameter name="dotNetSoapEncFix" value="true"/>   
  <parameter name="enableNamespacePrefixOptimization" value="false"/>   
  <parameter name="sendXMLDeclaration" value="true"/>   
  <parameter name="sendXsiTypes" value="true"/>   
  <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>   
</globalConfiguration>   
  
  <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>      
  <service name="Math.ws" provider="java:RPC"> 
     <!-- 控制类名称 -->     
     <parameter name="className" value="server.manager.MathAction"/>     
     <parameter name="scope" value="request"/>
     <!-- 方法名 --> 
     <parameter name="allowedMethods" value="getResult"/>
     <namespace>http://xml.apache.org/axis/wsdd/</namespace>
     <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>   
  </service>      
  <transport name="http">      
     <requestFlow>      
        <handler type="URLMapper"/>      
     </requestFlow>      
  </transport>      
</deployment>  

 3、接口类MathService.java与实现类MathServiceImpl.java

MathService.java

package server.ws;

public interface MathService{
	
	public String MathResult(int a,int b);
}

 MathServiceImpl.java

package server.ws.impl;

import server.ws.MathService;

public class MathServiceImpl implements MathService {

	public String MathResult(int a,int b) {
		return "和为:" + (a+b)+"差为"+(a-b);
	}
}

 4、控制层MathAction.java

package server.manager;

import server.ws.MathService;
import server.ws.impl.MathServiceImpl;

public class MathAction {

	public String getResult(int a,int b){
		MathService ms = new MathServiceImpl();
		return ms.MathResult(a, b);
	}
}

 二、客户端调用

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.commons.discovery.Resource;

public class TestClient {

	
	public static void main(String[] args) {
		TestClient test = new TestClient();
		
		try {
			// 指出service所在URL
			String serverUrl = "http://192.168.9.24:8080/WebService/services/Math.ws?wsdl";

			// 创建一个服务(service)调用(call)

			Service service = new Service();

			Call call;

			call = (Call) service.createCall();
			// 通过service创建call对象

			// 设置service所在URL

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

			// 方法名与Service里的方法名保持一致

			call.setOperationName("getResult");

			// Object 数组封装了参数
			String ret = (String) call.invoke(new Object[] { 5,6 });
			System.out.println(ret);
		} catch (Exception e) {
			System.out.println("网站已关闭!!!网站正在升级之中");
			e.printStackTrace();
		}
	}

}

  所需要的jar包在下面附件里

  • 大小: 21.1 KB
分享到:
评论

相关推荐

    MyEclipse下开发Web Service(Axis)

    接下来,通过一个简单实例——SayHello服务,了解使用Axis开发Web Service的全流程。 **2.1 WSDL编写** - 在MyEclipse中创建一个Web Project,命名为`SayHello`。 - 通过`File -&gt; New -&gt; Other -&gt; MyEclipse -&gt; ...

    webServices学习之一——axis1实现helloWorld

    这个工具会从WSDL(Web Service Description Language)文件生成必要的Java代码。如果你没有WSDL文件,可以使用 Axis1 提供的 `wsdl2java` 命令行工具,根据你的Java类自动生成WSDL文件。 部署Web服务到服务器,这...

    Java远程通信技术——Axis实战.doc

    【Java远程通信技术——Axis实战】 在互联网时代,网络通信技术是软件开发不可或缺的一部分。TCP/IP和UDP/IP作为底层传输协议,承载了大部分网络数据,而HTTP协议则在此基础上提供了超文本传输。Java中,有多种远程...

    搭建Axis WebService

    接下来,我们进入Axis的核心部分——创建Web服务。以下是一步一步的指南: 1. **安装和配置Axis**:首先,你需要从Apache官方网站下载最新版本的Axis。解压后,将Axis的bin目录添加到你的系统PATH环境变量中,以便...

    axis实现的web service例子

    这个“axis实现的web service例子”提供了一个完整的示例,包括服务端和客户端两部分,方便开发者快速集成到自己的项目中。 首先,我们来理解服务端部分——`WebServiceServerByAxis`。这部分主要展示了如何使用...

    J2EE Web Service

    ### J2EE Web Service的核心理念——互操作性 J2EE Web Service的核心价值在于互操作性,即不同系统之间能够相互通信和协作的能力。这种互操作性不仅限于不同的J2EE应用服务器品牌,还包括与非J2EE平台(如.NET ...

    Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务 - ImportNew1

    【Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务】 Web Service是一种基于标准协议的,用于不同系统间交换数据的技术。SOAP(Simple Object Access Protocol)是Web Service常用的一种通信协议,它定义了...

    axis2学习——开发自定义的axis2服务

    标题中的“axis2学习——开发自定义的axis2服务”表明了本文主要涉及Apache Axis2框架,这是一个用于构建Web服务和SOA(Service-Oriented Architecture)应用的开放源码平台。Axis2允许开发者创建、部署和管理服务,...

    axis的eclispe插件axis的eclispe插件

    首先,我们关注的两个压缩文件名——"axis2-eclipse-codegen-wizard.zip"和"axis2-eclipse-service-archiver-wizard.zip",分别对应了Axis2在Eclipse中的两个重要工具: 1. **Axis2 Eclipse Codegen Wizard**: 这个...

    Web+Services发布与调用(axis,xfire).doc

    《Web服务发布与调用——Axis与XFire详解》 Web服务是互联网上应用程序之间进行交互的一种标准方式,它允许不同系统之间的数据交换,跨越不同的操作系统、编程语言和网络架构。在本文中,我们将深入探讨两种流行的...

    晚餐预定系统——Web Service大作业

    学习“基于互联网的计算”时Web Service布置的大作业,作业需求见“web service作业2013”文档。要求中推荐Java搭配axis,但根据个人技术背景,我选择的是Apache2.2+PHP5.3+MySQL5.5。 应用的功能很简单。但个人...

    Java RPC通信机制之SOAP:应用Apache Axis进行Web Service开发

    以下是使用Apache Axis进行Web Service开发的关键步骤: 1. **创建服务**: 开发者首先定义Java接口和服务实现,这些接口描述了可供远程调用的方法。然后,使用Axis工具,这些接口和实现可以被转换成SOAP服务。 2. ...

    通向架构师的道路(第十天)之Axis2_Web_Service(一).

    【通向架构师的道路(第十天)之Axis2_Web_Service(一)】 在软件开发领域,架构师的角色至关重要,他们需要对技术栈有深入理解,包括如何选择适合的工具和框架来构建高效、可扩展的系统。在本文中,我们将探讨通向...

    Web+Services发布与调用.doc

    文档"Web+Services发布与调用.doc"详细介绍了如何使用两种不同的工具——Axis和XFire来发布和调用Web Services。 **发布Web Service** 1. **准备工作** - **新建工程**:创建一个新的Java项目,这是所有开发工作...

    Axis Of Soap

    【Axis of Soap】这篇文章主要介绍了Apache组织的SOAP引擎——Axis,以及如何利用Axis来开发Web服务。SOAP(Simple Object Access Protocol)是一种基于XML的通信协议,最初由微软和Userland Software提出,现已成为...

    基于Spring的远程访问与Web Service

    标题与描述中提到的主题是“基于Spring的远程访问与Web Service”,这涉及到Spring框架在企业级应用中的关键特性——即其支持多种远程服务调用的方式,包括但不限于RMI、HTTP Invoker、Hessian、Burlap、JAX-RPC以及...

    myeclipse中Axis2插件

    本文将详细介绍在MyEclipse中使用Axis2插件——axis2-eclipse-codegen-wizard和Axis2_Service_Archiver,以及如何利用这两个工具来简化Web服务的开发过程。 首先,我们来看"axis2-eclipse-codegen-wizard"。这是一...

Global site tag (gtag.js) - Google Analytics