SpringBoot极简教程 · Spring Boot

Java使用Axis调用WebService

2019-03-18  本文已影响467人  LssTechnology
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();
        }
    }
}

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

希望对你有所帮助

上一篇下一篇

猜你喜欢

热点阅读