`

AXIS2数据解析和封装

 
阅读更多

一、解析示例:

 public Senddividendstrategy senddividendstrategy(OMElement in) {
        Senddividendstrategy svs = null;
        try {
            svs = EbsServiceImp.checkDataByOMElement(in);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return svs;
    }

    public static Senddividendstrategy checkDataByOMElement(OMElement element) throws AxisFault, Exception {
        Senddividendstrategy s = null;
        if (element != null) {
            Calendar cal = Calendar.getInstance();
            SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
            String mDateTime = formater.format(cal.getTime());
            List<Senddividendstrategy> sList = new ArrayList<Senddividendstrategy>();
            Senddividendstrategy svs = null;
            Iterator iteClient = element.getChildElements();
            while (iteClient.hasNext()) {
                OMNode omNodeClient = (OMNode) iteClient.next();
                if (omNodeClient.getType() == 1) {
                    OMElement omeClient = (OMElement) omNodeClient;
                    if (omeClient.getLocalName().toLowerCase().equals("sparams")) {
                        Iterator iteTParam = omeClient.getChildElements();
                        while (iteTParam.hasNext()) {
                            OMNode omNodeTParam = (OMNode) iteTParam.next();
                            if (omNodeTParam.getType() == 1) {
                                OMElement omeTParam = (OMElement) omNodeTParam;
                                if (omeTParam.getLocalName().toLowerCase().equals("sparam")) {
                                    svs = (Senddividendstrategy) BeanUtil.processObject(omeTParam, Senddividendstrategy.class, null, true, new DefaultObjectSupplier());
                                    sList.add(svs);
                                }
                            }
                        }
                    }
                }
            }
            s = senddividendstrategyCal(sList);
        }
        return s;
    }

 二、封装示例:

1、
    /**
     * 测试
     * @param statistic
     * @param userId
     * @return
     */
    public static String sendDataDfzwByOMElement() {
        targetEPR = new EndpointReference("http://192.168.10.227/ebsService/services/ebsService?wsdl");
        // 创建request SOAP包
        OMFactory fac = OMAbstractFactory.getOMFactory();
        // OMNamespace指定此SOAP文档名称空间
        OMNamespace om = fac.createOMNamespace("http://service.eee.shun.com", "client");
        // 创建元素,并指定其在om指代的名称空间中,元素名必须跟services.xml重大operation的name相同
        OMElement method = fac.createOMElement("senddividendstrategy", om);
        OMElement root;
        OMElement svsListOmElement;
        List<Senddividendstrategy> svsList = new ArrayList<Senddividendstrategy>();
        try {
            Senddividendstrategy s = new Senddividendstrategy();
            for (int i = 0; i < 10 ; i++) {
                s.setDividend_date("1");
                s.setCompany_code("2");
                s.setEquity_note_number("3");
                s.setDividend_line_number(Long.valueOf(4));
                s.setAssign_type_code("5");
                s.setAssign_source("6");
                s.setSegment3("7");
               
                s.setAmount(Long.valueOf(8));
                s.setCash_amount(Long.valueOf(9));
                s.setCash_proportion(Long.valueOf(10));
                s.setCash_person_proportion(Long.valueOf(11));
                s.setCapital_source("12");
                s.setCapital_amount(Long.valueOf(13));
                s.setCapital_proportion(Long.valueOf(14));
               
                s.setCapital_person_proportion(Long.valueOf(15));
                s.setEquity_category("16");
                s.setEquity_properties("17");
                s.setReduce_tax_amount(Long.valueOf(18));
                s.setStart_date("19");
               
                s.setManager_type("20");
                s.setProcess_startus("21");
                s.setData_status("22");
                s.setX_msg_data("23");
                s.setX_return_status("24");
               
                svsList.add(s);
            }
            root = fac.createOMElement("root", null);
            svsListOmElement = BeanUtil.getOMElement(new QName("sparams"), svsList.toArray(), new QName("sparam"), false, null);
            root.addChild(svsListOmElement);
            method.addChild(root);
           
            Options options = new Options();
            options.setTo(targetEPR);
            ServiceClient sender = new ServiceClient();
            sender.setOptions(options);
            // 发出request SOAP
            // 同时将得到的远端由senddividendstrategy方法返回的信息保存到result
            // 通过services.xml能准确找到senddividendstrategy方法所在的文件
            sender.sendReceive(method);
            String filePath = "E:\\ebs.xml";
            writeToFile(filePath, method);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }


2、
    //创建response SOAP包
            OMFactory fac = OMAbstractFactory.getOMFactory();
            //OMNamespace指定此SOAP文档名称空间
            OMNamespace omNs = fac.createOMNamespace("http://service.eee.shun.com", "service");
            //创建元素SafetyTrouble返回给客服端的元素,并指定其在omNs指代的名称空间中
            OMElement resp = fac.createOMElement("line-service", omNs);
            OMElement root = fac.createOMElement("root", null);
           
            ReturnOutParameter rop = new ReturnOutParameter();
            List<ReturnOutParameter> ropList = new ArrayList<ReturnOutParameter>();
            OMElement ropListOmElement;
           
            rop.setX_return_status(x_return_status);
            rop.setX_msg_data(x_msg_data);
            ropList.add(rop);
           
            //添加消息信息
            ropListOmElement = BeanUtil.getOMElement(new QName("rparams"), ropList.toArray(), new QName("rparam"), false, null);
            root.addChild(ropListOmElement);
            resp.addChild(root);
           
            return resp;

 

分享到:
评论

相关推荐

    axis2完整jar

    11. **axis2-metadata-1.4.jar**:这个JAR文件包含了Axis2的元数据处理,用于处理Web服务的描述和类型信息。 12. **axis2-jaxws-1.4.jar**:Axis2 JAX-WS模块提供了对JAX-WS规范的支持,使得开发人员可以创建符合WS...

    axis2-1.6.4源码

    2. **服务(Service)**:服务是 Axis2 的基本构建块,它封装了业务逻辑。通过源码,我们可以看到服务的生命周期管理,包括加载、启动、停止和卸载等过程。 3. **消息处理器(Message Processor)**:这是 Axis2 ...

    axis2 源代码

    Axis2 是基于Axis1构建的,但设计上进行了许多改进,例如引入了更模块化的设计,使得 Axis2 更加灵活,支持多种传输协议(HTTP、JMS等)和数据格式(SOAP、REST、XML、JSON等)。源代码的学习可以帮助开发者了解这些...

    axis2介绍详细文档

    Axis2的SOAP引擎是其核心组件之一,负责处理SOAP请求和响应,包括解析SOAP消息、调用相应的服务端点以及生成SOAP响应。 三、安全性和可靠性 Axis2提供了一系列的安全特性,包括消息级别的安全(如使用WS-Security...

    verilog实现axis接口读写I2C,代码中包含master/slave两部分

    4. **从设备(Slave)部分**:从设备部分接收来自I2C总线的信号,并将其解析为AXIS接口的数据。这涉及对I2C信号的同步、解码地址和数据,并在AXIS接口上生成相应的TVALID和TDATA信号。 5. **代码结构**:Verilog...

    axis2-1.5.1

    3. **服务和消息引擎**:Axis2的服务引擎负责处理SOAP消息,而消息引擎则管理消息的生命周期,包括接收、解析、处理和发送。 4. **部署模型**:Axis2支持多种部署方式,如WAR(Web应用归档)部署、AAR(Axis2应用...

    axis2 soap技术

    Axis2在Java平台上提供了强大的功能和灵活性,使得开发人员能够轻松地实现复杂的Web服务。 #### 二、SOAP技术介绍 SOAP(Simple Object Access Protocol)是一种轻量级协议,用于交换结构化的和与平台无关的信息。...

    java 实现 axis2 webservice

    将生成的AAR文件上传到Axis2服务器的`/services`目录下,Axis2会自动解析并部署服务。然后,你可以通过浏览器访问`http://yourserver:port/axis2/services/EmployeeManagerService?wsdl`来查看服务的WSDL(Web ...

    axis数据传输,上传下载

    生成的客户端代码会封装SOAP消息的构建和解析,使得调用Web服务如同调用本地方法一样简单。 5. 错误处理和安全性: 在实现文件传输时,需要注意错误处理,比如文件不存在、权限问题、网络中断等。此外,为了确保...

    AXIS2客户端调用实例

    为了提高性能,AXIS2提供了MTOM和SwA支持,允许高效地传输二进制数据。此外,还可以通过缓存服务描述、使用线程池和调整传输层设置来进一步优化。 总结来说,AXIS2客户端调用实例涵盖了从服务引用、配置到实际调用...

    java调用webservice的axis2.jar包

    1. 使用最新版本:及时更新Axis2和其他依赖库,以获取最新的安全补丁和功能改进。 2. 错误处理:确保在调用服务时捕获异常,并提供适当的错误处理机制。 3. 性能优化:考虑使用MTOM和XOP优化大文件传输,减少网络...

    axis2调用WebService详细说明

    在本文档中,我们将详细介绍如何使用Axis2来发布和调用WebService服务。 对于Axis2程序包的下载,可以访问其官方网站:[http://ws.apache.org/axis2/](http://ws.apache.org/axis2/) 进行下载。需要注意的是,由于...

    axis2-1.6.2-src 官方源码包

    Axis2是Apache Axis的第二代产品,它设计的目标是提供一个更轻量级、模块化且高性能的平台,用于构建和部署Web服务。与上一代相比,Axis2增强了并发处理能力,优化了消息处理流程,并引入了服务组件模型(Service ...

    WebService axis2使用说明

    **WebService与Axis2详解** 1. **WebService** WebService是一种基于开放标准(如SOAP、WSDL和...理解并熟练掌握WebService和Axis2,对于开发和部署分布式服务至关重要,同时,控制权限是保证服务安全的重要一环。

    axis2-eclipse-codegen-wizard-1.4.zip

    6. **支持多种协议和数据格式**:Axis2 支持 SOAP、REST、WS-* 规范等多种通信协议,并能处理 XML、JSON 等数据格式。代码生成向导会根据 WSDL 文件中的定义生成相应支持的代码。 7. **部署和运行**:生成的代码...

    axis2-1.8.2完整包

    2. **SOAP处理**:Axis2对SOAP 1.1和1.2提供全面支持,能够解析和生成SOAP消息。它还支持SOAP与HTTP、SMTP等多种传输协议的绑定。 3. **WS-*支持**:Axis2实现了许多Web服务标准,如WS-Security(安全)、WS-...

    axis2创建webservice操作手册.doc

    综上所述,本文档详细介绍了WebService的基本概念、工作原理以及如何使用Axis2框架构建WebService服务器和客户端。对于初学者来说,掌握这些知识是非常重要的,有助于更好地理解和应用这项技术。

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

    Axis2是Apache软件基金会开发的一个高效、灵活且可扩展的Web服务框架,它基于SOAP(简单对象访问协议)和WSDL(Web服务描述语言)。本教程将深入探讨如何使用Axis2搭建Web服务以及进行客户端测试。 首先,我们需要...

    AXIS1全套JAR包

    AXIS1全套JAR包是针对AXIS 1版本...总之,AXIS1全套JAR包是Java Web服务开发的重要工具,包含了一整套处理SOAP通信和WSDL解析的类库,对于需要维护或构建基于AXIS1的Web服务的开发者来说,这是一个必不可少的资源集合。

    axis2-1.6.0-src.zip

    3. **消息引擎**:Axis2的消息引擎处理SOAP消息的解析和生成,支持MTOM和SwA(SwA是指SOAP with Attachments,用于在SOAP消息中传输二进制数据)优化,以提高性能和减少网络流量。 4. **Transport机制**:Axis2支持...

Global site tag (gtag.js) - Google Analytics