zoukankan      html  css  js  c++  java
  • AxisWebservice 发送多参数配置

    1、在web.xml中配置代码如下

    <servlet>
    <servlet-name>AxisServlet</servlet-name>
    <display-name>Apache-Axis Servlet</display-name>
    <servlet-class>
    org.apache.axis.transport.http.AxisServlet
    </servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/service/*</url-pattern>
    </servlet-mapping>

    2.在service-config.wsdd配置文件,配置如下


    <service name="webService" provider="java:RPC">  --配置的webservice的命名空间 web.xml中配置的service/webService (访问路径)
    <parameter name="allowedMethods" value="isAlive,save,sendt" /> --配置的时访问的方法名
    <parameter name="className" value="com.ai.qw.toptea.className" /> --方法所在的类,要求全限定名
    </service>

    3、客户端代码如下

    package com.ai.test;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    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.ser.BeanDeserializerFactory;
    import org.apache.axis.encoding.ser.BeanSerializerFactory;

    import com.ai.util.Address;

    public class WebServiceTest {
    public static void main(String[] args) {
    String url = "http://10.12.1.229/itsm3/service/ITSMTicketService";
    String method = "saveTicket";
    String idCard ="111222";

    String ticketInfo = "{}";
    Map map = new HashMap<String,String>();
    map.put("参数1", "132457");
    map.put("参数2", "taskw");
    map.put("参数3", "2017-9-2 12:32:21");
    map.put("ticketInfo", ticketInfo);
    map.put("参数4", "210");
    map.put("参数5", "12345648522");
    map.put("参数6", "4ae9f34b-e9a8-4f82-b86a-8c51d36ce70a");
    map.put("参数7", "-1");



    try {
    getWebServiceResult(url,method,map);
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }
    private static String getWebServiceResult( String url, String method, Map map) throws Exception{
    String rtnXml = null;
    try {
    String endpoint = url;
    Service service = new Service();
    Call call = (Call) service.createCall();

    call.addParameter(new QName("参数1"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);  --与参数顺序相对应
    call.addParameter(new QName("参数2"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);   --与参数顺序相对应
    call.addParameter(new QName("参数3"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);   --与参数顺序相对应
    call.addParameter(new QName("参数4"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);   --与参数顺序相对应

    call.addParameter(new QName("参数5"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);   --与参数顺序相对应
    call.addParameter(new QName("参数6"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);   --与参数顺序相对应
    call.addParameter(new QName("参数7"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);   --与参数顺序相对应
    call.addParameter(new QName("参数8"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); // 接口的参数

    call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型




    call.setUseSOAPAction(true);
    call.setTargetEndpointAddress(new java.net.URL(endpoint));
    call.setOperationName(method);
    // call.setReturnType(new QName("pid"));
    rtnXml = (String) call.invoke(new Object[]{
    map.get("参数1"),   
    map.get("参数2"),
    map.get("参数3"),
    map.get("参数4"),
    map.get("参数5"),
    map.get("参数6"),
    map.get("参数7"),
    map.get("参数8")});


    } catch (Exception e) {
    e.printStackTrace();
    }
    return rtnXml;
    }
    }

    注意:有一个错误弄了好久   缺少j这个ar包

    <!-- https://mvnrepository.com/artifact/javax.activation/activation -->
    <dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sun.org.apache/jaxp-ri -->
  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/xiaoyu1994/p/8511080.html
Copyright © 2011-2022 走看看