`

axis调用webservice相关工具类

阅读更多
1、axis调用webservice的方法
public static String getUnionCicWebserviceResult(String URL,String nameSpaceURL, String webMethod,Object[] params) {
                        org.apache.axis.client.Service s = new org.apache.axis.client.Service();
                        Call call;
                        String val = "";
                        try {
                                    call = (Call) s.createCall();
                                    call.setTargetEndpointAddress(new java.net.URL(URL));
                                    call.setOperationName(new QName(nameSpaceURL, webMethod));
                                    for (int i = 0; i < params.length; i++) {
                                                call.addParameter("arg" + i,org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);// 此处参数名字必须为arg0,arg1形式
                                    }
                                    call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
                                    val = (String) call.invoke(params);
                        } catch (javax.xml.rpc.ServiceException e) {
                                    e.printStackTrace();
                                    return val;
                        } catch (MalformedURLException e) {
                                    e.printStackTrace();
                                    return val;
                        } catch (RemoteException e) {
                                    e.printStackTrace();
                                    return e.getMessage();
                        }
                        return val;
            }
2、解析webservice返回的xml格式的方法
/**
             * 解析华西联合门诊返回的xml字符串
             * @param xmlStr
             * @return Map<String,Object>
             */
            @SuppressWarnings("unchecked")
            public static Map<String,Object> getUnionCicResponseMap(String xmlStr) {
                        Document doc = null;
                        Map<String,Object> map = new HashMap<String, Object>();
            try {
                                                doc = DocumentHelper.parseText(xmlStr);
            // 将字符串转为XML
            Element rootElt = doc.getRootElement();
            List<Element> childElements = rootElt.elements();
                        for (Element ele:childElements) {
            //                     if("acknowledgement".equals(ele.getName())){
                                                //解析xml格式标签中的属性
                                                List attrList = ele.attributes();
                                                for (int i = 0; i < attrList.size(); i++) {
                                                    Attribute item = (Attribute)attrList.get(i);
                                                    map.put(item.getName(), item.getValue());
                                                }                       
            //                     }
                                                            map.put(ele.getName(), ele.getStringValue());
                                                }
            } catch (DocumentException e) {
                        map.put("typeCode", "AE");
                        map.put("acknowledgement", e.getMessage());
                        e.printStackTrace();
                        return map;
            }
        return map;
    }
3、将数据库查询结果封装为json格式
StringBuilder sb = new StringBuilder();
                                                // 拼装病人信息
                                                for (int i = 0; i < inofList.size(); i++) {
                                                            sb.append("{");
                                                            final Set<String> keys = inofList.get(i).keySet();
                                                            for (final String key : keys) {
                                                                        final Object value = inofList.get(i).get(key);
                                                                        sb.append("\"");
                                                                        sb.append(key);
                                                                        sb.append("\"");
                                                                        if (value != null || !"null".equals(value)) {
                                                                                    sb.append(":\"");
                                                                                    sb.append(value);
                                                                                    sb.append("\",");
                                                                        } else {
                                                                                    sb.append(":\"\",");
                                                                        }
                                                            }
                                                            sb.setCharAt(sb.length() - 1, '}');
                                                            sb.append(",");
                                                }
                                                sb.setCharAt(sb.length() - 1, ' ');
                                                json = "{\"status\":1,\"info\":[" + sb + "]}";
分享到:
评论

相关推荐

    Java Axis 直接调用webservice 接口工具类

    Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;

    Android axis调用Webservice

    `AndroidWebService`可能是Android客户端项目,包含Android应用的代码,如Activity、Adapter、布局文件等,以及调用Web Service的相关类。`TestWebService`可能是一个测试项目,用于测试服务端的功能是否正常。 ...

    详解axis调用webservice实例

    标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...

    利用AXIS调用webservice所需JAR包

    本篇文章将深入探讨如何利用AXIS调用WebService,以及所需的JAR包及其作用。 首先,理解AXIS的基本概念至关重要。Apache Axis是Apache软件基金会开发的一个开源项目,它是一个用于构建Web服务和客户端的工具集。...

    axis调用webservice实例,包含jar包

    在描述中提到,“客户端用axis调用webservice实例”,意味着这个压缩包包含了完成该任务所需的Java类和资源。这通常包括配置文件、必要的库文件(jar包)以及可能的示例代码。开发者可以通过导入这些jar包到他们的...

    java axis 调用webservice服务端

    Java Axis调用WebService服务端是Java开发者在进行分布式系统交互时常见的一种技术实践。Axis是Apache软件基金会开发的一个开源项目,它提供了一种方便、高效的方式,使得Java应用程序能够作为客户端来消费或作为...

    AXIS2远程调用WebService示例(Eclipse+AXIS2)工具和所用包.rar

    AXIS2远程调用WebService是Java开发者在进行分布式服务交互时常用的一种技术。本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这...

    axis2发布webservice和调用axis2服务接口

    1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web服务接口。这个类通常会遵循SOAP协议,定义服务操作。例如,你可以创建一个名为`HelloWorldService`的类,包含一个`sayHello`...

    java 通过axis调用天气预报的webservice

    标题中的“Java通过Axis调用天气预报的WebService”是指使用Java编程语言,通过Apache Axis库来访问和使用公开的天气预报Web服务。Apache Axis是一个开放源码的SOAP(简单对象访问协议)工具包,它允许开发者创建和...

    使用axis轻松调用Webservice

    标题“使用axis轻松调用Webservice”涉及到的是在IT领域中如何通过Apache Axis工具来便捷地与Web服务进行交互。Apache Axis是一个开放源代码的Java框架,它允许开发者创建、部署和使用Web服务。这个标题暗示了我们将...

    axis2客户端调用webService接口,精简jar包

    本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注如何精简所需的jar包。 首先,了解Axis2客户端的基本概念是至关重要的。Axis2客户端是用于与远程Web服务交互的工具,它允许开发者通过SOAP...

    axis2调用webservice接口jar包

    2. **创建Stub**:调用WebService接口通常需要通过Stub(代理类)进行,这可以通过Axis2的wsdl2java工具生成。该工具会根据WebService的WSDL(Web Service Description Language)文件生成Java客户端代码。在命令行...

    最实用的axis调用webService接口所需的jar包和案例

    确保这些jar包在项目的类路径中,才能正确地使用Axis调用WebService接口。 三、调用流程 1. 创建代理对象:首先,根据WSDL文件生成Java服务代理类。可以使用Axis的wsdl2java工具,或者直接在Eclipse等IDE中导入WSDL...

    使用axis调用WebService服务端

    总之,使用Axis调用WebService服务端是一个涉及接口定义、服务部署、客户端代码生成和执行的过程。理解这些步骤,以及如何处理可能出现的问题,对于任何需要集成Web服务的项目都是至关重要的。在实际开发中,熟练...

    java axis调用第三方webservice程序demo

    在Java中使用Axis调用Webservice,首先需要引入必要的库文件。这些库通常包括axis.jar、axis-wsdl4j.jar、commons-discovery.jar、commons-logging.jar、jaxrpc.jar和wsdl4j.jar等。这些库包含了处理SOAP消息、解析...

    spring+axis集成webservice

    1. **设置环境**:确保你的开发环境中已经安装了Java JDK、Maven(或Gradle)构建工具,以及Apache Axis和Spring框架的相关依赖。这些可以通过在项目的pom.xml文件中添加相应的依赖来完成。 2. **创建Web服务**:...

    axis2webservice接口例子

    - 创建并使用Axis2的客户端,生成Stub类,调用远程服务。 - 理解SOAP消息的结构和HTTP传输机制。 - 掌握异常处理和日志记录在Web服务开发中的应用。 通过这个例子,开发者能够深入理解Web服务的工作原理,以及如何...

    Spring集成axis2实现webservice所用到的包

    1. **配置Axis2**:在Spring项目中,首先需要将Axis2的相关库添加到项目的类路径下。这些库通常包括`axis2-*.jar`, `axiom-*.jar`, `neethi-*.jar`, `wsdl4j-*.jar`, `commons-discovery-*.jar`, `commons-logging-*...

    java axis 调用 .net webservice 短信收发

    Java Axis可以通过这个WSDL文件自动生成客户端 stubs(代理类),使得我们可以直接调用WebService的方法。 2. **生成Java客户端代码**:使用Axis的wsdl2java工具,根据.WSDL文件生成Java客户端代码。这将包括一系列...

    Java动态调用webService,axis2动态调用webService

    本文将深入探讨如何使用Axis2来动态地调用Web Service,并通过分析`WebServiceInvoker.java`这个文件来理解其实现原理。 1. **Java动态调用Web Service**: 在Java中,动态调用Web Service主要涉及到JAX-WS(Java ...

Global site tag (gtag.js) - Google Analytics