`
yingjun055
  • 浏览: 17480 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

axis实现webService--服务端+客户端

    博客分类:
  • WEB
阅读更多

一。程序结构


 
 

二。所需要的包:



 

三。编辑web.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
    <context-param>
       <param-name>contextConfigLocation</param-name>
       <!--tomcat启动时要读的文件-->
       <param-value>WEB-INF/beans.xml</param-value>
    </context-param>
    <listener>
       <listener-class>
           org.springframework.web.context.ContextLoaderListener
       </listener-class>
    </listener>
    <servlet>
       <servlet-name>CXFServlet</servlet-name>
       <display-name>CXF Servlet</display-name>
       <servlet-class>
           org.apache.cxf.transport.servlet.CXFServlet
       </servlet-class>
       <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
       <servlet-name>CXFServlet</servlet-name>
       <!--拦截地址--->
        <url-pattern>/service/*</url-pattern>
    </servlet-mapping>
</web-app>


四。beans.xml
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jaxws="http://cxf.apache.org/jaxws"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
  <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
    <!-- 定义一个bean  -->
    <bean id="hello" class="demo.spring.impl.HelloWorldImpl" />
    <!--  发布webservice implementor="#hello" 这个就是指的第一行定义的那个-->
    <jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" />
</beans>
五。HelloWorldImpl.java/HelloWorld.java/MyObject.java
package demo.spring;
import javax.jws.WebParam;
import javax.jws.WebService;
import entity.MyObject;

@WebService
public interface HelloWorld
{
    String stringInt(
      @WebParam(name="text",targetNamespace="http://spring.demo/") String text,
      @WebParam(name="num",targetNamespace="http://spring.demo/") String num
    );

    MyObject[] aryMyObjects(
      @WebParam(name="myObjects",targetNamespace="http://spring.demo/") MyObject[] myObjects
    );
}

package demo.spring.impl;
import javax.jws.WebService;
import demo.spring.HelloWorld;
import entity.MyObject;
@WebService
public class HelloWorldImpl implements HelloWorld
{
 public String stringInt(String text, String num)
   {
  System.out.print("stringInt called");
  return text+" too, "+num;
   }
 
   public MyObject[] aryMyObjects(MyObject[] myObjects)
   {
    MyObject[] ary=new MyObject[myObjects.length];
    for(int i=0;i<ary.length;i++)
    {
     ary[i]=new MyObject();
     ary[i].setId(myObjects[i].getId()+i);
     ary[i].setName(myObjects[i].getName()+" "+i);
    }
    return ary;
   }
}
package entity;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MyObject", propOrder = {
    "id",
    "name"
})
public class MyObject
{
    private int id;
    private String name;
    public int getId()
    {
     return id;
    }
    public void setId(int id)
    {
     this.id = id;
    }
    public String getName()
    {
     return name;
    }
    public void setName(String name)
    {
     this.name = name;
    }
}


。。。。。。~~OK~~服务端搞定,用tomcat启动webserviceTest。
在IE里面输入http://localhost:8080/service/HelloWorld?wsdl
可以看到



 

就说明服务端对了。
现在可以用客户端来测试:
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class ClientTest
{
 public static void main(String[] args)
 {
  testClient();
 }
 
 public static void testClient()
 {
  try
  {
   Service service = new Service();
   Call call = (Call) service.createCall();
   call.setTargetEndpointAddress("http://localhost:8080/service/HelloWorld?wsdl");
   //stringInt:服务端的方法名
   call.setOperationName(new QName("http://spring.demo/","stringInt"));
   //传值参数的定义
   call.addParameter(new QName("http://spring.demo/","text"), XMLType.XSD_STRING, ParameterMode.IN);
   call.addParameter(new QName("http://spring.demo/","num"), XMLType.XSD_STRING, ParameterMode.IN);
   call.setUseSOAPAction(true);
   //返回参数的类型
   call.setReturnType(XMLType.XSD_STRING);
   System.out.println(call.invoke(new Object[] {"i like you","forever"}));
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
 }
}

  • 大小: 137.8 KB
  • 大小: 174.9 KB
  • 大小: 24.6 KB
分享到:
评论

相关推荐

    基于axis2实现的webservice简单实现(客户端+服务端)。

    【标题】中的“基于axis2实现的webservice简单实现(客户端+服务端)”表明了本文将探讨如何使用Apache Axis2框架来创建和消费Web服务。Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了高效且灵活的...

    [JAVA]-Axis-Webservice-Demo

    2. 使用Axis发布服务:有了接口和实现后,使用Axis的`wsdl2java`工具生成服务端代码。这个工具会根据你的接口生成相应的ServerStub和服务部署文件。然后,将服务部署到Axis服务器上,通常是在Tomcat或Jetty等Servlet...

    axis生成webservice服务端和客户端详细说明及实例

    Axis为开发者提供了便捷的工具来创建和使用Web服务,无论是服务端的搭建还是客户端的调用,都能通过简单的命令和代码实现。通过理解WSDL文件,你可以更好地理解Web服务的结构和交互方式。在实际项目中,灵活运用Axis...

    axis2 webservice 实例(包括服务端代码及客户端代码)

    在服务端,开发者通常会创建一个服务类,该类实现了特定的业务逻辑,并通过Axis2的注解或配置文件暴露为Web服务。而在客户端,代码可能包括了调用这些服务的方法,使用SOAP(简单对象访问协议)或其他HTTP方法与...

    java版WebService生成客户端和服务端的实例

    本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端。 首先,让我们理解WebService的基本概念。WebService是一种基于HTTP协议的网络服务,它通过SOAP(Simple Object Access ...

    java期末大作业课程设计基于springboot+axis的医院挂号预约系统源码+数据库.zip

    客户端用springboot实现,服务端用webService+axis+mybatis实现 java期末大作业课程设计基于springboot的医院挂号预约系统源码+数据库。 软件架构说明 服务端:WebService+axis+mybatis 服务端开发环境:jdk8,...

    springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口

    总结,本教程详细介绍了如何利用Spring Boot和Apache CXF搭建Web Service服务端,以及使用JAX-WS的`javax.xml.ws.Service`和Apache CXF的`JaxWsProxyFactoryBean`两种方式实现Java客户端调用。这些技能对于开发者来...

    【java项目整合Axis1.4webservice搭建实例】服务端代码

    总结,通过 Axis1.4 搭建Java Web服务服务端,开发者可以轻松地将业务逻辑封装成Web服务,实现跨平台的交互。理解并熟练掌握这一过程,对于Java开发者来说是非常重要的技能。在实际项目中,可以根据具体需求进行调整...

    Axis实现webservice完整实例

    本实例将详细介绍如何使用 Axis 实现 WebService 的服务端和客户端。 ### 1. WebService 基础 WebService 是基于开放标准(如 WSDL、SOAP 和 UDDI)的分布式计算模型,使得不同系统之间的数据交换变得简单。WSDL...

    webservice项目客户端和服务端

    在这个项目中,我们关注的是WebService客户端和服务端的实现,特别是使用了Axis2框架。 Axis2是Apache软件基金会开发的一个开放源码的Web服务平台,用于构建和部署Web服务。它提供了高级的消息处理机制和多种协议...

    AXIS1.4webservice服务端和客户端例子

    在这个"AXIS1.4 WebService服务端和客户端例子"中,我们将深入探讨如何使用AXIS1.4搭建服务端和客户端,以及如何进行远程调用。 首先,让我们从服务端开始。服务端是提供Web服务的系统,它可以接收客户端的请求并...

    java-webservice-axis-例子

    - 服务端的Java接口类和实现类:定义了Web服务的操作和其实现。 - wsdd文件:服务端和服务端的配置文件,描述服务的元数据。 - 客户端的wsdd文件:客户端的配置文件,描述如何连接到服务。 - 构建脚本(如build....

    axis.jar,axis-saaj-1.4.jar

    2. **Web服务服务器端实现**: Axis支持动态Web服务发布,可以从Java类或接口直接生成服务端代码,简化了服务端开发过程。 3. **SOAP处理**: Axis处理SOAP(简单对象访问协议)消息,这是Web服务之间通信的标准...

    AXIS入门指南-webservice

    AXIS支持WSDL第一类公民,意味着可以直接从WSDL文件生成客户端和服务端代码。 ### 3. 建立开发环境 **3.1 基本环境** 首先,你需要安装Java Development Kit (JDK)和Apache Tomcat服务器,这两个是开发AXIS ...

    axis2实现webservice

    ### Axis2实现WebService知识...通过以上步骤,可以实现一个完整的基于Axis2的WebService应用,包括服务端的发布和客户端的调用。这为开发者提供了一个清晰的指南,帮助他们更好地理解和使用Axis2进行WebService开发。

    axis开发JAX-RPC webservice

    不过,通过提供的博文链接(已无法直接访问),我们可以推测这篇博客可能详细介绍了如何使用Axis来开发和部署JAX-RPC WebService,包括设置环境、编写服务接口和实现、生成服务客户端代码等步骤。 **标签解析:** ...

    WebService------AXIS

    3. **自动代码生成**:AXIS可以从WSDL(Web服务描述语言)文件自动生成客户端和服务端的Java代码,大大简化了开发过程。 4. **丰富的支持库**:AXIS提供了对多种协议和标准的支持,如SOAP、HTTP、HTTPS、MTOM...

    java使用axis开发webservice服务端和客户端简单例子

    访问地址: http://127.0.0.1:8080/axis/services

    webService-Axis-tomcat发布教程.docx编程资料

    ### WebService-Axis-Tomcat 发布教程详细解析 #### 一、准备工作 在开始发布 WebService 之前,首先需要完成一系列的准备工作。 ##### 1. 安装 Axis - **下载 Axis 包**:访问 Apache Axis 的官方网站 ...

    AXIS WebService 例子 + 分布讲解 + 完整项目

    AXIS提供了一种机制来捕获和处理服务端或客户端可能出现的异常,并将这些异常以SOAP Fault的形式返回给调用者。 8. **完整项目**:这个压缩包中的完整项目可能是从创建Web服务到测试和调试的整个流程,包括服务端...

Global site tag (gtag.js) - Google Analytics