`

深入研究AXIS实例

阅读更多
自定义对象类的传递

package webservicedemo;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

public class CmsBean {
    private String name = "";
    private int userid=0;

    public String getName() {
        return name;
    }

    public void setName(String name){
       this.name=name;
    }


   public int getUserid(){
          return userid;
   }

   public void setUserid(int userid){
         this.userid=userid;
   }

}
以上是自定义用户类



package webservicedemo.bean;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

import webservicedemo.CmsBean;
public class ServerBean {
    private int count=0;
    public ServerBean() {
    }
    public static void main(String[] args) {
        ServerBean serverBean1 = new ServerBean();
        /*CmsBean temp=new CmsBean();
        temp.setName("abcd");
        temp.setUserid(7);
        serverBean1.showCmsBean(temp);*/

        CmsBean tmp=serverBean1.getBean();
        System.out.println("#########"+(tmp.getUserid()));
        System.out.println("#########"+(tmp.getName()));
    }

   public CmsBean getBean(){
       CmsBean temp=new CmsBean();
       temp.setName("abcd");
       temp.setUserid(8888);
       return temp;
   }

   public int showCmsBean(CmsBean cmsbean){
          count++;
          System.out.println("#########"+(cmsbean.getUserid()));
          System.out.println("#########"+(cmsbean.getName()));
          return count;
   }

}

以上是服务器端程序代码


package webservicedemo.bean;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

import org.apache.axis.AxisFault;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.utils.Options;
import org.apache.axis.encoding.XMLType;

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

import webservicedemo.CmsBean;

public class ClientBean {
    public ClientBean() {
    }
    public static void main(String[] args) {
        ClientBean clientBean1 = new ClientBean();
        try{
             //clientBean1.sendServer();
             clientBean1.getServer();
        }catch (Exception e){
               e.printStackTrace();
        }
    }

   public void getServer() throws Exception{
       String endpoint="http://localhost/axis/services/ServerBean";
       Service  service = new Service();
       Call  call    = (Call) service.createCall();
       call.setMaintainSession(true);
       QName    qn      = new QName( "urn:CmsBean", "CmsBean" );
       call.registerTypeMapping(CmsBean.class , qn,
                     new org.apache.axis.encoding.ser.BeanSerializerFactory(CmsBean.class, qn),
                     new org.apache.axis.encoding.ser.BeanDeserializerFactory(CmsBean.class, qn));

       call.setTargetEndpointAddress( new java.net.URL(endpoint));
       call.setOperationName( new QName("ServerBean", "getBean") );

      call.setReturnType(new QName("ServerBean", "getBean"));
      CmsBean result=(CmsBean)call.invoke( new Object[] {});
      System.out.println("#########"+(result.getUserid()));
      System.out.println("#########"+(result.getName()));
  }

   public void sendServer() throws Exception{
          String endpoint="http://localhost/axis/services/ServerBean";
          CmsBean tmp=new CmsBean();
          tmp.setName("abcd");
          tmp.setUserid(168);


          Service  service = new Service();
          Call  call    = (Call) service.createCall();
          call.setMaintainSession(true);

          QName    qn      = new QName( "urn:CmsBean", "CmsBean" );

          call.registerTypeMapping(CmsBean.class , qn,
                        new org.apache.axis.encoding.ser.BeanSerializerFactory(CmsBean.class, qn),
                        new org.apache.axis.encoding.ser.BeanDeserializerFactory(CmsBean.class, qn));

          call.setTargetEndpointAddress( new java.net.URL(endpoint));
          call.setOperationName( new QName("ServerBean", "showCmsBean") );
          call.addParameter( "arg1", qn, ParameterMode.IN);

         call.setReturnType(XMLType.XSD_INT);
         Integer result=(Integer)call.invoke( new Object[] {tmp});
         System.out.println(result.intValue());

         result=(Integer)call.invoke( new Object[] {tmp});
         System.out.println(result.intValue());

   }
}

以上为客户端程序代码

<service name="ServerBean" provider="java:RPC">
<!--<requestFlow>
   <handler type="authen"/>
  </requestFlow>-->
  <parameter name="allowedRoles" value="*"/>
  <parameter name="className" value="webservicedemo.bean.ServerBean"/>
  <parameter name="scope" value="session"/>

<beanMapping qname="ns:CmsBean" xmlns:ns="urn:CmsBean" languageSpecificType="java:webservicedemo.CmsBean"/>

</service>

以上为服务器端配置文件
其中qname="ns:CmsBean"  声明的是
- <wsdl:message name="getBeanResponse">
  <wsdl:part name="getBeanReturn" type="tns1:CmsBean" />
  </wsdl:message>
WEB服务的自定义数据类型


xmlns:ns="urn:CmsBean"声明的是
- <wsdl:definitions targetNamespace="http://localhost/axis/services/ServerBean" xmlns:impl="http://localhost/axis/services/ServerBean" xmlns:intf="http://localhost/axis/services/ServerBean" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns1="urn:CmsBean" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">

名称空间
分享到:
评论

相关推荐

    axis webService实例

    6. **源码分析**:如果提供了源码,可以深入研究如何将业务逻辑封装到Java类中,以及如何使用Axis的相关API将其转换为Web服务。 7. **文档理解**:文件“axis_webservice说明文档.doc”可能包含了关于如何运行实例...

    Axis WebService 实例源码

    【标题】"Axis WebService 实例源码"的解析与详解 在IT行业中,Web服务是一种重要的技术,它允许不同的应用程序之间通过网络交换数据。...通过深入研究这个实例,开发者可以更好地理解和掌握基于Java的Web服务开发。

    Web Service Axis完整的实例

    Web服务(Web Service)是一种基于互联网的、采用标准XML(Extensible Markup Language)进行通信的软件模块...通过研究这个实例,你可以深入理解Web服务的工作原理,以及如何利用Axis1.4工具有效地开发和调用Web服务。

    axis2入门实例

    **标题:“Axis2入门实例”** 在IT领域,特别是Web服务开发中,Apache Axis2是一个广泛应用的SOAP(简单对象访问协议)...通过深入研究提供的源代码和实践操作,你可以掌握使用Axis2构建和使用Web服务的基本技能。

    webservice axis1.4服务实例

    通过对这些文件的研究和实践,你可以深入理解如何使用Axis1.4搭建和使用Web服务。 总结起来,Apache Axis1.4是一个强大的工具,可以帮助开发者轻松创建、部署和使用Web服务。通过学习和掌握Axis1.4,你可以更好地...

    Axis2范例,对象传输

    **标题解析:** "Axis2范例,对象传输" 指的是使用Apache Axis2框架进行Web服务开发的一个示例项目,重点在于演示如何通过Axis2传输...通过深入研究这个范例,开发者可以掌握使用Axis2进行服务开发和调用的基本技能。

    web service axis 总结文档 相关实例说明

    本文档将对Web Service Axis进行详细总结,并提供相关实例说明。 1. Web Service简介 Web服务是通过HTTP协议传输数据的一种方式,它利用SOAP(Simple Object Access Protocol)作为消息传输格式,WSDL(Web ...

    Axis2三种配置文件

    标题中的“Axis2三种配置文件”指的是在使用Apache Axis2,一个流行的开源Web服务引擎时,需要理解的三种...通过深入研究源码、使用合适工具以及理解这些配置文件的作用,开发者可以构建出健壮且高效的Web服务系统。

    基于Axis2的WebService的实例demo(包含jar包)

    本实例将深入讲解如何使用Axis2来创建一个简单的WebService,并将其整合到Web项目中。 1. **Axis2介绍** Axis2是Axis1的升级版,它基于Apache SOAP项目,并提供了更多的特性,如更好的模块化结构、支持WS-*标准...

    webservice axis2服务搭建以及测试实例

    本教程将深入探讨如何使用Axis2搭建Web服务以及进行客户端测试。 首先,我们需要理解Web服务的基本概念。Web服务是一种通过HTTP协议提供和消费的API,通常使用SOAP或RESTful风格。SOAP是一种XML消息规范,用于在...

    Axis Demo SOA

    【标题】"Axis Demo SOA" 是一个...通过深入研究这些内容,你将具备使用Apache Axis开发和管理SOA服务的能力,能够将服务解耦,提高系统的灵活性和可扩展性。同时,实战练习将帮助你更好地将理论知识应用于实际项目中。

    Axis1.4相关jar包及配置

    了解这些基本概念和流程后,开发者可以深入研究Axis1.4的高级特性,如WS-I兼容性、安全配置、消息传输优化等。同时,由于Axis1.4是较旧的版本,对于新的Web服务标准和实践,比如RESTful API、WS-Security等,开发者...

    axis2源码下载~

    深入学习和理解Axis2的源码可以帮助开发者更好地控制Web服务的行为,实现更高效的Web服务开发。通过对源码的研究,我们可以了解到Axis2如何处理消息、如何管理服务生命周期以及如何与其他Web服务标准交互。这对于Web...

    axis1.0例子,可以运行。

    Axis是Apache组织开发的一款开源Web服务框架,...通过深入研究这个Axis1.0的实例,开发者不仅可以了解Web服务的基本工作原理,还能掌握使用Java实现Web服务的关键步骤,这为后续开发更复杂的Web服务项目打下坚实基础。

    webservice发布包axis2

    Web服务(Web Service)是一种基于互联网的、采用标准XML(Extensible Markup Language)进行通信的...开发者可以通过研究这些文件,深入理解Web服务的工作原理和开发流程,提升在分布式系统集成和跨平台通信中的技能。

    Axis2完美例子Demo

    【标题】"Axis2完美例子Demo"所涉及的知识点主要集中在 Axis2 和 Web服务开发上。Axis2 是一个流行的开放源代码Web服务引擎,用于构建和...对于想要深入理解Web服务和Axis2框架的人来说,这是一个非常有价值的资源。

    axis2实现webservice请求

    通过研究和运行这个 DEMO,你可以更深入地理解 Axis2 如何工作,并学习如何将其应用于自己的项目。 总的来说,Axis2 是一个强大的工具,为开发者提供了在 Java 平台上实现 WebService 请求的便利。理解其工作原理和...

    axis1.4服务端

    Axis1.4是Apache软件基金会开发的一个开源SOAP(简单对象访问协议)框架,主要用于构建Web服务。这个框架基于Java,允许开发者将...通过实践和研究Axis1.4,开发者可以深入理解Web服务的工作原理,提升自己的技能水平。

    axis web Service

    2. **示例客户端**:演示如何使用Axis生成客户端代码并调用发布的Web服务,这通常包括从WSDL生成客户端存根、实例化客户端对象及调用服务方法。 3. **配置文件**:可能包含axis2.xml或服务特定的配置文件,这些文件...

    MyEclipse下开发Web Service(Axis)

    ### MyEclipse下开发Web Service(Axis)...最后,对于希望进一步探索Web Service技术栈的开发者,建议深入研究SOAP协议、WSDL规范以及与之相关的安全性、事务处理机制等内容,以提升自身在企业级应用开发领域的竞争力。

Global site tag (gtag.js) - Google Analytics