Java使用Axis调用WebService

作者: LssTechnology | 来源:发表于2019-03-18 21:09 被阅读467次
    1、WebService的实现方式

    Webservice是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。 据我所知WebService最常见的实现方式有主要AXIS、CXF及XFire比较多,这里是我用AXIS直接实现不使用wsdl的实例

    2、实例

    先导入需要的jar包
    链接: https://pan.baidu.com/s/1H1iB_qUP9NPKXwbK_AfEWA 提取码: x7yj
    将axis.jar、commons-discovery-0.2.jar、commons-logging-1.0.4.jar、jaxrpc.jar、wsdl4j-1.5.1.jar导入java项目中
    接下来就十分简单了

    package com.lss.service;
    
    import lombok.extern.slf4j.Slf4j;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.encoding.XMLType;
    import java.net.URL;
    
    @Slf4j
    public class WebService {
        public void requestService(){
            try {
                Service service = new Service();
                Call call = (Call)service.createCall();
                String endpoint = "http://203.23.12.1:8010/webService"; // 命名空间
                call.setTargetEndpointAddress(new URL(""));
                call.setOperationName("request"); // 需要请求的方法
                call.addParameter("param1", XMLType.SOAP_STRING, ParameterMode.IN);  // 入参
                call.addParameter("param2", XMLType.SOAP_STRING, ParameterMode.IN);  // 入参
                call.addParameter("param3", XMLType.SOAP_STRING, ParameterMode.IN);  // 入参
                String param1 = "";  // 参数
                String param2 = "";  // 参数
                String param3 = "";  // 参数
                call.setReturnType(XMLType.SOAP_STRING);  // 设置返回值
                String result = "";
                result = (String) call.invoke(new Object[] {param1, param2, param3}); // 调用获取返回值
                log.info("请求结果:{}", result);
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
    

    按上述请求获取返回值即可

    希望对你有所帮助

    相关文章

      网友评论

        本文标题:Java使用Axis调用WebService

        本文链接:https://www.haomeiwen.com/subject/mrfimqtx.html