Axis实现 web service接口开发 + 客户端调用

看到网上挺多人找webservice axis开发案例,但是网上较多的都是有点乱,初学者不太容易看得懂,所以最近看到自己终于有了点空闲时间,就上传了一份比较简单的webservice axis的完整案例。

只适用于初学者。

一、新建一个web项目

  1. 导入lib包。

2.配置 web.xml

<!-- axis 配置 -->
  <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-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
</servlet-mapping>

3.然后在项目中的src下创建包,再在包下创建一个类,用来提供web service接口。

package com;
public class HelloWorld {
    public String sayHello(String msg){
        if(null==msg || "".equals(msg)){
            return "您好!";
        }else{
            return "您好" + msg + "!";
        }
    }
    public int sayAge(){
        return 28;
    }
}

4.配置 server-config.wsdd文件。

<!-- deployment 表明这是一个axis部署描述文件 -->
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <!-- axis提供的一个web service服务。service标签中parameter allowedMethod用于指定一个以空格分隔的方法名,
                           只有这些方法可以通过web service访问。也可以将这个值指定为“*”表示所有的方法都可以访问。-->  
    <service name="axisEm" provider="java:RPC">  
        <!-- 指定类名 -->  
        <parameter name="className" value="com.HelloWorld" />  
        <!-- 类中允许访问的方法 -->  
        <parameter name="allowedMethod" value="*"></parameter>  
        <!-- 命名空间 -->
        <namespace>http://xml.apache.org/axis/wsdd/</namespace>
        <parameter name="scope" value="Application"/>
    </service>  
    <!-- 服务器端的传输方式. 指定处理器 -->  
    <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
    <transport name="http">  
        <requestFlow>  
            <handler type="java:org.apache.axis.handlers.http.URLMapper"/><!-- 引用上边的 -->  
        </requestFlow>  
    </transport>  
</deployment>

5.运行该项目,访问http://localhost:8080/axisTest/services/axisEm?wsdl

如果报错,则返回项目检测配置是否有问题等,成功则会得到wsdl文档。

二、客户端调用

package com.test;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class webTest {
    public static void main(String[] args) {
        String _newendPoint = 
                "http://localhost:8080/axisTest/services/helloWorldService?wsdl";
        String _newNameSpace = "http://xml.apache.org/axis/wsdd/";
        try {
            Service service = new Service();
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(new java.net.URL(_newendPoint));
            call.setOperationName(new QName(_newNameSpace, "sayHello"));
            String s = (String) call.invoke(new Object[] { "st001" });
            System.out.println(s);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

案例下载地址:http://down.51cto.com/data/2220274

时间: 2024-12-09 07:20:58

Axis实现 web service接口开发 + 客户端调用的相关文章

Axis2实现 web service接口开发 + 客户端调用

一. 新建一个web项目, 1.打开axis2.war包,将conf,lib,modules三个文件夹复制到项目的WEB-INF文件夹下,再在WEB-INF目录下新建一个services文件夹,然后在services文件下新建一个文件夹(任意取名): 再新建META-INF文件夹,最后再新增services.xml,接口信息就写在这里面. 具体路径:WEB-INF/services/myservice/META-INF/services.xml 2.配置 web.xml .加载axis2 和 a

Web Service接口开发流程(转)

1.  设计数据库物理结构(可能体现为TABLE). 2.  设计数据库的逻辑结构(可能为VIEW OR PROCEDURE). 3.  对VIEW OR PROCEDURE 等数据库对象进行授权. 4.  对数据库对象授权文档收集.(保证以后移动数据库时快速对数据库用户进行授权) 5.  设计业务类库. 6.  把业务类库函数的文档写到接口系统数据库以存档.(由系统自动生成函数的唯一ID号) 7.  根据函数的唯一ID号设计封装成Web Service接口. 8.  把接口系统数据库已存档的文

使用JAX-RS进行Web Service接口开发

一.服务器端 1.创建web项目,项目名称为 WS_Server 2.创建包,并在该包下创建TestService类: package com.test.webservice; public class TestService { public static final String TITLE = "此消息由WebService服务器端返回: "; public String test(String msg){ return TITLE + msg; } } 3.将TestServi

java中调用kettle作业以及生成web service 接口

第一步:(前提将kett中lib下的所有jar包拷贝到java项目lib目录)创建并连接资源库,如果只用这一个工作空间,可以将此段代码放入静态代码块,代码如下: KettleEnvironment.init(); //创建资源库对象,此时的对象还是一个空对象 KettleDatabaseRepository repository = new KettleDatabaseRepository(); //创建资源库数据库对象,类似我们在spoon里面创建资源库 //(数据库连接名称,数据库类型,连接

转:Web Service入门开发简单例子--很详尽

.net平台内建了对Web Service的支持,包括Web Service的构建和使用.与其它开发平台不同,使用.net平台,你不需要其他的工具或者SDK就可以完成Web Service的开发了..net Framework本身就全面支持Web Service,包括服务器端的请求处理器和对客户端发送和接受SOAP消息的支持.下来我们就一步一步的用Microsoft Visual Studio .net 2005(后面简称VS.NET 2005)创建和使用一个简单的Web Service. 2.

Web Service (四) 手动发布Web Service接口-CXF与Spring集成

当我们发布完Web Service接口之后有两种方式可以调用Web service服务,一种是通过动态客户端方式,另一种是引用服务端的接口,引用服务端接口的方式对于客户端同服务器端耦合比较大,而使用WSDL的方式客户端不知道服务端的存在就可以调用服务器的方法. 下面是项目的结构图: 1.Web Service发布项目 2.编写服务端接口类以及实现类,如下,同上一篇自动发布接口,多了一个注解@WebService package com.test.webservice; import javax.

Java通过Axis访问Web Service

在使用Axis访问Web Service时,需要引入以下包(10个):axis-ant.jar.axis.jar.commons-discovery-0.2.jar.commons-logging-1.0.4.jar.jaxrpc.jar.log4j-1.2.8.jar.saaj.jar.wsdl4j-1.5.1.jar.activation-1.1.jar和mail-1.4.jar. 下面是一段Java代码的例子: 1 package demo; 2 import javax.xml.name

通过ajax访问Tomcat服务器web service接口时出现No &#39;Access-Control-Allow-Origin&#39; header问题的解决办法

问题描述 通过ajax访问Web服务器(Tomcat7.0.42)中的json web service接口的时候,报以下跨域问题: XMLHttpRequest cannot load http://localhost:8080/get-employees-by-name/name/admin. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhos

免费的天气Web Service接口

免费的天气Web Service接口 在android应用当中很多时候需要获取天气的信息,这里提供怎么获取天气信息: 1. http://www.ayandy.com/Service.asmx?wsdl 官网:http://www.ayandy.com 2. http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 网站:http://www.webxml.com.cn/zh_cn/index.aspx ,此网站提供各种web