`
jyangzi5
  • 浏览: 212316 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Axis webservice实例

阅读更多

今天参考网上的资料实践了axis下的webservice实例,经过自己的整理和理解,在此与各位分享。

1。创建java工程: AxisWebservice

2。配置 web.xml 

  

   

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">

	<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>/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>
</web-app>

 3.创建服务类 HelloWorld

 

package com.chnic.webservice;

public   class  HelloWorld {    
    
    public  HelloWorld(){            
   }        
    public  String hello(String str){    
        return   "Hello "  + str;    
   }       
    public   int  add( int  a,  int  b){    
        return  a + b;    
   }          
}  

 

4.编写部署文件 deploy.wsdd

 

 

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java = "http://xml.apache.org/axis/wsdd/providers/java" >    
     <!--HelloWorld为webservice的名字,java:RPC为服务类型,  -->   
     <service   name = "HelloWorld"   provider = "java:RPC" >  
     
        <!--参数className指定具体的类  -->  
         <parameter   name = "className"   value = "com.chnic.webservice.HelloWorld" />
         
         <!-- 此参数定义允许调用的方法,*号表示所有public方法 -->    
         <parameter   name = "allowedMethods"   value = "*" />         
    </service >    
</deployment >  

 5.webservice发布

     将项目部署好之后启动tomcat,在地址栏输入http://127.0.0.1:9091/Axis/servlet/AxisServlet,如果能看到两个webservice服务,Axis自带的两个默认的服务,说明部署成功,此时还是第一步,下面开始发布自己的服务,运行cmd,切换目录至WEB-INF下,运行命令(这里以我的目录为例 ),这期间tomcat必须处于启动状态。

D:\workspace\AxisWebservice\WebContent\WEB-INF>java -Djava.ext.dirs=lib org.apac
he.axis.client.AdminClient -lhttp://127.0.0.1:9091/Axis/servlet/AxisServlet depl
oy.wsdd

 如若看到  

Processing file deploy.wsdd
<Admin>Done processing</Admin>

两行文字,则说明自定义服务发布成功,在地址栏输入http://127.0.0.1:9091/Axis/servlet/AxisServlet,会看到多了一个自己定义的服务。

 

6.客户端调用类 AxisClient

 

package com.chnic.webservice.client;

import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;

import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class AxisClient {
	
	
public static void main(String []arg)
{

	String targetEndPoint="http://127.0.0.1:9091/Axis/services/HelloWorld";
	Service ser=new Service();
	try {
		Call call=(Call)ser.createCall();
		call.setTargetEndpointAddress(targetEndPoint);
		// call.setOperationName(new  QName(targetEndPoint,  "hello" )); 
		call.setOperation("hello" ); 
		String result=(String)call.invoke(new Object[]{new String("xiaowu")});
		System.out.println("result="+result);	
		call.setOperation("add");
		int addResult=(Integer)call.invoke(new Object[]{new Integer(1),new Integer(2)});
		System.out.println("addResult="+addResult);
	} catch (ServiceException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	catch (RemoteException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
}

}

 

7.执行main方法,当返回

 result=Hello xiaowu
addResult=3

则说明调用成功,一个简单的webservice例子至此完毕,有不足的地方敬请谅解,多多留言指出。

详细的项目内容我放在了附件里,方便大家下载。

分享到:
评论
2 楼 ziliang871118 2010-10-23  
刚才那个问题 我调整了环境变量,就可以编译成功了
看到 

Processing file deploy.wsdd
<Admin>Done processing</Admin>


但最后运行客户端又报如下错误:

看到 

AxisFault
faultCode: {http://xml.apache.org/axis/}Server.NoService
faultSubcode:
faultString: The AXIS engine could not find a target service to invoke!  targetService is HelloWorld


能帮下忙啊嘛?
1 楼 ziliang871118 2010-10-23  
你好

我在这一步

1.D:\workspace\AxisWebservice\WebContent\WEB-INF>java -Djava.ext.dirs=lib org.apac  
2.he.axis.client.AdminClient -lhttp://127.0.0.1:9091/Axis/servlet/AxisServlet depl  
3.oy.wsdd 


报错 java.lang.NoClassDefFoundError org.apache.axis.client.AdminClient

请问可能是什么问题呢?

相关推荐

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

    axis webService实例

    标题“axis webService实例”指的是使用Apache Axis框架创建和使用Web服务的一个具体示例。Apache Axis是Java平台上的一个开源工具,它允许开发者通过简单的API快速构建和部署Web服务。这个实例可能是为了教学或者...

    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